Recaudos
Guía para probar y simular pagos de recaudo en el entorno sandbox de Bre-B
Este entorno sandbox te permite probar tu integración de recaudos de extremo a extremo sin procesar pagos reales. Puedes simular pagos entrantes a tus recaudos, incluyendo escenarios exitosos y fallidos.
Prerrequisitos
- Al menos un recaudo con una llave Bre-B activa.
- El recaudo asociado a la llave Bre-B debe estar en estado
readyominimum_paid.
Simulador de Sandbox Collections
Si quieres simular un pago sin escribir código, abre el simulador sandbox de Bre-B. Es una herramienta web hospedada por Mono que paga cualquiera de tus llaves de recaudo del sandbox de extremo a extremo — disparando exactamente los mismos webhooks que un pago real.
Tres modos de entrada
- Ingresar una llave manualmente (
Ingresar llave) — pega un valor de llave Bre-B. - Escanear un QR (
Escanear QR) — usa la cámara de tu dispositivo para leer un QR Bre-B. - Subir una imagen de QR (
Subir imagen) — arrastra y suelta un QR guardado.
Campos del formulario
| Campo | Propósito |
|---|---|
Llave de pago | Llave Bre-B destino (se autocompleta al escanear o subir un QR). |
Monto (COP) | Monto en pesos colombianos. Requerido. |
Tipo de error | Opcional. Elige un modo de falla para ejercitar los caminos de rechazo. |
Datos del pagador | Opcional. Sobrescribe la información del pagador autogenerada. |
Haz clic en Simular Pago y el simulador ejecuta el mismo flujo de extremo a
extremo que el endpoint POST /sandbox/collection-attempts documentado abajo —
es decir, los webhooks que recibes en tu endpoint son idénticos.
Cuándo usar cada uno
| Usa el simulador web si... | Usa el endpoint de la API si... |
|---|---|
| Quieres una verificación rápida sin escribir un script | Estás agregando llamadas de sandbox a una suite de pruebas |
| Estás verificando un escenario específico a mano | Necesitas scriptar simulaciones en bulk |
| Aún no has montado tooling de sandbox (Postman, scripts, etc.) | Ya estás dentro de tu test runner |
Simulando un intento de recaudo
Envía un request POST para simular a un pagador haciendo un pago a una de tus
llaves de recaudo. Este endpoint solo está disponible en el entorno sandbox.
Ejemplo mínimo
{
"creditor_key_value": "@YOURBREBKEY",
"amount": {
"amount": 50000,
"currency": "COP"
}
}El sandbox generará información aleatoria del pagador y un payment_id si no se proveen, y procesará el pago
a través del flujo completo.
Recibirás una respuesta 202 Accepted inmediatamente:
{
"collection_id": "bbcol_5g8k2mNpQrStUvWx",
"attempt_id": "bbcolat_7hJkLmNpQrStUvWx",
"transfer_id": "bbit_1a2b3c4d5e6f7g8h9i0j",
"attempt_state_reason": null
}Unos segundos después, los eventos de webhook se entregarán a tu URL de webhook configurada con el resultado final del intento. Podrías recibir los siguientes webhooks de recaudo:
collection.attempt_successful: El intento de pago fue settlleado exitosamente por el workflow de simulación.collection.attempt_unsuccessful: El intento de pago fue rechazado (ya sea por un error simulado o una falla de validación).collection.paid: El recaudo alcanzó su monto total.collection.minimum_paid: El recaudo alcanzó su monto mínimo requerido.
Simulación de errores
Por defecto, los pagos simulados se completan con éxito. Para probar cómo tu
integración maneja las fallas, pasa un campo error:
{
"creditor_key_value": "@MN1234567890",
"amount": {
"amount": 50000,
"currency": "COP"
},
"error": "tx_risk_control"
}El pago igual se crea y recibirás la respuesta 202 Accepted,
pero el evento de webhook posterior llevará un estado de rechazo.
Códigos de error disponibles
| Código de error | Descripción |
|---|---|
tx_unknown | Ocurrió un error inesperado |
tx_provider_unavailable | El sistema Bre-B no está disponible |
tx_breb_timeout | Timeout del sistema Bre-B |
tx_risk_control | Transacción bloqueada por reglas de risk control |
Flujo esperado
- Llamas al endpoint de sandbox para simular un pago.
- La API responde con
202 Accepted. - Después de un breve delay (2–5 segundos), se envía un webhook a tu URL configurada.
- Si no se especificó
error, el pago se settlea exitosamente. - Si se especificó un
error, el pago se rechaza con el motivo correspondiente.
- Si no se especificó