5 de novembro de 2026

O que é webhook de pagamento

Webhook de pagamento: aviso HTTP do gateway quando a cobrança é paga, reembolsada ou renovada. Eventos, segurança e retentativas.

Webhook de pagamento é uma notificação HTTP que o gateway envia ao seu servidor quando um evento acontece — por exemplo, cobrança paga, reembolso ou assinatura renovada. Em vez de perguntar a API o tempo todo (polling), você cadastra uma URL HTTPS e recebe um POST com o evento. Na AbacatePay os webhooks são assinados e têm retentativa automática se o seu endpoint falhar.

Documentação: webhooks AbacatePay. Este post explica o conceito; a doc detalha payloads e segurança.


Webhook × polling

Polling é o seu sistema perguntando à API a cada poucos segundos: “esse pagamento já confirmou?”. Funciona, mas gasta request, atrasa a liberação e escala mal.

Webhook inverte o sentido: quando o evento acontece, a AbacatePay manda um POST para a URL que você cadastrou. É o aviso push — para servidores.

Use webhook para liberar pedido, ativar assinatura, registrar reembolso ou acompanhar saque. Use polling (ou consulta pontual na API) como rede de segurança se a URL cair — não como caminho principal.


Como funciona na prática

Em três passos:

  1. Crie um endpoint HTTPS no seu backend (ex.: https://meusite.com/webhooks/abacatepay).
  2. Cadastre a URL no dashboard da AbacatePay (nome, URL e secret).
  3. Receba o POST quando o evento ocorrer — o corpo traz o campo event (ex.: checkout.completed, transparent.completed) e o objeto data.

Fluxo completo e telas do dashboard: docs de webhooks.


O que chega no payload

Os webhooks v2 compartilham o mesmo formato:

{
  "id": "log_abc123xyz",
  "event": "checkout.completed",
  "apiVersion": 2,
  "devMode": false,
  "data": {}
}

Campos que importam no dia a dia:

Dados sensíveis vêm mascarados: taxId parcialmente oculto; no cartão, só os últimos 4 dígitos e a bandeira. Os detalhes da validação HMAC estão na página de segurança dos webhooks.


Eventos que mais importam

Eventos da tabela oficial:

Evento Quando
checkout.completed / refunded / disputed Checkout pago, reembolsado ou em disputa
transparent.completed / refunded / disputed Cobrança transparente (Pix/boleto/cartão via API)
subscription.completed / cancelled / renewed Assinatura criada, cancelada ou renovada
payout.completed / failed Saque concluído ou falhou
transfer.completed / failed Transferência concluída ou falhou
pix_key.received / refunded Pix na chave fixa da conta

Assinaturas: /assinaturas. Saques e repasses: payouts.

Quer receber confirmação de pagamento no seu sistema? Fale com a gente.


Webhook no boleto e no Pix

No boleto emitido pelo painel, link, checkout ou API transparente, o pagamento confirmado chega por webhook. No fluxo transparente o evento documentado é transparent.completed — use esse nome no seu código.

Passo a passo de emissão: como emitir boleto online. Produto: boleto.

No Pix, o mesmo desenho vale: cobrança dinâmica + webhook + idempotência. Guia de conciliação: confirmar pagamento Pix automaticamente. Geração de QR: como gerar QR Code Pix via API. Produtos: /pix e /api-pix.


Segurança e boas práticas

Duas camadas recomendadas pela doc:

  1. Secret na URL (webhookSecret na query) — seu endpoint confere o secret antes de processar.
  2. Assinatura HMAC no header X-Webhook-Signature (HMAC-SHA256) — confere que o corpo não foi alterado. Implementação: segurança dos webhooks.

Outras regras da doc:

Retentativas (resumo)

Tentativa Quando
1ª Assim que o evento acontece
2ª 5 segundos depois
3ª 5 minutos
4ª 30 minutos
5ª 2 horas
6ª 5 horas
7ª (última) 10 horas

Até 7 tentativas em cerca de 18 horas. Ao receber 2xx, as próximas param. Detalhes: entrega e retentativas.


Dev mode e produção

Teste o endpoint, a validação do secret/HMAC e a idempotência sem dinheiro real. Roteiro: como testar o gateway no sandbox. Hub de integração: /desenvolvedores.


Perguntas frequentes

O que é webhook de pagamento?

É o POST que o gateway envia à sua URL HTTPS quando um evento acontece (pagamento confirmado, reembolso, renovação de assinatura, saque etc.). Alternativa ao polling.

Qual a diferença entre webhook e consultar a API?

No polling, você pergunta. No webhook, o gateway avisa. Webhook reduz latência e carga; a consulta à API continua útil como fallback.

Quais eventos a AbacatePay envia?

Checkout, transparente, assinatura, transferência, saque e Pix por chave — ver a tabela completa na doc.

O que acontece se meu servidor estiver fora?

A AbacatePay retenta até 7 vezes (~18 h). Se você responder 410 Gone, o webhook é desativado.

Como evitar processar o mesmo pagamento duas vezes?

Guarde o id do evento. Nas retentativas o id se repete — se já processou, responda 200 sem repetir a ação.

Webhook avisa boleto pago?

Sim. No transparente o evento é transparent.completed. Emissão: como emitir boleto online. Produto: boleto.

Preciso validar a assinatura?

Sim. Confira o secret na URL e a assinatura HMAC no header. Detalhes: segurança dos webhooks.

Dá pra testar em sandbox/Dev mode?

Sim. Webhooks de Dev mode recebem eventos simulados. Guia: sandbox AbacatePay.


Quer receber confirmação de pagamento no seu sistema? Fale com a gente.

Leia também: como emitir boleto online · confirmar pagamento Pix automaticamente · pagamento recorrente · payouts · API Pix · desenvolvedores

Você pode se interessar por