Webhooks

Simulando o Ciclo de Vida de um Pagamento via Webhook do PayPal

Teste sua integração contra a sequência real de eventos que uma venda dispara — de "pendente" até "completada" (ou negada).

Um pagamento no PayPal passa por vários eventos

Um checkout com PayPal raramente vai direto de "criado" pra "pago" numa única notificação. Dependendo do método de pagamento (saldo em conta, cartão, boleto internacional), sua integração pode receber PAYMENT.SALE.PENDING primeiro, e só depois PAYMENT.SALE.COMPLETED — ou PAYMENT.SALE.DENIED se o pagamento for recusado no processamento. Testar só o evento de sucesso deixa esse fluxo intermediário sem cobertura.

Modelando o ciclo de vida com Response Sequences

Configure uma Mock Rule com Response Sequences pra que cada chamada ao seu endpoint de recebimento devolva o próximo evento da sequência:

// Mock Rule: POST / → Response Sequences, mode: last
[
  { "status": 200, "body": "{\"id\":\"WH-1\",\"event_type\":\"PAYMENT.SALE.PENDING\",\"resource\":{\"id\":\"8XY123\",\"state\":\"pending\",\"amount\":{\"total\":\"49.90\",\"currency\":\"BRL\"}}}" },
  { "status": 200, "body": "{\"id\":\"WH-2\",\"event_type\":\"PAYMENT.SALE.COMPLETED\",\"resource\":{\"id\":\"8XY123\",\"state\":\"completed\",\"amount\":{\"total\":\"49.90\",\"currency\":\"BRL\"}}}" }
]

Chame o mesmo endpoint 2 vezes seguidas (ou use o botão Replay do dashboard) e sua integração recebe a sequência completa — exatamente como testaria uma máquina de estados de pedido que trata pendência antes da confirmação.

E a verificação de assinatura do webhook?

🔒
Limitação real, sem rodeio: o PayPal não usa um HMAC simples — a verificação oficial é feita chamando a própria API /v1/notifications/verify-webhook-signature do PayPal com os headers paypal-transmission-id/paypal-transmission-sig/paypal-cert-url recebidos. O motor de templates do httpdrop não reproduz esse fluxo de verificação (não existe helper de assinatura). O que ele testa bem é a lógica que reage a cada event_type — a etapa de verificação continua precisando ser testada isoladamente, com um webhook real ou o Webhooks Simulator do painel do desenvolvedor PayPal.
🚀
Próximo passo: veja os endpoints REST do PayPal pra completar o fluxo de checkout, não só o webhook.
Pronto para implementar? Consulte a documentação técnica completa com referência de API, exemplos de código e parâmetros detalhados.
Ver documentação →