Skip to main content
Use webhooks para dirigir o estado de pagamentos, assinaturas e payouts. Use polling apenas para debug, recuperação ou reconciliação.

Quando usar webhooks

  • Mudanças de estado de pagamento em fluxos Pix, voucher e cartão
  • Renovações, falhas, atualizações e cancelamento de assinaturas
  • Progresso e liquidação de transferências Pix Out
  • Atualização rápida de pedidos e payouts sem polling no front-end

Padrões de entrega

Assinaturas centrais

Use um endpoint estável quando quiser um pipeline único de ingestão para todos os eventos recorrentes.

Callbacks por requisição

Defina notify_url em uma transação ou transferência específica quando apenas um fluxo precisar receber aquele callback. Um postback de notify_url vai sem assinatura.

Exemplo de requisição com notify_url

Resposta mínima de ACK

Erro comum de ingestão

Status 400
Como corrigir: valide o id de topo do webhook antes de enfileirar trabalho. Faça deduplicação por esse ID e depois processe de forma assíncrona.

Assinatura HMAC

Quando o webhook tem Token de Segurança, verifique X-Pagou-Timestamp e X-Pagou-Signature antes de confiar no corpo. A verificação está em Verificando a assinatura HMAC. Um webhook sem Token de Segurança, e todo postback de notify_url, vai sem assinatura. Reconciliar com GET continua recomendado.

Fluxo recomendado de ingestão

  1. Receba o POST HTTPS.
  2. Quando o webhook tem Token de Segurança, verifique a assinatura. Veja Verificando a assinatura HMAC.
  3. Valide o ID de topo do evento.
  4. Responda 200 OK rapidamente.
  5. Persista ou enfileire o payload.
  6. Reconcilie com GET se o worker cair ou se algum efeito colateral ficar incerto.

Próximos passos