API de SumUp: documentación, SDK, webhooks, integraciones y ejemplos

La API de SumUp permite conectar sus servicios de pago con una web, una aplicación, un ecommerce, un software de gestión o incluso un TPV desarrollado a medida. El problema es que SumUp no ofrece una única vía de integración: hay REST API, Checkout, SDK, OAuth, Cloud API y soluciones específicas para Tap to Pay.

Por eso, antes de empezar a programar conviene decidir qué necesitas realmente. No tiene sentido desarrollar una integración completa si un Hosted Checkout, un plugin o un enlace de pago resuelve el mismo problema con menos mantenimiento. Aquí vas a encontrar esa diferencia explicada con ejemplos prácticos y pensando en un negocio que utiliza SumUp desde España.

Recomendamos SumUp para cobrar con tarjeta
SumUp permite aceptar pagos con tarjeta desde un datáfono o directamente desde el móvil, sin cuota mensual con su plan Pago por uso. Paga un 1,49 % por transacción presencial y elige el dispositivo que mejor encaje con tu negocio.
Ver datáfonos SumUp
API de SumUp
API de SumUp

Resumen rápido

  • La API REST de SumUp permite trabajar con pagos, checkouts, clientes, transacciones, recibos, payouts y otros recursos.
  • Para integrar pagos online puedes usar Hosted Checkout, Payment Widget o la Checkout API, según cuánto quieras personalizar el proceso.
  • SumUp ofrece SDK oficiales de servidor para JavaScript/TypeScript, PHP, Python, Java, Go, Rust y .NET.
  • Si la integración pertenece únicamente a tu comercio, normalmente utilizarás una API Key. Si otros comercios van a conectar sus cuentas a tu aplicación, entra en juego OAuth 2.0.
  • Las integraciones presenciales pueden requerir además una Affiliate Key, que identifica la integración pero no sustituye la autenticación.
  • Para controlar un SumUp Solo desde un software propio existe Cloud API.
  • Tap to Pay tiene una arquitectura específica: en Android utiliza un SDK separado, mientras que en iOS forma parte del SDK correspondiente.
  • Puedes desarrollar y probar primero con un entorno sandbox, sin procesar transacciones reales.
  • Si trabajas con WooCommerce, Shopify u otra solución ya compatible, comprueba primero si realmente necesitas desarrollar contra la API.

Qué es la API de SumUp y para qué sirve

Cuando hablamos de la API de SumUp, en realidad estamos hablando de un ecosistema de herramientas para desarrolladores que permite conectar SumUp con sistemas externos.

La plataforma SumUp puede utilizarse sin tocar una sola línea de código, pero la API abre otras posibilidades: crear pagos desde un backend, consultar transacciones, conectar un ecommerce personalizado o hacer que un software de caja envíe una operación a un lector físico.

La clave está en no meter todas esas posibilidades en el mismo saco.

Si quieres hacer estoLo más lógico es investigar
Cobrar online con poco desarrolloHosted Checkout
Insertar el pago dentro de tu webPayment Widget
Controlar el flujo desde tu backendREST API + SDK
Crear una plataforma para varios comerciosOAuth 2.0
Conectar un software con SumUp SoloCloud API
Cobrar directamente con un móvil compatibleTap to Pay SDK
Usar SumUp con WooCommerceIntegración para WooCommerce
Usar SumUp con ShopifyIntegración con Shopify

SumUp utiliza una API REST con intercambio de datos en JSON. Su referencia técnica se encuentra dentro de SumUp Developer y utiliza como URL base https://api.sumup.com.

Documentación oficial de SumUp Developer

Consejo práctico: decide primero qué experiencia quieres ofrecer al cliente. Después elige la herramienta. Empezar directamente por los endpoints suele complicar un proyecto que podría resolverse con bastante menos código.

Te puede interesar SumUp en WooCommerce y WordPress: cómo integrarlo, configurarlo y cuánto cuesta

Cómo empezar con la API de SumUp

Antes de crear el primer checkout necesitas preparar dos cosas: un entorno de pruebas y la autenticación adecuada.

SumUp permite crear un merchant sandbox para desarrollar y probar operaciones sin afectar a los datos normales ni procesar dinero real. Es el entorno que deberías utilizar mientras construyes la integración.

