Pré-requisitos
Antes de começar, certifique-se de que você tem:
- 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 de Midaz e CRM (implantadas e em execução)
- Acesso aos serviços do provedor BTG (o BTG fornece as credenciais)
1. Licença
O plugin é uma solução enterprise e requer 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 gerencia a autenticação do plugin. Quando habilitado, ele valida todas as requisições de entrada antes que cheguem à 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 concede acesso ao endpoint e método da API requisitados
Você só precisa fornecer credenciais de cliente (
CLIENT_ID / CLIENT_SECRET) para os serviços Midaz, CRM e Fee se esses serviços também tiverem autenticação via Access Manager habilitada.3. Midaz
O Midaz é o ledger principal para todas as transações Pix que o plugin processa. O plugin registra cada operação de cash-in, cash-out e devolução no Midaz como uma transação de partida dobrada.
Conexão
Requisitos de asset
Configure um asset na sua organização e ledger com estas propriedades:
| Propriedade | Valor |
|---|---|
| Type | currency |
| Code | BRL |
BRL. O plugin rejeita operações em contas que não correspondem a esta configuração.
Criação de 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 configurar as contas. Cada conta deve:
- Pertencer à organização e ao ledger configurados
- Usar o asset
BRL
Header X-Account-Id
Muitas operações Pix exigem o header
X-Account-Id para identificar qual conta está realizando a ação. Este ID corresponde ao ID da conta no ledger do Midaz.
Quando você chama um endpoint do plugin, o valor de X-Account-Id indica ao plugin:
- Qual conta usar para operações no 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 forma diferente dependendo do tipo de operação:| Tipo de fluxo | Como o plugin usa o ID da conta |
|---|---|
| Não transacional (ex.: criação de chaves ou QR codes) | Busca dados de cliente e conta bancária no CRM |
| Transacional (ex.: pagamentos, devoluções) | Busca dados de cliente para iniciação de pagamento |
| Valida dados da conta para autorização de pagamento recebido | |
| Executa a transação no ledger |
Compliance de conta
O plugin não aplica restrições de nível de negócio em contas, como contas bloqueadas ou suspensas. Sua aplicação é responsável por validar o status da conta antes de chamar o plugin. Para impedir liquidações Pix em uma conta específica, bloqueie-a diretamente no Midaz. O plugin recebe uma rejeição quando tenta registrar a transação. Documentação relacionada:
4. CRM
O CRM armazena informações de clientes (holders) e suas contas bancárias associadas. Cada conta no Midaz deve ter um holder e uma alias account correspondentes no CRM para realizar operações Pix. O plugin consulta dados do CRM para:
- Registrar e validar chaves Pix
- Construir mensagens de pagamento para o BACEN
- Autorizar transações recebidas
- Processar fluxos de devolução e disputa
Conexão
Holders
Os dados de holder representam o cliente que é dono da conta. Crie cada holder no CRM antes de executar qualquer operação Pix para esse cliente.
Campos obrigatórios
| Campo | Requisito | Exemplo |
|---|---|---|
name | Máximo de 120 caracteres | Maria Silva Santos |
document | Para NATURAL_PERSON, um CPF com 11 dígitos; para LEGAL_PERSON, um CNPJ com 14 dígitos (apenas números) | 12345678900 |
type | Tipo de pessoa (valores enum do CRM) | NATURAL_PERSON |
Campos opcionais
| Campo | Quando usar |
|---|---|
legalPerson.tradeName | Quando associar um nome fantasia aos dados da chave |
addresses.primary | Obrigatório para criação de cobrança com vencimento |
Alias accounts
As alias accounts vinculam uma conta do Midaz aos seus dados bancários. Cada alias account deve incluir as informações bancárias que o ecossistema Pix exige para processamento de transações.
Campos obrigatórios
| Campo | Requisito | Exemplo |
|---|---|---|
accountId | ID da conta no Midaz (UUID) | 3c90c3cc-0d44-4b50-8888-8dd25736052a |
bankingDetails.branch | Exatamente 4 dígitos | 0001 |
bankingDetails.account | 1 a 20 dígitos | 123456789 |
bankingDetails.type | Tipo de conta (veja tabela abaixo) | CACC |
bankingDetails.openingDate | Formato AAAA-MM-DD | 2024-01-15 |
Tipos de conta suportados
| Código | Descrição |
|---|---|
CACC | Conta corrente |
SLRY | Conta salário |
SVGS | Conta poupança |
TRAN | Conta de transação |
5. Provedor BTG
O BTG é o participante direto que conecta sua instituição à infraestrutura Pix do BACEN. O BTG fornece as credenciais diretamente quando sua instituição se cadastra para integração indireta com o BACEN.
Conexão
mTLS (segurança de webhook)
O Mutual TLS (mTLS) adiciona uma camada extra de segurança ao validar o certificado do BTG nas requisições de webhook. Isso garante que os webhooks recebidos realmente se originam do BTG.
6. Serviço de tarifas (opcional)
Habilite o cálculo de tarifas para cobrar e distribuir tarifas automaticamente em pagamentos recebidos. Isso é opcional — se você não configurar, o plugin processa 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 recebedora
- Calcula as tarifas aplicáveis antes de processar a transação no Midaz
- Distribui o pagamento recebido de acordo com as regras de pacote vinculadas 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 Fee Engine — Vincule cada segmento às suas regras de cálculo de tarifa
- Atribua segmentos às contas — Crie ou atualize contas no Midaz com o ID de segmento apropriado
7. Conciliação DICT (VSync)
O VSync concilia seus dados DICT locais com o BACEN processando todos os eventos relacionados a chaves do dia. Isso garante que seu estado local permaneça consistente com os registros autoritativos do BACEN.
A faixa CIDR restringe quais redes podem acionar a conciliação. O plugin rejeita automaticamente requisições de fora dessa faixa.
8. Segurança interna de webhooks
O plugin usa um canal de comunicação interno entre os serviços Worker e Application. Assinaturas HMAC-SHA256 protegem este canal para evitar adulteração e ataques de replay.
9. Camadas de workers
O plugin opera com três camadas de workers, cada uma tratando uma parte diferente do ciclo de vida do Pix. Todos os workers executam como serviços separados junto à aplicação principal.
Worker de entrada
O worker de entrada recebe notificações de webhook do BTG e as encaminha para sua aplicação para processamento.
Worker de saída
O worker de saída envia notificações de eventos do plugin para sua aplicação via webhooks. É assim que seu sistema se mantém informado sobre eventos Pix (transferências, devoluções, reivindicações, disputas).
Prioridade de resolução de URL
O plugin resolve URLs de webhook nesta ordem, usando a primeira correspondência:- URL da entidade — Uma URL específica para o tipo de evento (ex.:
WEBHOOK_DICT_CLAIM_URL) - URL do fluxo — Uma URL para a categoria mais ampla (ex.:
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 ambos os campos vazios, o worker executa sem restrições de horário — 24/7.
Próximos passos
Com o plugin totalmente configurado, você está pronto para começar a operar o Pix. Explore estes tópicos para aprofundar:
- Como a participação indireta funciona — Visão geral do modelo de participação indireta
- Webhooks — Tipos de eventos, payloads, retentativas e boas práticas
- Domínios principais: DICT — Entendendo a gestão de chaves Pix
- Domínios principais: transações — Fluxos de transação e ciclo de vida
- Domínios principais: QR Codes — Geração de QR codes estáticos e dinâmicos
- Referência da API — Documentação completa das APIs de DICT, Claims, Transações, QR Codes e MED

