Troubleshooting · Oct 2026 · 2 min read
Webhooks not arriving: a checklist
When a payment, form or deployment webhook does not reach your application, work through these checks in order.
Start in the sending service's dashboard. Most providers keep a delivery log for each webhook with the response code your server returned and the time of each attempt. This tells you immediately whether the request left the provider and what happened when it reached you.
Make sure the address is reachable from the internet. A webhook cannot reach localhost. During development, use a tunnelling tool or the provider's own command-line tool to forward events to your computer.
Check the HTTPS certificate. Many providers refuse to deliver to an address with an expired or invalid certificate.
Look at what your application does with the request. Frameworks often protect form submissions with CSRF tokens, and that protection rejects webhooks unless you exclude the webhook route.
If you verify signatures, verify them against the raw request body. Many frameworks parse the body before your code sees it, and a parsed and re-encoded body no longer matches the signature.
Respond quickly with a success code and do slow work afterwards. Providers retry deliveries that time out, so make sure handling the same event twice does no harm.