- Atualizações quase em tempo real
- Integrações desacopladas
- Conciliação confiável e rastreabilidade operacional
Pré-requisitos
Antes de configurar webhooks, certifique-se de ter:
- O Plugin Pix Indireto configurado e em execução (veja Como a participação indireta funciona)
- Um endpoint HTTPS pronto para receber requisições de webhook
- Entendimento básico do ciclo de vida de eventos Pix e fluxos de transação
Por que webhooks são importantes no Pix
O Pix é um sistema assíncrono e multipartícipe. Mesmo quando uma requisição à API tem sucesso, o estado final de uma transação só é confirmado depois, após liquidação e confirmação da contraparte. Webhooks permitem que seu sistema:
- Rastreie o status autoritativo da transação
- Reaja a devoluções, estornos e eventos do MED
- Mantenha consistência do ledger e operacional
- Reduza polling e sobrecarga operacional
Tipos de evento
Você recebe eventos agrupados por fluxo e entidade, alinhados com os domínios do BACEN (Banco Central do Brasil).
| Fluxo | Entidade | Descrição |
|---|---|---|
| DICT | CLAIM | Eventos de portabilidade e reivindicação de propriedade de chave Pix |
| DICT | INFRACTION_REPORT | Relatórios de infração MED (Mecanismo Especial de Devolução) e ciclo de vida de disputas |
| DICT | REFUND | Eventos de solicitação de devolução MED |
| TRANSFER | CASHIN | Atualizações de status de pagamento Pix recebido |
| TRANSFER | CASHOUT | Atualizações de status de pagamento Pix enviado |
| REFUND | CASHIN | Atualizações de status de devolução Pix recebida |
| REFUND | CASHOUT | Atualizações de status de devolução Pix enviada |
DICT (Diretório de Identificadores de Contas Transacionais) é o diretório do BACEN que gerencia chaves Pix e operações relacionadas como reivindicações, infrações e devoluções.
Configuração de webhooks
Você habilita webhooks configurando URLs de destino e selecionando quais tipos de evento seu sistema deve receber.
Variáveis de ambiente
Você pode configurar endpoints de webhook em nível de entidade, fluxo ou global.
| Fluxo | Entidade | URL da Entidade | URL do Módulo |
|---|---|---|---|
| DICT | CLAIM | WEBHOOK_DICT_CLAIM_URL | WEBHOOK_DICT_URL |
| DICT | INFRACTION_REPORT | WEBHOOK_DICT_INFRACTION_REPORT_URL | WEBHOOK_DICT_URL |
| DICT | REFUND | WEBHOOK_DICT_REFUND_URL | WEBHOOK_DICT_URL |
| TRANSFER | CASHIN | WEBHOOK_TRANSFER_CASHIN_URL | WEBHOOK_TRANSFER_URL |
| TRANSFER | CASHOUT | WEBHOOK_TRANSFER_CASHOUT_URL | WEBHOOK_TRANSFER_URL |
| REFUND | CASHIN | WEBHOOK_REFUND_CASHIN_URL | WEBHOOK_REFUND_URL |
| REFUND | CASHOUT | WEBHOOK_REFUND_CASHOUT_URL | WEBHOOK_REFUND_URL |
Prioridade de resolução de URL
Quando múltiplas URLs estão configuradas, o sistema as resolve na seguinte ordem:
-
URL em nível de entidade
Exemplo:
WEBHOOK_DICT_CLAIM_URL -
URL em nível de fluxo
Exemplo:
WEBHOOK_DICT_URL -
URL padrão
WEBHOOK_DEFAULT_URL
Formato da requisição
Headers
Toda requisição de webhook inclui headers padronizados para rastreabilidade e segurança.
| Header | Descrição |
|---|---|
Content-Type | application/json |
X-Request-ID | Identificador único da requisição |
X-Entity-Type | Entidade do evento (ex.: INFRACTION_REPORT) |
X-Flow-Type | Domínio de origem (ex.: DICT) |
Idempotency-Key | Identificador único do evento para deduplicação |
Estrutura do body
| Campo | Descrição |
|---|---|
entityType | Entidade do evento |
flowType | Domínio Pix |
payload | Dados específicos do evento |
Respostas e comportamento de retentativa
Resposta esperada
Seu endpoint deve retornar um status HTTP 2xx para confirmar entrega bem-sucedida.
| Resposta | Resultado |
|---|---|
| 2xx | Entregue com sucesso |
| Non-2xx | Retentativa automática |
Estratégia de retentativa
Entregas com falha são retentadas automaticamente usando backoff exponencial:
| Tentativa | Atraso |
|---|---|
| 1 | 1 segundo |
| 2 | 2 segundos |
| 3 | 4 segundos |
- Máximo de retentativas: 3
- Timeout por requisição: 30 segundos
Configurações customizadas de retentativa
Retentativas e timeouts podem ser customizados por evento:Proteção por circuit breaker
Para prevenir falhas em cascata, a entrega de webhooks é protegida por um circuit breaker. Quando o Plugin Pix detecta falhas repetidas de entrega (tipicamente respostas
5xx consecutivas ou timeouts), ele temporariamente pausa as chamadas de webhook para o endpoint afetado.
Após um período de cooldown configurável, o sistema realiza tentativas controladas de retentativa para verificar se o endpoint se recuperou.
Uma vez que respostas bem-sucedidas são detectadas, a entrega normal é retomada automaticamente.
Este mecanismo garante:
- Proteção contra endpoints sobrecarregados ou instáveis
- Recuperação graceful sem intervenção manual
- Maior estabilidade geral do sistema em ambientes de produção
O comportamento do circuit breaker funciona junto com retentativas e backoff exponencial, adicionando uma camada extra de segurança para entrega de webhooks.
Boas práticas
| Prática | Por que é importante |
|---|---|
| Ignore campos desconhecidos | Mantenha compatibilidade futura conforme novos campos são adicionados |
| Processamento idempotente | Use Idempotency-Key para evitar processamento duplicado |
| Confirmação rápida | Retorne 202 Accepted e processe de forma assíncrona |
| Processamento assíncrono | Evite bloquear a thread do webhook |
| Trate compressão | Payloads >1KB são comprimidos com gzip. Verifique o header Content-Encoding e descomprima adequadamente |
Exemplos de eventos
Abaixo estão exemplos representativos de payloads de webhook que você recebe do Plugin Pix Indireto.
Reivindicação DICT
Eventos de ciclo de vida de propriedade ou portabilidade. Use-os para rastrear disputas de chave Pix entre instituições.
Relatório de infração DICT (MED)
Eventos de disputa e sinalização de fraude alinhados com as regras MED do BACEN.
Devolução DICT (MED)
Solicitações de devolução e decisões relacionadas a casos MED.
Cash-in e cash-out de transferência
Eventos de transferência Pix de entrada e saída. Cash-in (transferência recebida):
Cash-in e cash-out de devolução
Eventos de liquidação de devolução para transações Pix. Cash-in de devolução (recebendo uma devolução):
Conclusão principal
Webhooks não são opcionais nas operações de Pix Indireto. Eles são o canal autoritativo para estado de transação, devoluções e tratamento de disputas. Uma implementação correta de webhooks garante:
- Conciliação precisa
- Conformidade regulatória
- Resiliência operacional
- Experiência previsível para o cliente
Próximos passos
Agora que você entende como webhooks funcionam no Pix Indireto, explore esses tópicos relacionados:
- Como a participação indireta funciona - Configuração e setup inicial
- Principais domínios do Pix: transferências - Mergulho profundo nas operações de transferência
- Principais domínios do Pix: DICT - Entendendo operações DICT e gestão de chaves
- Principais domínios do Pix: MED - Tratamento de disputas e devoluções MED
- Referência da API — Documentação completa das APIs de DICT, Claims, Transações, QR Codes e MED

