Webhook Tester
Get a temporary URL and inspect the headers and body of every webhook sent to it.
Check whether a webhook signature matches the payload and secret, and see the signature your code should compute. Debug “signature mismatch” errors without deploying.
SensaCat tracks each step of a business flow (payment, order, fulfilment) and alerts you when an expected event doesn’t show up in time.
The most common cause is verifying a parsed and re-serialized body instead of the raw bytes. Any change in whitespace, key order or encoding changes the signature. Other causes are using the wrong secret (test instead of live), a missing prefix such as sha256=, and comparing hex with Base64.
Stripe sends a Stripe-Signature header with a timestamp t and one or more v1 signatures. Each v1 value is a hex HMAC-SHA256 of the timestamp, a dot and the raw body, keyed with the endpoint’s signing secret.
GitHub sends an X-Hub-Signature-256 header containing sha256= followed by the hex HMAC-SHA256 of the raw body, keyed with the webhook secret.
Signatures are computed in your browser and nothing is sent to a server. Even so, prefer test-mode secrets, and rotate any secret you have shared.
Get a temporary URL and inspect the headers and body of every webhook sent to it.
Sample payloads and headers for Stripe, GitHub, Shopify, Slack, Twilio and Zapier.
Read a JWT’s header and claims, check expiry and verify HMAC signatures locally.