Ir al contenido

Payload Pay-In

El nombre del evento llega en el header X-Webhook-Event de cada entrega, no dentro del body JSON. Todos los montos van en pesos COP enteros.

{
"txId": "a1b2c3d4e5f64a7b8c9d0e1f2a3b4c5d",
"type": "PAYIN",
"status": "COMPLETED",
"amount": 50000,
"currency": "COP",
"feeCharged": 1500,
"netAmount": 48500,
"e2eId": "E2E-20260601-0001",
"updatedAt": "2026-06-01T10:05:00.000Z"
}
{
"txId": "a1b2c3d4e5f64a7b8c9d0e1f2a3b4c5d",
"type": "PAYIN",
"status": "FAILED",
"amount": 50000,
"currency": "COP",
"feeCharged": 0,
"netAmount": 0,
"e2eId": null,
"updatedAt": "2026-06-01T10:05:00.000Z"
}
{
"txId": "a1b2c3d4e5f64a7b8c9d0e1f2a3b4c5d",
"type": "PAYIN",
"status": "EXPIRED",
"amount": 50000,
"currency": "COP",
"failureReason": "Transaction expired without provider confirmation",
"expiredAt": "2026-06-01T10:15:00.000Z"
}
CampoDescripción
Header X-Webhook-EventNombre del evento (payin.completed, payin.failed, payin.expired)
txIdID de la transacción en Rivopay (coincide con el de la creación)
typeSiempre PAYIN
statusEstado: COMPLETED, FAILED, EXPIRED
amountMonto en pesos COP
feeChargedFee cobrado en pesos COP (0 si el cobro falló)
netAmountMonto neto acreditado en tu balance (solo en payin.completed)
e2eIdIdentificador end-to-end de la red Bre-B (null si falló; no aplica a Nequi)
failureReasonMotivo (solo en payin.expired / fallos)