Cómo funciona para tu cliente
Paso 1 — Ingresar los datos y revisar la tarifa El cliente proporciona los datos bancarios del destinatario y el monto. El sistema calcula la tarifa y devuelve el costo total antes de debitar cualquier cosa. El cliente ve exactamente lo que pagará. Paso 2 — Confirmar y enviar Después de que el cliente confirma, el sistema debita los fondos (monto + tarifa) de su cuenta. Envía la transferencia a través del gateway SPB de JD a la red BACEN y emite un número de confirmación de inmediato.
Requisitos previos
Antes de iniciar una transferencia:
- El remitente debe tener una cuenta registrada en CRM.
- El saldo del remitente debe cubrir el monto de la transferencia más la tarifa aplicable.
- Debes solicitar la transferencia en un día hábil, entre las 06:30 y las 17:00 (hora de Brasilia).
Paso 1: Iniciar la transferencia
El cliente envía los datos del destinatario y el monto. El sistema valida la solicitud, calcula la tarifa y crea una intención de transferencia válida por 24 horas. En esta etapa el sistema no mueve fondos. Consulta la especificación completa de la solicitud en la referencia Initiate Transfer. Endpoint: POST /v1/transfers/initiate Respuesta (campos clave):
Dirección de la tarifa (cash-out): Para transferencias TED OUT y P2P, el plugin suma la tarifa al monto de la transferencia, por lo que
totalAmount = amount + feeAmount. El plugin debita la cuenta del remitente por el total completo. TED IN funciona al revés y deduce la tarifa del monto recibido.Paso 2: Confirmar la transferencia
Después de que el cliente revisa la tarifa y confirma, envía el
initiationId para procesar la transferencia. El sistema aprovisiona los fondos y envía el pago a la red BACEN.
La mayoría de las integraciones procesan la transferencia solo con el initiationId. Algunos tenants firman payloads TED OUT fuera del plugin. Esos tenants primero llaman a POST /v1/transfers/signing/prepare. Luego envían signingArtifactId, payloadHash y signature con el mismo initiationId.
Consulta la especificación completa de la solicitud en la referencia Process Transfer.
Endpoint: POST /v1/transfers/process
Respuesta (campos clave):
Cronograma de liquidación
1
Enviada
El sistema aprovisiona los fondos y envía la transferencia a la red BACEN. Estado:
PROCESSING.2
Liquidada
El banco destino confirma la liquidación. Estado:
COMPLETED.3
Cliente notificado
El plugin envía un webhook
transfer.completed a tu sistema.Horario de operación
Manejo de errores
El plugin siempre contabiliza el dinero de tu cliente cuando algo sale mal:
Transferencia rechazada por el banco destino
Transferencia rechazada por el banco destino
La institución receptora rechaza la transferencia. El plugin libera los fondos aprovisionados de inmediato y devuelve el monto completo, incluida la tarifa, al saldo del remitente. Estado:
REJECTED. El plugin envía un webhook transfer.rejected.Problema temporal de red
Problema temporal de red
El plugin reintenta automáticamente, hasta tres intentos por defecto. Si el resultado sigue siendo desconocido después de los reintentos — un 5xx o un timeout de JD SPB — el plugin no revierte la transferencia automáticamente. Preserva la retención y entrega la transferencia al worker de reconciliación, que la resuelve contra el libro mayor. Si la reconciliación agota los intentos, el plugin marca la transferencia para revisión manual del operador (
MANUAL_REVIEW). El plugin nunca pierde los fondos, pero la resolución puede tomar tiempo. Un rechazo 4xx claro es distinto: revierte la retención de inmediato (consulta el caso de rechazo más arriba).Devolución del banco destino
Devolución del banco destino
El banco destino puede devolver los fondos después de la liquidación, por ejemplo por cierre de cuenta o una retención regulatoria. El plugin revierte el monto en tu libro mayor como una transacción separada. Esta devolución queda fuera del ciclo de vida de la transferencia. El registro original permanece
COMPLETED, y el plugin crea un nuevo registro de reversión.Toda solicitud de transferencia que modifique datos debe incluir un encabezado
X-Idempotency (máximo 255 caracteres). Reutiliza la misma clave cuando reintentes una solicitud para evitar envíos duplicados. Consulta Reintentos e idempotencia para más detalles.Verificar el estado de una transferencia
Realiza un seguimiento del progreso de una transferencia en cualquier momento. Endpoint: GET /v1/transfers/ Respuesta (campos clave):
Cancelar una transferencia
Puedes cancelar una transferencia mientras esté en estado
CREATED o PENDING, antes de que el plugin la envíe a la red.
Endpoint: POST /v1/transfers//cancel
Códigos ISPB comunes
Última verificación: 2026-02-06. Los valores están sujetos a cambios.
Para una lista completa, consulta el directorio ISPB en el sitio web del Banco Central.