No pruebes directamente sobre producción solo porque el primer ejemplo de código parece sencillo. Los problemas importantes suelen aparecer precisamente en pagos rechazados, reintentos, estados pendientes o callbacks duplicados.

API Key, OAuth y Affiliate Key: no sirven para lo mismo

Esta distinción merece entenderse antes de programar.

CredencialCuándo encaja
API KeyTu servidor accede directamente a tu propia cuenta SumUp
OAuth 2.0Otros comercios conectan sus cuentas SumUp a tu aplicación
Affiliate KeyIdentifica determinadas integraciones de pagos presenciales

Una API Key secreta da acceso a la cuenta que la ha generado. Debe vivir exclusivamente en el servidor o en un gestor seguro de secretos.

Nunca la incrustes en:

  • JavaScript que se ejecuta en el navegador.
  • Una aplicación distribuida sin una arquitectura segura.
  • Un repositorio público.
  • Un ejemplo de GitHub.
  • Un archivo que termine accidentalmente en control de versiones.

SumUp recomienda OAuth cuando construyes una plataforma que deben autorizar otros merchants. Además, los permisos se controlan mediante scopes, por lo que conviene solicitar solamente los que realmente necesita la aplicación.

La Affiliate Key, por su parte, no autentica las llamadas a la API. Se utiliza en determinadas integraciones presenciales para identificar de dónde procede la operación y debe combinarse con el mecanismo de autorización correspondiente.

Qué puedes hacer con la REST API de SumUp

La API no se limita a “cobrar una tarjeta”. Hay distintas familias de recursos que permiten construir flujos bastante más completos.

Entre otras posibilidades, un desarrollo puede:

  • Crear y consultar checkouts.
  • Recuperar información sobre operaciones.
  • Consultar transacciones.
  • Trabajar con clientes e instrumentos guardados cuando el flujo lo permita.
  • Consultar payouts.
  • Recuperar datos relacionados con recibos.
  • Gestionar determinadas operaciones sobre lectores compatibles.
  • Procesar reembolsos mediante los mecanismos disponibles.

La referencia REST de SumUp es la que debes utilizar cuando necesites parámetros, respuestas, códigos HTTP y schemas concretos. Para una primera integración, sin embargo, intentar aprender todos los endpoints antes de decidir el flujo suele ser contraproducente.

La documentación debe funcionar como referencia técnica; tu arquitectura debe empezar por la necesidad del negocio.

Te puede interesar SumUp y Shopify: cómo integrar pagos y qué opciones existen

SumUp Checkout API: cómo funciona un pago online

La Checkout API es una de las partes más importantes para quien quiere integrar pagos online con SumUp.

Un checkout representa un intento de pago. Al crearlo defines información como:

  • referencia interna del pedido;
  • importe;
  • moneda;
  • merchant que recibirá el pago;
  • descripción;
  • callback, cuando corresponda.

Hay una distinción importante: crear el checkout no significa haber cobrado al cliente. El checkout se crea primero y después debe completarse mediante el flujo de pago correspondiente.

Ejemplo: crear un checkout de 25 €

Imagina que tienes un ecommerce y el pedido PEDIDO-1001 asciende a 25 €.

Una petición simplificada podría tener esta forma:

curl --request POST 'https://api.sumup.com/v0.1/checkouts' 
  --header 'Authorization: Bearer '"$SUMUP_API_KEY" 
  --header 'Content-Type: application/json' 
  --data '{
    "checkout_reference": "PEDIDO-1001",
    "amount": 25.00,
    "currency": "EUR",
    "merchant_code": "TU_MERCHANT_CODE",
    "description": "Pedido 1001",
    "return_url": "https://tu-dominio.es/webhooks/sumup",
    "hosted_checkout": {
      "enabled": true
    }
  }'

Los valores anteriores son un ejemplo hipotético. La API Key, el merchant code y la URL deben sustituirse por los datos correspondientes a tu proyecto.

Al habilitar Hosted Checkout, el flujo puede devolver una URL alojada por SumUp a la que redirigir al cliente para completar el pago.

Esta arquitectura tiene una ventaja importante: reduces la cantidad de lógica sensible relacionada con la captura de datos de pago que tiene que gestionar tu propia aplicación.

