Eventos invoice_paid, invoice_expired e invoice_cancelled usam {update_id, update_type, request_date, payload}; payload é o objeto da API. Relacione pelo seu payload.payload, não por valor ou horário.

Eventos billing não usam esse envelope. Phoenix adiciona type e account_id aos metadados no nível superior, por exemplo {"type":"billing.account_unserviceable","account_id":"<uuid>","reason":"processing_credit_depleted"}. A família inclui topup, ativação/fila/expiração de pacotes, crédito baixo/esgotado, account_unserviceable e account_service_restored.

webhook_test usa o envelope de fatura. Verifique a assinatura e responda 2xx sem lógica de negócio. Despache por GramPay-Event; trate tudo idempotentemente.

Próximo passo

Os primeiros 50 pagamentos são por nossa conta.

Começar com US$ 5 ↗