Decisiones de producto
Estas son elecciones que tu equipo de producto toma en la experiencia de cara al cliente. Afectan de forma directa la satisfacción del cliente y el volumen de soporte.
Muestra la comisión antes de que el cliente confirme
El pasoinitiate devuelve el monto de la comisión antes de que se mueva cualquier fondo. Usa esa ventana para mostrar una pantalla de confirmación clara:
Maneja el horario de operación con cuidado
TED OUT está disponible de lunes a viernes, 06:30–17:00 (hora de Brasilia) de forma predeterminada. Cuando un cliente empieza una transferencia fuera de ese horario, no muestres solo un error. Dile cuándo puede intentarlo de nuevo:Comunica los límites de transferencia antes de que los clientes los alcancen
Muestra el límite diario restante del cliente en tu interfaz de transferencias. Muéstralo antes de que intente una transferencia que el plugin rechaza. El plugin cuenta el monto debitado del remitente (totalAmount), y el día cambia a las 00:00 UTC (21:00 hora de Brasilia). Por ejemplo:
Muestra comprobantes de confirmación después de completarse
Después de que una transferencia TED OUT o P2P se completa, muestra (u ofrece descargar) un comprobante con:- Fecha y hora de la transferencia
- Datos del emisor y del receptor
- Monto, comisión y total
confirmationNumber(referencia de cara al cliente)controlNumber(referencia de JD SPB, para TED OUT y TED IN)
Mantén a los clientes informados en tiempo real
Usa webhooks para enviar las actualizaciones de estado de la transferencia a tu interfaz a medida que ocurren. No hagas que los clientes actualicen la página o se pregunten si su transferencia se hizo. Consulta webhooks de TED para la configuración.Decisiones de cumplimiento
Estos son requisitos que se aplican a tu integración sin importar tus elecciones de producto.
LGPD y datos personales
Los registros de transferencia contienen datos personales: nombres de clientes, CPF/CNPJ y datos bancarios. Confirma que tu política de privacidad cubra de forma explícita los datos de transacciones financieras. No registres el CPF/CNPJ en texto plano. Enmascáralo en las interfaces como***.***.***-00.
El plugin no tiene un endpoint para las solicitudes de derecho al olvido de la LGPD.
Retención de datos
Registro de auditoría y conciliación
Cada transferencia genera dos números de referencia que debes almacenar:
Guarda el
transferId y el confirmationNumber en tus propios registros para la conciliación. Para TED OUT y TED IN, almacena también el controlNumber.
Horario de operación
BACEN exige que TED opere de lunes a viernes, 06:30–17:00 (hora de Brasilia, UTC-3). El plugin aplica esa ventana de forma predeterminada. Un operador puede cambiar la ventana en tiempo de ejecución a través de la clave del systemplaneoperating_hours.window. Toma 06:30–17:00 como la norma y construye tu experiencia de usuario alrededor de ella. Consulta Maneja el horario de operación con cuidado más arriba.
Las transferencias P2P no están sujetas a restricciones de horario de operación y funcionan 24/7.
Lista de verificación de la integración
Antes de salir a producción, verifica lo siguiente:
- Claves de idempotencia en todas las operaciones de escritura: envía un encabezado
X-Idempotencycon un UUID v4 en cada llamada ainitiate,processycancel. Esto evita transferencias duplicadas por reintentos o dobles clics. - Endpoint de webhook activo antes del lanzamiento: despliega tu endpoint de webhook y hazlo alcanzable antes de salir a producción. Los eventos de transferencia empiezan a dispararse de inmediato en la primera transacción real.
- Expiración manejada: una transferencia iniciada expira en
expiresAt: después de 24 horas o, para TED OUT, al cierre de la ventana de operación de ese día. Si tu flujo permite que un cliente empiece una transferencia y vuelva más tarde, maneja el caso de expiración de forma explícita. - Lee antes de reintentar un 5xx: un
5xxdeja el resultado desconocido. Lee primero la transferencia y reintenta con backoff (por ejemplo, 2s, 4s, 8s) con una nueva claveX-Idempotencysolo si la operación no ocurrió. La indisponibilidad de JD SPB se expresa como503conBTF-1000oBTF-1003. La indisponibilidad del ledger de Midaz se expresa comoBTF-2000. No reintentes de inmediato en un bucle. - Horario de operación validado del lado del cliente: revisa el horario en la interfaz antes de llamar a la API. Esto reduce las llamadas fallidas a la API y da una mejor experiencia al cliente.
-
transferIdyconfirmationNumberalmacenados: obligatorios para la conciliación y la auditoría. Para TED OUT y TED IN, almacena también elcontrolNumber.
Manejo de errores
Usa estos escenarios de error para asignar los errores de la API a mensajes claros para el cliente y definir la ruta de recuperación correcta.
Para la lista completa de códigos de error y sus significados, consulta la lista de errores de TED.