Hosted Checkout o Payment Widget

No existe una opción universalmente mejor.

Hosted Checkout tiene más sentido cuando quieres reducir la complejidad: creas el checkout y el usuario completa el pago en una página alojada por SumUp.

Payment Widget encaja mejor cuando quieres que el formulario forme parte visualmente de tu propia web.

Si tu objetivo es simplemente aceptar pagos online, revisa primero ambas alternativas antes de desarrollar una experiencia de checkout completamente personalizada.

Te puede interesar Enlaces de pago SumUp: cómo crearlos y cobrar por WhatsApp o SMS

SDK de SumUp: qué opciones tienes

No es obligatorio escribir manualmente todas las peticiones HTTP.

SumUp mantiene SDK de servidor que abstraen parte del trabajo habitual de autenticación y acceso a los recursos de la API.

Entre las opciones documentadas están:

LenguajeSDK
JavaScript / TypeScript@sumup/sdk
PHPsumup/sumup-php
Pythonsumup-py
JavaSDK Java de SumUp
Gosumup-go
Rustcrate sumup
.NETpaquete SumUp

También existe una herramienta CLI para interactuar con las APIs desde terminal.

Si buscas código fuente, ejemplos o paquetes mantenidos por el propio proveedor, conviene utilizar el GitHub oficial de SumUp y no repositorios de terceros que podrían estar abandonados.

SumUp en GitHub

Ejemplo de SumUp API con PHP

La intención sumup api php tiene sentido dentro de esta misma guía porque PHP sigue siendo habitual en ecommerce, WordPress y aplicaciones de negocio.

El SDK oficial puede instalarse mediante Composer:

composer require sumup/sumup-php

Una implementación simplificada para crear el checkout anterior podría partir de algo similar a esto:

<?php

require 'vendor/autoload.php';

use SumUpSumUp;

$sumup = new SumUp();

$checkout = $sumup->checkouts->create([
    'merchant_code' => getenv('SUMUP_MERCHANT_CODE'),
    'amount' => 25.00,
    'currency' => 'EUR',
    'checkout_reference' => 'PEDIDO-1001',
    'description' => 'Pedido 1001',
]);

echo $checkout->id;

La clave debería estar almacenada en una variable de entorno como SUMUP_API_KEY, no escrita directamente dentro del archivo PHP.

El ejemplo sirve para entender el flujo, pero una aplicación real necesita además gestionar excepciones, estados del pago, logs, reintentos y respuestas inesperadas.

Error común: confundir “he podido crear el checkout” con “el cliente ya ha pagado”. Son dos estados completamente diferentes.

Te puede interesar Tienda online SumUp: cómo crearla, precios y alternativas

Webhooks de SumUp: cómo enterarte de que cambia un pago

Consultar continuamente la API preguntando si un checkout ha cambiado de estado sería poco eficiente.

Para los checkouts online, SumUp documenta notificaciones mediante una return_url. Cuando se produce un cambio relevante, el servidor puede recibir una petición HTTP POST con información del evento.

El flujo correcto es, simplificando:

  1. Tu servidor crea un checkout.
  2. Incluyes una return_url.
  3. SumUp envía una notificación cuando cambia el estado.
  4. Tu endpoint responde rápidamente con un código 2xx.
  5. Tu servidor consulta después la API de SumUp para comprobar el estado real.
  6. Solo entonces actualizas el pedido en tu sistema.

Este último punto es especialmente importante.

Recibir el webhook no significa que debas marcar automáticamente el pedido como pagado. La propia documentación de SumUp indica que la aplicación debe verificar posteriormente el evento consultando la API.

Documentación oficial de webhooks de SumUp

Qué ocurre si tu servidor no responde

Las notificaciones pueden volver a enviarse cuando el endpoint no responde correctamente. Eso significa que tu código debe estar preparado para recibir un mismo evento más de una vez.

Aquí aparece otro concepto importante: idempotencia.

Imagina que recibes dos veces la notificación correspondiente al mismo checkout de 25 €. Tu aplicación no debería:

  • generar dos pedidos;
  • enviar dos veces el producto;
  • contabilizar dos ventas;
  • ejecutar dos procesos internos idénticos.

