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.

El destino es siempre la llave (keyType + keyValue); el gateway la resuelve internamente.

{
"amount": 100000,
"keyType": "PHONE",
"keyValue": "3123185778",
"identificationNumber": "1020304050",
"reference": "factura-123"
}
CampoTipoRequeridoDescripción
amountnumberMonto en pesos COP enteros, > 0 y ≤ 11.500.000
keyTypestringID | PHONE | EMAIL | ALPHA | BCODE. No distingue mayúsculas y normaliza mobile / MOBILEPHONE. Ausente o inválido → 400 con la lista de valores permitidos
keyValuestringLlave Bre-B del destinatario. Se pre-valida contra el formato del tipo (ver tipos de llave)
identificationNumberstringDocumento del titular de la llave: 5–18 alfanuméricos
referencestringTu referencia interna (vuelve como txIdSource en Transacciones)

El formato de keyValue se valida antes de tocar la red o tu balance (p. ej. PHONE = 10 dígitos que empiezan con 3; ALPHA = @ + 5–20 alfanuméricos) → 400 si no cuadra. El keyType ya normalizado es el que se usa en la resolución interna de la llave.

{
"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.

CódigoCausa
400Falta keyType, keyValue o identificationNumber; keyType fuera del enum; keyValue con formato inválido para su tipo; identificationNumber fuera de 5–18 alfanuméricos; monto ≤ 0 o > 11.500.000; o falta X-Idempotency-Key (IDEMPOTENCY_KEY_REQUIRED)
402Saldo insuficiente — la respuesta incluye availableBalance y requiredAmount
403Servicio Bre-B no habilitado, o producción no habilitada para tu cuenta
409Onboarding incompleto — contacta con soporte
422Llave inexistente o inactiva (no se retiene saldo), monto 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