Skip to main content

Webhooks Salientes

CUCU entrega eventos a tu URL registrada usando el estándar Standard Webhooks para que la verificación de firma sea sencilla y predecible.

Headers en cada entrega

HeaderDescripción
webhook-idUUID único de esta entrega. Úsalo como delivery_id para idempotencia en tu receptor.
webhook-timestampUNIX timestamp del momento del envío.
webhook-signatureFirma de autenticidad. Formato: v1,<base64(HMAC-SHA256)>.
webhook-eventTipo de evento (payment.confirmed, payment.failed, etc.).

Verificación de firma

Compara firma_esperada con el valor en webhook-signature (después del prefijo v1,). Ejemplo en Python:
Ejemplo en Node.js:

Eventos

payment.confirmed

El pago fue recibido y confirmado en la blockchain. Acredita el pedido en tu sistema.

payment.failed

El pago fue detectado pero no pudo procesarse (monto incorrecto, error de red, etc.).

charge.expired

El usuario no pagó dentro del tiempo de expiración del cobro.

charge.cancelled

El cobro fue cancelado programáticamente (via POST /cancel).

webhook.test

Evento sintético generado al llamar POST /merchants/me/webhook/test. No representa un pago real.

Política de reintentos

IntentoDelay
1 (inmediato)0s
2~30s
3~2min
4~8min
5~30min
6~2h
Si los 6 intentos fallan, la entrega queda en estado failed y puedes consultarla en tu dashboard o contactar soporte CUCU. Tu endpoint debe responder 2xx para que CUCU considere la entrega exitosa. Cualquier otro código HTTP (incluyendo 3xx y 5xx) activa el siguiente reintento.