Antes de actuar, comprueba si ese pago ya ha sido procesado por tu sistema.

Te puede interesar Qué es un enlace de pago y cómo funciona

Cloud API: conectar SumUp Solo con tu propio software

Hasta aquí hemos hablado principalmente de pagos online. Pero una empresa también puede querer controlar un terminal físico desde su propio software.

Ahí entra Cloud API.

La integración permite conectar un sistema propio con un lector SumUp Solo y lanzar operaciones de pago desde el backend. SumUp también ofrece una modalidad Virtual Solo para probar determinados flujos sin disponer del lector físico.

Ejemplo práctico: un restaurante con TPV propio

Imagina un restaurante que utiliza un software desarrollado internamente.

Una mesa tiene que pagar 37,50 €.

En lugar de que el camarero escriba manualmente 37,50 € en el datáfono:

  1. El TPV calcula la cuenta.
  2. El backend inicia el checkout correspondiente.
  3. La operación llega al Solo asociado.
  4. El cliente paga en el terminal.
  5. El software recibe y comprueba el resultado.
  6. La mesa se cierra solamente cuando la operación ha terminado correctamente.

Es una integración muy diferente de un checkout web.

Cloud API no es “la API para cobrar online con un Solo”. Es una arquitectura para conectar un sistema con determinados lectores físicos compatibles.

También requiere prestar atención a la Affiliate Key y al método de autorización adecuado.

Tap to Pay SDK: cobrar directamente desde el móvil

Otra posibilidad es convertir un dispositivo compatible en terminal de cobro sin utilizar un lector físico independiente.

Puedes profundizar en el funcionamiento comercial, dispositivos y uso diario en nuestra guía de Tap to Pay de SumUp. Desde el punto de vista del desarrollo, lo importante es entender que no debe tratarse como si fuera simplemente otro endpoint de Checkout.

En Android, SumUp utiliza un SDK específico para Tap to Pay, separado del SDK destinado a lectores Bluetooth. En iOS, Tap to Pay on iPhone está integrado dentro del SDK de iOS.

Eso tiene consecuencias prácticas.

Antes de plantear la arquitectura debes comprobar:

  • sistema operativo;
  • compatibilidad del dispositivo;
  • requisitos de seguridad;
  • autenticación;
  • permisos requeridos;
  • disponibilidad para el mercado donde operará el negocio.

No fijaría una arquitectura a partir de una lista antigua de versiones de iOS o Android. En este tipo de integración es preferible consultar los requisitos técnicos oficiales durante el desarrollo.

Ejemplos de integraciones que puedes construir con SumUp

La mejor forma de entender el ecosistema es verlo mediante proyectos concretos.

Ecommerce desarrollado a medida

Si tienes una tienda completamente personalizada, puedes crear los checkouts desde tu backend y utilizar Hosted Checkout o Payment Widget para completar el pago.

Tiene sentido cuando necesitas controlar pedidos, referencias, inventario o lógica de negocio desde tus propios sistemas.

SaaS que conecta las cuentas SumUp de sus clientes

Imagina un software para centros de belleza o restaurantes que permite a cientos de negocios conectar su propia cuenta.

No sería razonable pedirles que te entregasen sus API Keys.

Ese es precisamente uno de los escenarios en los que OAuth 2.0 tiene sentido: cada merchant autoriza a tu aplicación y tú trabajas únicamente con los permisos concedidos.

Software de caja conectado con un terminal

Si tienes un POS propio y quieres que el importe llegue al lector sin introducirlo manualmente, Cloud API puede ser la vía a estudiar.

El software genera la operación; el terminal se ocupa del pago presencial.

App móvil con pagos presenciales

Dependiendo del dispositivo y del flujo, puedes estudiar:

  • SDK para lectores;
  • Tap to Pay;
  • herramientas específicas de iOS;
  • SDK específico de Tap to Pay en Android.

No deberías escoger el SDK solo por el lenguaje de la app. Primero decide qué hardware y experiencia de cobro necesitas.

Cuándo no merece la pena integrar directamente la API

Este es uno de los puntos que más dinero y horas de desarrollo puede ahorrarte.

Tener una API disponible no significa que debas utilizarla.

