Skip to main content

Cuándo se dispara

El webhook del tipo cash_out recibe los eventos del ciclo de vida de una transferencia creada vía POST /api/spei/cash-out:
La devolución de un cash-out ya liquidado (transaction.cash_out.returned) — cuando el banco de la contraparte devuelve la transferencia — se entrega en el webhook del tipo refund_out, no en el cash_out.

Payload

En status: REJECTED, los campos de comprobante (reference, voucher) pueden venir null — la red SPEI nunca confirmó la transacción.

Headers

Comportamiento

  • At-least-once: puedes recibir el mismo evento más de una vez. Deduplica por x-event-id.
  • Falla después del éxito: no sucede. Una transacción no cambia de LIQUIDATED a REJECTED.
  • Devolución: si la contraparte devuelve después de la liquidación, recibes transaction.cash_out.returned en el webhook refund_out, con el mismo transactionId.

Respuesta Esperada

200 OK en un máximo de 10 segundos.

Procesamiento

Para el handler completo con validación HMAC y dedupe en Node.js, Python, Java y Go, consulta Implementación.