1. Endpoint no seu servidor
Exponha uma rota POST pública com HTTPS:- Ler o raw body (antes de parsear JSON)
- Validar
x-WovePay-signature - Processar ou enfileirar o evento
- Responder
200rapidamente
2. Cadastrar na WovePay
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 oid 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
2xxem até alguns segundos - Idempotência pelo
idda entrega -
whsec_em variável de ambiente, não no código - Logs com
requestIdda API, nunca a chave completa