Si tu negocio funciona sobre una plataforma ya conocida, comprueba primero si existe una solución preparada. Por ejemplo, puedes revisar las opciones para integrar SumUp con WooCommerce o las posibilidades de usar SumUp con Shopify.

Lo mismo ocurre fuera del checkout. Si lo que buscas es conectar operaciones con tu contabilidad, resulta más lógico estudiar primero la integración entre SumUp y Xero que diseñar desde cero un conector contable completo.

Para necesidades todavía más sencillas, el desarrollo puede ser innecesario.

NecesidadAntes de crear una integración propia, valora
Cobrar a un cliente a distanciaEnlaces de pago de SumUp
Crear un ecommerce básicoTienda online de SumUp
WooCommercePlugin/integración disponible
ShopifyOpciones de integración existentes
Checkout web personalizadoAPI / SDK
SaaS para múltiples comerciosAPI + OAuth
POS propio con terminalCloud API

Consejo experto: no compares únicamente el coste inicial del desarrollo. Una integración propia también implica mantenimiento, cambios de API, control de errores, seguridad, pruebas y soporte cuando algo falla.

A veces la solución con menos código es también la mejor solución técnica.

Errores frecuentes al integrar la API de SumUp

Una API de pagos exige bastante más cuidado que una integración con un servicio de contenido convencional.

Estos son los errores que evitaríamos desde el principio.

1. Poner la API Key en el frontend

Una credencial secreta nunca debería viajar dentro del JavaScript público de una web.

Guárdala en el servidor y utiliza variables de entorno o un gestor de secretos.

2. Subir las credenciales a GitHub

Un .env incluido accidentalmente en el repositorio puede comprometer la cuenta.

Añádelo al .gitignore y utiliza secretos diferentes para desarrollo, pruebas y producción cuando la arquitectura lo permita.

3. Marcar el pedido como pagado tras una redirección

Que el usuario vuelva a /pedido-completado no demuestra por sí solo que el dinero se haya cobrado.

Comprueba el checkout desde el servidor.

4. Confiar ciegamente en el webhook

El webhook sirve para avisarte de que debes revisar algo.

No debería convertirse en una orden ciega de “entregar pedido”.

5. Procesar dos veces una notificación repetida

Diseña la lógica para poder recibir el mismo evento varias veces sin provocar duplicados.

6. Confundir Affiliate Key y API Key

La primera puede identificar una integración presencial.

La segunda autoriza llamadas a la API para una cuenta concreta.

No son sustitutas.

7. Utilizar API Keys de clientes en una plataforma multiusuario

Si estás construyendo una solución que conectarán otros negocios, estudia OAuth en lugar de almacenar secretos que pertenecen a cada merchant.

8. Desarrollar directamente en producción

Utiliza sandbox para simular tanto el camino feliz como los fallos.

No pruebes solo un pago correcto. Prueba también:

  • rechazo;
  • cancelación;
  • checkout pendiente;
  • callback duplicado;
  • respuesta lenta de tu servidor;
  • pérdida temporal de conexión;
  • datos inesperados.

9. Enviar datos de tarjeta por tu servidor sin necesidad

Para la mayoría de integraciones web resulta más sensato utilizar las soluciones de checkout proporcionadas por SumUp que asumir directamente el tratamiento de datos de tarjeta.

La gestión directa de esa información introduce obligaciones y riesgos de seguridad adicionales, incluido el marco PCI DSS.

10. No registrar correctamente lo que ocurre

Cuando un cliente diga “he pagado pero el pedido no aparece”, necesitarás reconstruir la operación.

Guarda identificadores útiles como:

  • referencia propia del pedido;
  • checkout ID;
  • estado consultado;
  • identificador de la transacción cuando exista;
  • momento de cada cambio.

Eso sí: logs útiles no significa logs llenos de información sensible.

Qué revisar antes de poner la integración en producción

Antes de procesar pagos reales, haríamos como mínimo esta comprobación:

  • La integración ha sido probada en sandbox.
  • Cada intento de pago utiliza una referencia inequívoca.
  • Las claves secretas solo existen del lado servidor.
  • Los permisos OAuth son los mínimos necesarios.
  • El sistema verifica el estado del checkout desde la API.
  • Los callbacks pueden recibirse varias veces sin duplicar pedidos.
  • Se han probado operaciones rechazadas y canceladas.
  • Los logs permiten investigar errores sin guardar información sensible.
  • Los SDK y dependencias utilizados proceden de fuentes oficiales.
  • La compatibilidad del hardware se ha comprobado para la integración elegida.
  • Los errores de red no dejan pedidos en un estado incoherente.
  • Producción utiliza sus propias credenciales y configuración.

