Webhooks

Cómo funcionan los webhooks

Cómo entrega Tonder los webhooks, qué contiene el payload y por qué debes confirmar del lado del servidor.

Los webhooks son mensajes automáticos que Tonder envía cuando ocurren eventos de una transacción. En lugar de consultar la API repetidamente por cambios de estado, los webhooks te notifican en tiempo real en el momento en que algo sucede —un pago que se completa, falla o requiere autenticación adicional.

Eventos clave

Tipo de eventoDescripciónEjemplo de flujo
Cambios de estado del pagoActualizaciones en tiempo real conforme avanza el pagopendingauthorizedsuccess
Fallas de pagoCuando un pago es rechazado o fallapendingdeclined o failed
Autenticación 3DSCuando el usuario completa el reto 3D Securepending_3dssuccess o failed
Confirmación de pago en efectivoCuando el cliente paga un voucher OXXOpendingsuccess (al pagar en tienda)
Actualizaciones de retiroCambios de estado de los pagos salientesprocessingsuccess o failed

Estructura del payload (API Direct)

Los webhooks de API Direct usan un payload plano —todos los campos están en el nivel superior, sin un envoltorio data. Campos clave:

CampoTipoDescripción
idstringIdentificador único del evento de webhook.
operation_typestringTipo de operación (p. ej. payment).
amountstringMonto de la transacción (como string).
currencystringCódigo ISO 4217 (p. ej. MXN).
client_referencestringTu referencia de la transacción.
statusstringEstado actual (Success, Pending, Failed).
providerstringProcesador que manejó la transacción.
transaction_idstringIdentificador interno de Tonder.
payment_method_typestringMétodo usado (SPEI, CARD, OXXO).
createdstringMarca de tiempo ISO 8601.
metadataobjectPares clave-valor enviados al crear el pago.
event_typestringEvento que disparó la notificación (payment_Success, payment_Pending).
actionstringAcción asociada al evento (p. ej. MODIFY).
{
  "id": "fc38522e-3e5d-45b8-ba6a-ece72caee71f",
  "operation_type": "payment",
  "amount": "70",
  "currency": "MXN",
  "client_reference": "ORD-001",
  "status": "Success",
  "provider": "tonder",
  "transaction_id": "e9340a04-6d68-4afc-86c5-79f8b7c87de4",
  "payment_method_type": "SPEI",
  "created": "2026-05-21T19:15:32.029134Z",
  "metadata": {
    "order_id": "ORD-001",
    "external_id": "ORD-001",
    "transaction_type": "deposit"
  },
  "event_type": "payment_Success",
  "action": "MODIFY"
}

Existen dos formatos de webhook —Short (API Direct, Lite SDK 2.0) y Long (Hosted Checkout, SDKs móviles)— según tu modo de integración. Consulta el Modelo de webhooks.

Empezar con webhooks

  1. Crea una URL HTTPS pública que reciba peticiones POST.
  2. Asegura tu endpoint para verificar que las peticiones vienen de Tonder.
  3. Registra tu endpoint —ver Configurar webhooks.
  4. Procesa las notificaciones en tu aplicación.

Requisitos del endpoint: usar HTTPS (no HTTP), responder en menos de 30 segundos, devolver un código 2xx para confirmar la recepción y autenticar las peticiones para verificar que vienen de Tonder (ver Configurar webhooks para los métodos BEARER, API_TOKEN y BASIC_AUTH).

Casos de uso comunes

Fiabilidad y entrega

MecanismoDetalle
Reintentos automáticosHasta 3 intentos de entrega, con intervalos de 60 segundos.
Timeout de respuesta30 segundos por intento.
Dead Letter QueueLos eventos fallidos se guardan 30 días para reprocesamiento manual.
Criterio de éxitoCualquier código HTTP 2xx dentro del timeout.

Detalles completos en Entrega y reintentos.

Siguientes pasos

¿Te resultó útil esta página?

En esta página