Las comisiones de banking (
banking_customer, banking_account,
banking_operation) son fijas, se debitan de tu saldo USDT al ejecutar
cada operación y se reembolsan automáticamente si la operación falla.
Con comisión 0 (el default) el servicio es gratis. El campo banking_fee
de cada respuesta te muestra lo cobrado.El flujo completo
- Crea tu perfil bancario (
POST /v1/banking/customer) — una sola vez. - Sube documentos de verificación y envíalo a revisión.
- Cuando quede
approved, abre cuentas por moneda. - Registra beneficiarios (counterparties) para pagos a terceros.
- Envía pagos: cotiza con
preparey ejecuta conoperations.
banking_customer_status_changed y banking_operation_status_changed
(webhooks).
1. Crea tu perfil bancario
Una vez por cuenta. Si no envíastype, name o email, se completan con
los datos de tu cuenta CBPay:
201:
409 banking_customer_exists.
Consulta el estado en cualquier momento:
2. Documentos y verificación
Sube cada documento en base64 (gratis):draft → submitted → under_review →
approved o rejected. El webhook
banking_customer_status_changed te avisa cada cambio:
3. Abre cuentas bancarias
Con el perfilapproved, crea una cuenta por moneda. Monedas disponibles:
USD (rieles ACH/Fedwire/SWIFT) y EUR (SEPA/SWIFT):
201 — data incluye los datos para recibir (número de
cuenta/IBAN, routing, banco):
Límite para cuentas persona: una cuenta persona puede tener máximo 1
cuenta bancaria. Al intentar la segunda recibirás
409 banking_account_limit. Las cuentas empresa no tienen límite.Usuarios de terceros (solo empresas)
Si tu cuenta es empresa, además de tus cuentas propias puedes dar de alta usuarios banking de terceros — tus clientes finales (personas o empresas) — cada uno con su identidad y verificación propias y cuentas bancarias a su nombre. Sin límite de terceros ni de cuentas por tercero.Alta del tercero
El alta exige elverification_id de una verificación KYC/KYB
aprobada del tercero — su identidad única en CBPay. El
tipo sale del kind de la verificación (KYC ⇒ INDIVIDUAL, KYB ⇒
COMPANY), los datos (nombre, email, dirección) se completan solos desde
el perfil verificado (lo que envíes explícito gana) y los documentos ya
validados se re-entregan automáticamente al proveedor bancario. Se cobra
el fee de perfil bancario (se reembolsa si el alta falla):
201:
documents_synced cuenta los documentos de la verificación que quedaron
cargados automáticamente en el perfil bancario del tercero. Si alguno no se
pudo sincronizar (o el banco pide categorías adicionales), súbelo por el
flujo manual de documentos de más abajo y luego haz submit.third_party_id: todas las rutas del tercero lo usan. Lista y
consulta (el GET trae el estado de verificación en vivo):
Verificación del tercero (gratis)
Igual que tu propio perfil, pero sobre el tercero:Cuentas del tercero
Con el tercero aprobado, ábrele cuentas (mismo feebanking_account) y
opera igual que con las tuyas:
- Cada tercero es tuyo y solo tuyo: otra cuenta CBPay jamás puede verlo ni
operarlo (responde
404). - Una cuenta persona que intente crear terceros recibe
403 company_required. - Sin
verification_id(o con una verificación no aprobada) el alta responde422 verification_required/422 verification_not_approved. Si envías untypeque no calza con el kind de la verificación,422 verification_kind_mismatch. Los terceros creados antes de esta regla siguen operando con normalidad. - Los terceros dados de alta alimentan la métrica “usuarios nuevos” de tu resumen de cuenta.
4. Registra beneficiarios
Para pagar a terceros, primero registra al beneficiario con sus datos bancarios (gratis; pasa por moderación antes de poder usarse):GET /v1/banking/counterparties y agrega más cuentas a
un beneficiario existente con
POST /v1/banking/counterparties/{id}/accounts.
5. Envía pagos
Dos tipos de operación:
Cotiza primero (gratis, no mueve dinero):
banking_operation aquí):
202:
- El estado final llega por el webhook
banking_operation_status_changed(completed/failed); también puedes consultarGET /v1/banking/operations/{id}. Cuando la operación queda en estado final, el webhook incluye sureceipt_urly puedes descargar el comprobante PDF conGET /v1/banking/operations/{id}/receipt(comprobantes). - Reintentos con la misma
Idempotency-Keydevuelven la operación original (idempotency_hit: true) sin volver a cobrar la comisión.
Trazabilidad completa. Cada operación bancaria queda registrada en tu
cuenta: aparece en la sección
banking_operations de la
cartola, su dinero cuadra en los saldos espejo
BANK_USD/BANK_EUR (sección assets), y su volumen suma al
gross_volume de analytics. El saldo autoritativo
sigue siendo el del banco: el espejo se reconcilia periódicamente.