Si estás desarrollando para un negocio real, esta parte importa bastante más que conseguir que el primer pago de prueba funcione.

¿API, SDK, Cloud API o integración preparada? Nuestra recomendación

La forma más sencilla de decidir es pensar en el problema antes que en la tecnología.

Si quieres cobrar online rápidamente, empezaría estudiando Hosted Checkout.

Si quieres el pago integrado visualmente en tu web, revisaría Payment Widget.

Si tu backend necesita controlar el proceso y consultar recursos, utilizaría la API directamente o uno de los SDK oficiales.

Si estás construyendo una plataforma que conectarán otros comercios, diseñaría la autorización alrededor de OAuth.

Si tienes un POS propio que debe enviar importes a un terminal, estudiaría Cloud API y SumUp Solo.

Si quieres que un móvil compatible actúe como terminal, revisaría la integración específica de Tap to Pay.

Y si utilizas un ecommerce o software que ya dispone de integración, no desarrollaría una API personalizada hasta demostrar que realmente hace falta.

Ese último punto suele olvidarse. La mejor integración no es la que tiene más código, sino la que resuelve el problema con seguridad, mantenimiento razonable y la menor complejidad necesaria.

Conclusión

La API de SumUp ofrece suficientes opciones para ir desde un checkout sencillo hasta una plataforma SaaS, una aplicación móvil o un POS conectado con un terminal. Precisamente por eso, el primer trabajo no debería ser escribir código: debería ser elegir bien la arquitectura.

Para un comercio pequeño puede bastar Hosted Checkout, un enlace de pago o una integración preparada. Una plataforma que conecta varios negocios probablemente necesitará OAuth. Un software de caja puede tener sentido con Cloud API. Y una app orientada al cobro presencial tendrá que estudiar los SDK y Tap to Pay.

Una vez tengas clara la parte técnica, conviene revisar también los precios y comisiones de SumUp. Que una integración sea técnicamente viable no significa automáticamente que sea la opción más adecuada para el volumen y modelo de negocio que tienes.

Seleccion Finantres

SumUp

¿Es SumUp el datáfono que necesita tu negocio?

Si buscas cobrar con tarjeta sin una cuota mensual obligatoria, SumUp merece estar entre tus opciones. Compara sus datáfonos, revisa cuánto pagarías en comisiones según tus ventas y elige la solución que mejor se adapte a tu actividad.

  • Compara los datáfonos y sus precios actuales
  • Calcula si te conviene Pago por uso o Pagos Plus
  • Consulta las ofertas disponibles antes de comprar
Ver ofertas de SumUp

Enlace de afiliado · Consulta precios, IVA, disponibilidad y condiciones vigentes antes de contratar.

Preguntas frecuentes

¿La API de SumUp tiene sandbox para hacer pruebas?

Sí. SumUp permite crear un merchant sandbox para desarrollar y probar una integración sin procesar pagos reales. Es la opción que recomendamos antes de pasar a producción, especialmente para probar pagos rechazados, cancelaciones, callbacks y estados inesperados además de operaciones correctas.

¿Puedo utilizar la API de SumUp con PHP?

Sí. SumUp dispone de un SDK oficial para PHP instalable mediante Composer con sumup/sumup-php. También ofrece SDK de servidor para JavaScript/TypeScript, Python, Java, Go, Rust y .NET, por lo que no necesitas implementar manualmente todas las llamadas HTTP.

¿Puedo controlar un datáfono SumUp desde mi propio software?

Sí, pero depende del lector y de la arquitectura elegida. Cloud API está orientada a integrar SumUp Solo con software externo, mientras que las aplicaciones móviles pueden utilizar SDK específicos para lectores o Tap to Pay. Conviene comprobar la compatibilidad antes de diseñar el POS alrededor de un modelo concreto.

Este artículo ha sido elaborado por Alejandro Valencia

↑ Volver arriba