Ir al contenido

Dispersión (Bre-B)

POST /v1/co/breb/payout

Envía dinero a un destino Bre-B. Al crear la dispersión se retiene amount + feeCharged de tu balance disponible; al completarse se debita definitivamente, y si falla se libera.

Debes enviar una de estas tres opciones (en este orden de precedencia):

OpciónCampo(s)Cuándo usarla
ResoluciónresolutionIdPago único: obtuviste el ID con resolve-key y confirmaste el titular
DestinatariorecipientIdBeneficiario recurrente ya creado
Llave directakeyType + keyValueEl gateway crea el destinatario por ti en el momento

Con destinatario existente:

{
"recipientId": "rcpt_8a7b6c",
"amount": 30000,
"reference": "retiro-551",
"displayName": "Mi Comercio SAS"
}

Con resolución (pago único):

{
"resolutionId": "res_9d8c7b",
"amount": 30000,
"reference": "retiro-551"
}

Con llave directa:

{
"keyType": "PHONE",
"keyValue": "3009876543",
"amount": 30000,
"reference": "retiro-551"
}
CampoTipoRequeridoDescripción
resolutionIdstring❌*ID de una resolución vigente de resolve-key
recipientIdstring❌*ID de un destinatario creado previamente
keyTypestring❌*Tipo de llave: ID, PHONE, EMAIL, ALPHA, BCODE
keyValuestring❌*Valor de la llave del destinatario
amountnumberMonto en pesos COP enteros. Máximo 11.500.000
referencestringTu referencia interna (vuelve como txIdSource en Transacciones)
displayNamestringNombre del remitente mostrado al receptor
* Envía resolutionId, o recipientId, o el par keyType + keyValue.
{
"externalId": "b4f6d2f0-6a1e-4c9b-9d3a-2f8e7c6b5a41",
"status": "PROCESSING",
"providerTxId": "BREB-PAY-3321",
"amount": 30000,
"feeCharged": 800,
"totalDebit": 30800,
"currency": "COP"
}
CampoDescripción
externalIdID generado por Rivopay — guárdalo para consultar el estado
statusEstado inicial (PROCESSING)
providerTxIdID del pago en Bre-B
feeChargedFee cobrado (en pesos COP)
totalDebitTotal retenido de tu balance (amount + feeCharged)

GET /v1/co/breb/payout/{externalId}

{
"externalId": "b4f6d2f0-6a1e-4c9b-9d3a-2f8e7c6b5a41",
"status": "COMPLETED",
"amount": 30000,
"currency": "COP",
"feeCharged": 800,
"failureReason": null,
"createdAt": "2026-06-01T10:00:00.000Z",
"updatedAt": "2026-06-01T10:02:00.000Z"
}

Estados posibles: PROCESSING, COMPLETED, FAILED. Si falló, failureReason explica el motivo.

GET /v1/co/breb/payments

Lista los pagos Bre-B de tu cuenta directamente desde la red Bre-B (entrantes y salientes) — útil para conciliación fina por endToEndId o qrCodeReference.

Query paramDescripción
pageSizeResultados por página (1–100, default 20)
pageNumberPágina (default 1)
directionFiltra por dirección del pago (entrante/saliente)
statusFiltra por estado en la red
qrCodeReferenceFiltra por la referencia del QR de cobro
endToEndIdFiltra por el identificador end-to-end de la red
{
"payments": [
{
"paymentId": "pay_1a2b3c",
"status": "COMPLETED",
"providerStatus": "settled",
"direction": "OUTBOUND",
"amount": { "value": "30000", "currency": "COP" },
"qrCodeReference": null,
"e2eId": "E2E-20260601-0001",
"errorCode": null,
"failureReason": null,
"receiverName": "MARIA FERNANDA G.",
"senderName": "MI COMERCIO SAS",
"createdAt": "2026-06-01T10:00:00.000Z",
"updatedAt": "2026-06-01T10:02:00.000Z"
}
],
"pagination": { "total_items": 1, "total_pages": 1 }
}
CódigoCausa
400Sin destino (resolutionId / recipientId / llave), keyValue con formato inválido, o monto > 11.500.000
402Saldo insuficiente — la respuesta incluye availableBalance y requiredAmount
403Servicio Bre-B no habilitado, o producción no habilitada para tu cuenta
409Comercio sin onboarding Bre-B
422Monto fuera de los límites de tu cuenta, o Bre-B rechazó la operación
502Bre-B no disponible — reintenta
503Servicio temporalmente suspendido para tu cuenta