Pré-requisitos
Antes de começar, confirme que você tem:
- O seu ISPB (Identificador do Sistema de Pagamentos Brasileiro): o identificador de 8 dígitos derivado do CNPJ da sua instituição
- Acesso às suas instâncias do Midaz e do CRM (com deploy feito e rodando)
- Acesso aos serviços do provedor BTG (o BTG fornece as credenciais)
PIX_ISPB também serve para detectar transferências intra-PSP (P2P): quando o ISPB de destino de uma transferência é igual a esse valor, o plugin a liquida internamente em vez de encaminhá-la ao BTG, e continua reportando ao BACEN. Veja Transferências intra-PSP.1. Licença
O plugin é uma solução enterprise e exige uma licença válida para operar. A Lerian fornece a chave de licença durante o onboarding.
2. Access Manager (opcional)
O Access Manager cuida da autenticação do plugin. Quando está habilitado, ele valida todas as requisições recebidas antes de elas chegarem à API do plugin.
PLUGIN_AUTH_ENABLED=true, o plugin valida o header Authorization de cada requisição para garantir que:
- O token pertence a um usuário ou aplicação autorizada
- O token dá acesso ao endpoint e ao método da API solicitados
Você precisa fornecer credenciais de cliente (
CLIENT_ID / CLIENT_SECRET) para os serviços Midaz, CRM e de tarifas apenas se esses serviços também tiverem a autenticação do Access Manager habilitada.3. Midaz
O Midaz é o ledger central de todas as transações Pix que o plugin processa. O plugin lança cada operação de cash-in, cash-out e devolução no Midaz como uma transação por partidas dobradas.
Conexão
Requisitos de ativo
Configure um ativo na sua organização e no seu ledger com estas propriedades:
Vincule todas as contas ao seu ledger usando o ativo
BRL. O plugin rejeita operações em contas que não seguem essa configuração.
Configuração das contas
Antes de usar o plugin, crie uma conta no Midaz para cada cliente sob o seu ISPB. Use o endpoint Create an Account para criar as contas. Cada conta deve:
- Pertencer à organização e ao ledger que você configurou
- Usar o ativo
BRL
Header X-Account-Id
Muitas operações Pix exigem o header
X-Account-Id para identificar qual conta executa a ação. Esse ID corresponde ao ID da conta no ledger do Midaz.
Quando você chama um endpoint do plugin, o valor de X-Account-Id diz ao plugin:
- Qual conta usar nas operações do ledger
- Quais dados de cliente buscar no CRM
- Qual saldo validar e atualizar
Como o plugin usa o ID da conta
O plugin usa o ID da conta de formas diferentes conforme o tipo de operação:Conformidade das contas
O plugin não aplica restrições de conta no nível de negócio, como contas bloqueadas ou suspensas. A sua aplicação deve validar o status da conta antes de chamar o plugin. Para impedir liquidações Pix em uma conta específica, bloqueie a conta direto no Midaz. O plugin recebe uma rejeição quando tenta lançar a transação. Documentação relacionada:
4. CRM
O CRM guarda as informações do cliente (titular) e as contas bancárias associadas a ele. Cada conta do Midaz deve ter um titular e uma conta alias correspondentes no CRM para executar operações Pix. O plugin consulta os dados do CRM para:
- Registrar e validar chaves Pix
- Montar as mensagens de pagamento para o BACEN
- Autorizar as transações recebidas
- Processar os workflows de devolução e de disputa
Conexão
Titulares
Os dados do titular representam o cliente dono da conta. Crie cada titular no CRM antes de executar qualquer operação Pix para esse cliente.
Campos obrigatórios
Campos opcionais
Documentação relacionada: Criar um titular
Contas alias
As contas alias ligam uma conta do Midaz aos dados bancários dela. Cada conta alias deve incluir as informações bancárias que o ecossistema Pix exige para processar transações.
Campos obrigatórios
Tipos de conta aceitos
Documentação relacionada: Criar uma conta alias
5. Provedor BTG
O BTG é o participante direto que conecta sua instituição à infraestrutura do Pix no BACEN. O BTG fornece as credenciais diretamente quando sua instituição contrata a integração indireta com o BACEN.
Conexão
mTLS (segurança dos webhooks)
O TLS mútuo (mTLS) valida o certificado do BTG nas requisições de webhook. Ele confirma que os webhooks recebidos vêm do BTG.
6. Serviço de tarifas (opcional)
Habilite o cálculo de tarifas para cobrar e distribuir tarifas automaticamente nos pagamentos recebidos. Isso é opcional. Se você não configurar, o plugin processa as transações sem cálculo de tarifas.
Conexão
Como funciona
Quando você define
CASHIN_FEE_CALCULATION_TYPE=segment, o plugin:
- Busca o segmento associado à conta que recebe
- Calcula as tarifas aplicáveis antes de processar a transação no Midaz
- Distribui o pagamento recebido conforme as regras de pacote ligadas a esse segmento
Passos de configuração
- Crie segmentos no Midaz: defina os segmentos de conta que determinam as regras de tarifa
- Configure pacotes no Fees Engine: ligue cada segmento às regras de cálculo de tarifa dele
- Atribua segmentos às contas: crie ou atualize contas do Midaz com o ID de segmento adequado
- Conciliação do DICT (VSync)
O VSync concilia seus dados locais do DICT com o BACEN processando todos os eventos do dia relacionados a chaves. Isso garante que seu estado local fique consistente com os registros oficiais do BACEN.
A faixa CIDR restringe quais redes podem disparar a conciliação. O plugin rejeita automaticamente as requisições que vêm de fora dessa faixa.
Configuração do cache Redis
O VSync usa o Redis para fazer cache dos vínculos do BTG/DICT e dos titulares do CRM durante a conciliação. Nos deploys com Helm, o
REDIS_HOST padrão aponta para o sidecar Valkey embutido, então uma instalação padrão não exige configuração extra.
Nos deploys com Helm, o
REDIS_HOST padrão aponta para o sidecar Valkey embutido (<release-name>-valkey:6379). Nenhuma configuração adicional de Redis é necessária, a menos que você conecte a uma instância externa.Conexão (sempre usada)
Pool de conexões e novas tentativas (sempre usados)
Autenticação (opcional, usada apenas se definida)
TLS (opcional, usado apenas se REDIS_TLS=true)
Autenticação IAM da GCP (opcional, usada apenas se REDIS_USE_GCP_IAM=true)
TTLs do cache do VSync (sempre usados)
8. Segurança dos webhooks internos
O plugin usa um canal de comunicação interno entre os serviços Worker e Application. As assinaturas HMAC-SHA256 protegem esse canal contra adulteração e ataques de replay.
9. Camadas de worker
O plugin opera com três camadas de worker, cada uma cuidando de uma parte diferente do ciclo de vida do Pix. Todos os workers rodam como serviços separados ao lado da aplicação principal.
Worker de entrada
O worker de entrada recebe as notificações de webhook do BTG e as encaminha para a sua aplicação processar.
Worker de saída
O worker de saída envia as notificações de evento do plugin para a sua aplicação por webhooks. É assim que o seu sistema fica informado sobre os eventos Pix (transferências, devoluções, reivindicações, disputas).
Prioridade de resolução de URL
O plugin resolve as URLs de webhook nesta ordem, usando a primeira que corresponder:- URL de entidade: uma URL específica do tipo de evento (por exemplo,
WEBHOOK_DICT_CLAIM_URL) - URL de fluxo: uma URL para a categoria mais ampla (por exemplo,
WEBHOOK_DICT_URL) - URL padrão: a URL de fallback (
WEBHOOK_DEFAULT_URL)
Worker de conciliação
O worker de conciliação precisa das mesmas credenciais da camada Application para estes serviços:
- CRM: URL e credenciais
- BTG: URL e credenciais
- Midaz: ID da organização
Se você deixar os dois campos vazios, o worker roda sem restrição de horário (24/7).
O worker sempre interpreta a janela de conciliação no fuso
America/Sao_Paulo (BRT), qualquer que seja o relógio do contêiner ou a variável TZ. O worker embute os dados de fuso horário da IANA. A janela continua alinhada com o bloqueio de escrita do DICT do BACEN, mesmo em imagens mínimas ou distroless. Você não precisa definir TZ.Os endpoints de cashout e de devolução do Pix Indireto aceitam idempotência pelo header de requisição
X-Idempotency, com TTL configurável por X-TTL. Para estratégias de nova tentativa e detalhes de implementação, veja Novas tentativas e idempotência.10. Observabilidade (OpenTelemetry)
O plugin vem com instrumentação OpenTelemetry completa (traces, métricas e logs) nas camadas Application e Worker. O plugin rastreia cada fluxo Pix de ponta a ponta: transferências (cash-in e cash-out), devoluções, webhooks de entrada e de saída, conciliação do DICT e liquidação intra-PSP. Você pode seguir um único pagamento pelas chamadas ao plugin, ao Midaz, ao CRM e ao BTG. A telemetria vem desabilitada por padrão. Habilite e aponte o exporter OTLP para o seu collector:
Quando
ENABLE_TELEMETRY=true, OTEL_EXPORTER_OTLP_ENDPOINT é obrigatório. Defina as mesmas variáveis do OTel na Application e em cada Worker para os traces se correlacionarem entre os serviços.Exporter: gRPC e TLS
O plugin exporta traces, métricas e logs por OTLP/gRPC. O esquema do endpoint controla a segurança do transporte:
Exemplo: endpoint do collector
Aponte o plugin para qualquer collector compatível com OTLP (o OpenTelemetry Collector, Grafana LGTM/Alloy etc.) que escute na porta gRPC:
11. Health e readiness
A Application e os Workers expõem uma probe de readiness em
/readyz (ao lado das verificações padrão de liveness). Aponte a probe de readiness do seu orquestrador para esse endpoint para o tráfego ser roteado apenas quando o serviço e as dependências dele estiverem prontos.
Propósito da transferência (MED 2.0)
O endpoint de cashout aceita um header opcional
X-Purpose que identifica o propósito da transação, usado nas transferências de devolução do MED 2.0. Quando omitido, o padrão é TRANSFER.
TRANSFER e INSTANT_PAYMENT_REFUND. Veja MED 2.0 — Funds Recovery para detalhes.
Próximos passos
Com o plugin configurado, você pode começar a operar o Pix.
- Webhooks: tipos de evento, payloads, novas tentativas e boas práticas
- MED 2.0 — Funds Recovery: recuperação de fraude entre contas e o header X-Purpose
- Operações de devolução: devoluções parciais distribuídas e desbloqueio
- Transferências intra-PSP: liquidação P2P interna e reporte TRCK002
- Domínios principais: DICT: entender a gestão de chaves Pix
- Domínios principais: transações: fluxos e ciclo de vida das transações
- Domínios principais: QR Codes: geração de QR code estático e dinâmico
- Referência da API: documentação completa da API para as operações de DICT, reivindicações, transações, QR Codes e MED

