Reverso de Pay-In
POST /v1/br/payin/pix/{txId}/reversal
Revierte un pay-in completado, devolviendo el dinero al pagador original.
Parámetros de ruta
Sección titulada «Parámetros de ruta»| Parámetro | Descripción |
|---|---|
txId | ID del pay-in a revertir |
Request body
Sección titulada «Request body»{ "reason": "customerRequest" }| Campo | Tipo | Requerido | Valores |
|---|---|---|---|
reason | string | ✅ | customerRequest, bankError, fraud, cashierError |
Response 201 Created
Sección titulada «Response 201 Created»{ "txId": "reversal-txid-xyz", "originalTxId": "original-payin-txid", "status": "PROCESSING", "amount": 10000, "feeCharged": 250, "totalDebit": 10250, "currency": "BRL"}| Campo | Descripción |
|---|---|
txId | ID de la transacción de reverso |
originalTxId | ID del pay-in original que se está revirtiendo |
status | Estado inicial (PROCESSING) |
amount | Monto revertido en centavos |
feeCharged | Fee cobrado por el reverso en centavos |
totalDebit | Total debitado de tu balance (amount + feeCharged) |
Errores
Sección titulada «Errores»| Código | Causa |
|---|---|
404 | Pay-in no encontrado o no pertenece al cliente |
409 | La transacción no está en estado COMPLETED, o no tiene endToEndId |
402 | Saldo insuficiente para cubrir amount + fee |
502 | Error del proveedor de pagos |
Webhook de confirmación
Sección titulada «Webhook de confirmación»Cuando el reverso se confirma, Rivopay envía el evento payin.reversed:
{ "eventType": "payin.reversed", "txId": "reversal-txid-xyz", "type": "PAYIN", "status": "REVERSED", "amount": 10000, "currency": "BRL", "feeCharged": 250, "reason": "customerRequest", "e2eId": "E12345678...", "reversedAt": "2026-03-24T15:00:00.000Z", "debtor": { "document": "123.456.789-00", "name": "João Silva", "accountType": "CHECKING", "ispb": "60701190", "branch": "0001", "account": "12345-6" }, "creditor": { "document": "11.222.333/0001-44", "name": "Acme Corp", "accountType": "PAYMENT", "ispb": "18236120", "branch": "0001", "account": "98765-4" }, "metadata": { "reason": "customerRequest", "triggerTransactionId": "E12345678..." }}