purpose: "fondeo" por defecto de una
deposit account — crea una por corredor y comparte su instrumento (número
de cuenta, CLABE, alias, IBAN) con tus pagadores.
Si necesitas mantener fiat local para payouts en vez de convertirlo,
eso es Banking: crea un segundo destino con
purpose: "banking". Fondeo convierte; Banking retiene.
Fondeo vs Banking
Para los corredores fiat locales (BO/BOB, MX/MXN, AR/ARS), cada
destino de payin lleva un purpose que decide dónde aterriza el dinero
entrante:
Los destinos creados sin purpose conservan el comportamiento histórico
fondeo. El purpose banking solo se soporta en
BO/BOB/bank_transfer, MX/MXN/bank_transfer y AR/ARS/bank_transfer;
todo lo demás es siempre fondeo.
Fondeo por moneda
🇦🇷 ARS — peso argentino
Recibe pesos a través de una CVU dedicada. La CVU se crea con el alias bancario que tú eliges al crearla (bank_alias es obligatorio). Los
pesos entrantes convierten automáticamente a USD, tu saldo principal.
Para el contrato completo de deposit accounts ver
payins; para enviar pesos, ver
payouts.
🇧🇴 BOB — boliviano
Recibe bolivianos a través de una cuenta dedicada de transferencia bancaria. Los BOB entrantes convierten automáticamente a USD, tu saldo principal. Para enviar bolivianos (transferencia en BOB o USD, además de QR), ver la pestaña Bolivia en payouts.🇲🇽 MXN — peso mexicano
Recibe pesos a través de una CLABE dedicada. Los MXN entrantes convierten automáticamente a USD, tu saldo principal. Para el contrato completo de deposit accounts ver payins; para enviar pesos, ver payouts.🇪🇺 EUR — euro
Recibe euros a través de un IBAN virtualfunding_usdt: los euros
entrantes convierten automáticamente a USD, tu saldo principal. (Un IBAN
banking_eur en cambio mantiene BANK_EUR para payouts SEPA — eso es
Banking.)
Solicita y lee IBANs en Banking; para enviar euros,
ver payouts SEPA Instant.
El flujo de fondeo
- Descubre el corredor (
GET /v1/payins/methods) — lee siempre el catálogo vivo antes de ofrecer una opción de pago. - Crea o repara la deposit account
(
POST /v1/payins/deposit-accounts) — las cuentas verificadas reciben su primer destino automáticamente; las empresas pueden agregar más en corredores habilitados. - Comparte el instrumento — tu pagador envía una transferencia bancaria ordinaria.
- Recibe el abono — CBPay concilia el crédito bancario y emite
payin_credited; el neto aterriza en USD, tu saldo principal.
POST /v1/payins.
1. Descubre los corredores disponibles
Lee siempre el catálogo vivo antes de ofrecer una opción de pago en tu app:2. Crea o repara una deposit account
La plataforma aprovisiona el instrumento inicial de fondeo solo después de que la propia verificación de la cuenta pasa: KYC para personas, KYB para empresas. El registro por sí solo nunca crea una cuenta de fondeo. Una cuenta verificada sin instrumento puede repararlo con la misma llamada:201:
instrument con tus pagadores como la cuenta receptora.
instrument_id es el identificador estable de CBPay; nunca sustituyas el
número de cuenta por un UUID. Al retornar, details.alias,
details.merchant_nit y details.bank_name son los campos de
visualización de la tarjeta de transferencia; los campos opcionales
faltantes nunca se infieren.
Las cuentas persona conservan como máximo una cuenta de fondeo activa por
país/moneda/método. Las cuentas empresa pueden crear destinos adicionales
inmutables solo en corredores habilitados; los corredores adicionales
soportados actualmente son MX/MXN/bank_transfer, BO/BOB/bank_transfer y AR/ARS/bank_transfer. Cada destino sigue ligado a la misma cuenta CBPay,
y los abonos calzan por instrumento de destino.
La verificación aprovisiona automáticamente el primer instrumento del
corredor para una cuenta verificada. La llamada anterior también repara un
instrumento faltante tras la verificación. Los campos de visualización de
una deposit account son opcionales y nunca se infieren. Este flujo de
fondeo nunca crea un alias bancario elegido por el usuario; los alias
bancarios AR/ARS son un contrato separado en la guía de payins. Cuando una
empresa crea un destino BOB adicional, cada destino debe usar una
idempotency key nueva:
201 y un destino nuevo. Reproducir la misma key
completada retorna 200 con el instrumento original e
idempotency_hit: true; un replay concurrente de una en proceso puede
retornar 409 idempotency_conflict. Cuando el riel responde ausente o
ambiguo, el sistema conserva un estado conciliable en vez de reintentar en
silencio.
3. Lista los instrumentos de depósito
La lista es paginada y oculta los claims de aprovisionamiento que aún no recibieron un número real de recepción:4. Recibe y concilia la transferencia
Este modo nunca usa anunciosPOST /v1/payins. El pagador transfiere BOB
a tu instrument. Los abonos se confirman push-first desde la
notificación bancaria, con el sondeo de extractos como respaldo idempotente
dentro de una ventana de fechas acotada; los abonos completados deduplican
por referencia bancaria, número de orden ACH o una llave determinista de
respaldo.
Una vez que el abono calza, suscríbete a payin_credited y lee los montos
y el estado finales desde el recurso payin:
Campos de instrumento y pagador en pushes acreditados
Un payin acreditado sigue disponible a través de los recursos ordinarios de lista/detalle. Cuando el abono cae en una cuenta dedicada, concilia coninstrument_id e instrument (account_number, purpose, status) y
filtra el historial con ?instrument_id=<uuid>. Los abonos nuevos también
pueden traer payer_source: "bank_event" con el bloque payer reportado
por el banco. Los datos que el banco no reporta se omiten, los pagadores
históricos nunca se rellenan, y un screening existente puede retener el
abono para revisión.
Estados
Tras un timeout, lee primero la lista. Aunque la respuesta se pierda, el
riel puede ya haber aceptado la primera solicitud.
Errores
FAQ
¿Una cuenta puede servir a varias cuentas CBPay?
¿Una cuenta puede servir a varias cuentas CBPay?
No. Un destino está ligado a una cuenta CBPay y a una organización. Solo
comparte cada instrumento con los pagadores de esa cuenta.
¿El pagador necesita una cuenta CBPay?
¿El pagador necesita una cuenta CBPay?
No. Los pagadores usan su propio flujo de transferencia bancaria. CBPay
solo necesita el instrumento activo y que el banco reporte el abono.
¿Puedo eliminar o rotar una cuenta?
¿Puedo eliminar o rotar una cuenta?
No. Los instrumentos de un corredor son inmutables. Si el banco reporta una
anomalía, contacta a operaciones en vez de crear un sustituto a ciegas.
¿Cuándo se acredita la transferencia?
¿Cuándo se acredita la transferencia?
Este corredor es push-first con sondeo de respaldo. El tiempo final depende
de cuándo el banco reporta el movimiento; el webhook se envía solo tras la
conciliación.
¿Fondeo o Banking — cuál necesito?
¿Fondeo o Banking — cuál necesito?
Elige fondeo (default) cuando cada depósito debe aterrizar en USD, tu
saldo principal. Elige Banking con
purpose: "banking" cuando necesites mantener saldos BOB, MXN o ARS
locales para payouts.