Skip to main content
Tutorial focado em implementar o receptor de webhooks. Referência completa de eventos: guia de webhooks.

1. Endpoint no seu servidor

Exponha uma rota POST pública com HTTPS:
Em produção a WovePay exige HTTPS. Em desenvolvimento use ngrok, Cloudflare Tunnel ou similar.
O handler deve:
  1. Ler o raw body (antes de parsear JSON)
  2. Validar x-WovePay-signature
  3. Processar ou enfileirar o evento
  4. Responder 200 rapidamente

2. Cadastrar na WovePay

Guarde o whsec_... da resposta — só aparece na criação. Armazene em WovePay_WEBHOOK_SECRET. Permissão: webhooks/create.

3. Validar assinatura (Node.js / Express)

Python (FastAPI)

4. Idempotência

A WovePay pode reenviar a mesma entrega (retentativas: 1 min, 5 min, 15 min, 1 h, 4 h — até 5 tentativas). Persista o id da entrega antes de efeitos colaterais:

5. Eventos que você provavelmente precisa

Lista completa: guia de webhooks — eventos.

6. Escopo por API key

Se o webhook não chega, confira se a cobrança foi criada com a mesma chave que cadastrou o endpoint.

Checklist

  • HTTPS em produção
  • HMAC no raw body com timingSafeEqual / compare_digest
  • Resposta 2xx em até alguns segundos
  • Idempotência pelo id da entrega
  • whsec_ em variável de ambiente, não no código
  • Logs com requestId da API, nunca a chave completa

Próximo passo

Troubleshooting de webhooks · Cadastrar endpoint