Skip to main content
Consulta el catálogo público de errores para ver el contrato completo.

Qué protege este flujo

Algunos corredores bancarios protegen un destino después de un rechazo reciente del banco. Cuando el mismo destino normalizado fue rechazado recientemente, CBPay detiene el siguiente create antes de crear el payout, debitar el saldo o consumir la clave de idempotencia. La protección se acota a la cuenta y a la combinación normalizada de bank_code, account_number y tax_id. Cambiar mayúsculas o formato no la evade.

Secuencia segura

  1. Si la primera respuesta es ambigua, repite la solicitud exacta con la misma idempotency_key. Devuelve el recurso original con idempotency_hit: true; nunca crea un segundo payout.
  2. Si la respuesta es destination_recently_rejected, la clave original no se consumió. Revisa el rechazo bancario y decide si corresponde reintentar el destino.
  3. Un reintento deliberado usa una clave de idempotencia nueva y options.destination_retry_ack con el ID del payout rechazado más reciente.
  4. Reutilizar la clave anterior con opciones cambiadas devuelve 409 idempotency_conflict; nunca modifica la operación original.
  5. Un destino sin rechazo reciente, o un payout de otro corredor, sigue su validación y despacho normal.
El acuse es una decisión explícita del operador, no un segundo intento automático.

Request de reintento deliberado

El acuse debe identificar el caso rechazado más reciente de la misma cuenta y del mismo destino normalizado. No copies un ID de caso de otra cuenta o destino. Para el catálogo completo de errores, consulta Errores.

Ejemplos de respuesta

Rechazo reciente

El mensaje incluye la fecha UTC del rechazo, el ID del caso anterior y su código. La respuesta pública no expone el proveedor.

Opciones cambiadas con la clave anterior

Estados y acciones

Preguntas frecuentes

No. La guardia corre antes de insertar el payout y antes del débito. Tampoco consume la clave de idempotencia enviada.
Sí, si estás repitiendo exactamente la solicitud original. Un reintento deliberado después de revisar el rechazo debe usar clave nueva y el acuse.
Las opciones forman parte del payload de idempotencia. Reutilizar una clave con opciones distintas es otra solicitud, por eso CBPay la rechaza en vez de modificar silenciosamente la operación original.
No. La protección se aplica solo donde el corredor la habilita. Los demás rieles y destinos sin rechazo reciente siguen su validación y despacho normal.
Última modificación el 6 de octubre de 2026