Prerrequisitos
Antes de comenzar, asegúrese de tener:
- Su ISPB (Identificador do Sistema de Pagamentos Brasileiro) — el identificador de 8 dígitos derivado del CNPJ de su institución
- Acceso a sus instancias de Midaz y CRM (desplegadas y en ejecución)
- Acceso a los servicios del proveedor BTG (BTG proporciona las credenciales)
1. Licencia
El plugin es una solución enterprise y requiere una licencia válida para operar. Lerian proporciona la clave de licencia durante el onboarding.
2. Access Manager (opcional)
Access Manager gestiona la autenticación del plugin. Cuando está habilitado, valida todas las solicitudes de entrada antes de que lleguen a la API del plugin.
PLUGIN_AUTH_ENABLED=true, el plugin valida el header Authorization de cada solicitud para asegurar que:
- El token pertenece a un usuario o aplicación autorizada
- El token otorga acceso al endpoint y método de API solicitados
Solo necesita proporcionar credenciales de cliente (
CLIENT_ID / CLIENT_SECRET) para los servicios Midaz, CRM y Fee si esos servicios también tienen autenticación de Access Manager habilitada.3. Midaz
Midaz es el Ledger principal para todas las transacciones Pix que el plugin procesa. El plugin registra cada operación de cash-in, cash-out y devolución en Midaz como una transacción de partida doble.
Conexión
Requisitos de asset
Configure un asset en su organización y Ledger con estas propiedades:
| Propiedad | Valor |
|---|---|
| Type | currency |
| Code | BRL |
BRL. El plugin rechaza operaciones en cuentas que no coinciden con esta configuración.
Creación de cuentas
Antes de usar el plugin, cree una cuenta en Midaz para cada cliente bajo su ISPB. Use el endpoint Create an Account para configurar las cuentas. Cada cuenta debe:
- Pertenecer a su organización y Ledger configurados
- Usar el asset
BRL
Header X-Account-Id
Muchas operaciones Pix requieren el header
X-Account-Id para identificar qué cuenta está realizando la acción. Este ID corresponde al ID de la cuenta en el Ledger de Midaz.
Cuando usted llama a un endpoint del plugin, el valor de X-Account-Id indica al plugin:
- Qué cuenta usar para operaciones en el ledger
- Qué datos de cliente buscar en el CRM
- Qué saldo validar y actualizar
Cómo el plugin usa el ID de cuenta
El plugin usa el ID de cuenta de forma diferente según el tipo de operación:| Tipo de flujo | Cómo el plugin usa el ID de cuenta |
|---|---|
| No transaccional (ej.: creación de claves o QR codes) | Busca datos de cliente y cuenta bancaria en el CRM |
| Transaccional (ej.: pagos, devoluciones) | Busca datos de cliente para iniciación de pago |
| Valida datos de cuenta para autorización de pago recibido | |
| Ejecuta la transacción en el Ledger |
Compliance de cuenta
El plugin no aplica restricciones de nivel de negocio en cuentas, como cuentas bloqueadas o suspendidas. Su aplicación es responsable de validar el estado de la cuenta antes de llamar al plugin. Para evitar liquidaciones Pix en una cuenta específica, bloquéela directamente en Midaz. El plugin recibe un rechazo cuando intenta registrar la transacción. Documentación relacionada:
4. CRM
El CRM almacena información de clientes (holders) y sus cuentas bancarias asociadas. Cada cuenta en Midaz debe tener un holder y una alias account correspondientes en el CRM para realizar operaciones Pix. El plugin consulta datos del CRM para:
- Registrar y validar claves Pix
- Construir mensajes de pago para BACEN
- Autorizar transacciones recibidas
- Procesar flujos de devolución y disputa
Conexión
Holders
Los datos de holder representan al cliente que es dueño de la cuenta. Cree cada holder en el CRM antes de ejecutar cualquier operación Pix para ese cliente.
Campos obligatorios
| Campo | Requisito | Ejemplo |
|---|---|---|
name | Máximo 120 caracteres | Maria Silva Santos |
document | Para NATURAL_PERSON, un CPF con 11 dígitos; para LEGAL_PERSON, un CNPJ con 14 dígitos (solo números) | 12345678900 |
type | Tipo de persona (valores enum del CRM) | NATURAL_PERSON |
Campos opcionales
| Campo | Cuándo usar |
|---|---|
legalPerson.tradeName | Al asociar un nombre comercial con los datos de la clave |
addresses.primary | Requerido para creación de cobro con vencimiento |
Alias accounts
Las alias accounts vinculan una cuenta de Midaz a sus datos bancarios. Cada alias account debe incluir la información bancaria que el ecosistema Pix requiere para el procesamiento de transacciones.
Campos obligatorios
| Campo | Requisito | Ejemplo |
|---|---|---|
accountId | ID de cuenta en Midaz (UUID) | 3c90c3cc-0d44-4b50-8888-8dd25736052a |
bankingDetails.branch | Exactamente 4 dígitos | 0001 |
bankingDetails.account | 1 a 20 dígitos | 123456789 |
bankingDetails.type | Tipo de cuenta (ver tabla abajo) | CACC |
bankingDetails.openingDate | Formato AAAA-MM-DD | 2024-01-15 |
Tipos de cuenta soportados
| Código | Descripción |
|---|---|
CACC | Cuenta corriente |
SLRY | Cuenta de salario |
SVGS | Cuenta de ahorro |
TRAN | Cuenta de transacción |
5. Proveedor BTG
BTG es el participante directo que conecta su institución a la infraestructura Pix de BACEN. BTG proporciona las credenciales directamente cuando su institución se registra para integración indirecta con BACEN.
Conexión
mTLS (seguridad de webhook)
Mutual TLS (mTLS) agrega una capa extra de seguridad al validar el certificado de BTG en las solicitudes de webhook. Esto asegura que los webhooks recibidos realmente se originan en BTG.
6. Servicio de tarifas (opcional)
Habilite el cálculo de tarifas para cobrar y distribuir tarifas automáticamente en pagos recibidos. Esto es opcional — si no lo configura, el plugin procesa transacciones sin cálculo de tarifas.
Conexión
Cómo funciona
Cuando usted define
CASHIN_FEE_CALCULATION_TYPE=segment, el plugin:
- Obtiene el segmento asociado a la cuenta receptora
- Calcula las tarifas aplicables antes de procesar la transacción en Midaz
- Distribuye el pago recibido según las reglas de paquete vinculadas a ese segmento
Pasos de configuración
- Cree segmentos en Midaz — Defina los segmentos de cuenta que determinan las reglas de tarifa
- Configure paquetes en Fee Engine — Vincule cada segmento a sus reglas de cálculo de tarifa
- Asigne segmentos a las cuentas — Cree o actualice cuentas en Midaz con el ID de segmento apropiado
7. Conciliación DICT (VSync)
VSync concilia sus datos DICT locales con BACEN procesando todos los eventos relacionados con claves del día. Esto asegura que su estado local se mantenga consistente con los registros autoritativos de BACEN.
El rango CIDR restringe qué redes pueden activar la conciliación. El plugin rechaza automáticamente solicitudes de fuera de este rango.
8. Seguridad interna de webhooks
El plugin usa un canal de comunicación interno entre los servicios Worker y Application. Firmas HMAC-SHA256 protegen este canal para evitar manipulación y ataques de replay.
9. Capas de workers
El plugin opera con tres capas de workers, cada una manejando una parte diferente del ciclo de vida del Pix. Todos los workers se ejecutan como servicios separados junto a la aplicación principal.
Worker de entrada
El worker de entrada recibe notificaciones de webhook de BTG y las reenvía a su aplicación para procesamiento.
Worker de salida
El worker de salida envía notificaciones de eventos del plugin a su aplicación vía webhooks. Así es como su sistema se mantiene informado sobre eventos Pix (transferencias, devoluciones, reivindicaciones, disputas).
Prioridad de resolución de URL
El plugin resuelve URLs de webhook en este orden, usando la primera coincidencia:- URL de entidad — Una URL específica para el tipo de evento (ej.:
WEBHOOK_DICT_CLAIM_URL) - URL de flujo — Una URL para la categoría más amplia (ej.:
WEBHOOK_DICT_URL) - URL predeterminada — La URL de fallback (
WEBHOOK_DEFAULT_URL)
Worker de conciliación
El worker de conciliación necesita las mismas credenciales de la capa Application para estos servicios:
- CRM — URL y credenciales
- BTG — URL y credenciales
- Midaz — ID de organización
Si deja ambos campos vacíos, el worker se ejecuta sin restricciones de horario — 24/7.
Próximos pasos
Con el plugin completamente configurado, está listo para comenzar a operar Pix. Explore estos temas para profundizar:
- Cómo funciona la participación indirecta — Visión general del modelo de participación indirecta
- Webhooks — Tipos de eventos, payloads, reintentos y buenas prácticas
- Dominios principales: DICT — Entendiendo la gestión de claves Pix
- Dominios principales: transacciones — Flujos de transacción y ciclo de vida
- Dominios principales: QR Codes — Generación de QR codes estáticos y dinámicos
- Referencia de la API — Documentación completa de las APIs de DICT, Claims, Transacciones, QR Codes y MED

