~/tools / 01 / stripe-webhook-events
Stripe Webhook Event Mocker
Building a Stripe integration means handling webhooks long before real money moves. This tool ships editable, spec-shaped Stripe event envelopes — pick invoice.paid or charge.refunded, tweak the fields your handler cares about, and get a URL that replays the payload instantly. No Stripe CLI, no test-mode keys, no tunneling.
— validating —
$ man stripe-events
Everything above is encoded into the #data= fragment of the exported URL — deflated and base64url-packed by your browser. Fragments are never sent to any server, so this mock is shareable and private. Paste the URL anywhere: a teammate's browser decodes it identically.
cat ./tldr.txt
A Stripe webhook event mocker generates the exact JSON envelope Stripe POSTs to your endpoint for events like invoice.paid and charge.refunded, so you can build and debug your handler without a Stripe account, test-mode keys, or the Stripe CLI listener running.
./when-to-use-this
- Your handler needs to survive an invoice.paid event before billing code is finished, and you do not want to trigger real test charges to see the payload.
- You are debugging a subscription lifecycle bug and need to replay the same event body repeatedly with one field changed.
- A teammate reports a handler crash on charge.refunded — you need to share the exact payload that reproduces it.
./frequently-asked
- Can I use these payloads to test Stripe signature verification?
- Not with this tool alone. The stripe-signature header here is a structurally valid placeholder, not a real HMAC, so stripe.webhooks.constructEvent() will reject it. Use the Webhook Header Emulator to compute a genuine HMAC-SHA256 signature over the same payload with your own signing secret.
- How is this different from the Stripe CLI?
- The Stripe CLI forwards real events from your Stripe test account and requires login plus a tunnel. This tool is account-free and instant: you edit the event body directly in the browser and get a shareable URL. The CLI is better for end-to-end verification; this is better for fast iteration on handler logic.
- Are the event objects shaped like the real Stripe API?
- Yes. The templates mirror the documented Stripe event envelope, including id, object, api_version, created, livemode, pending_webhooks, request, and a nested data.object carrying the invoice or charge. Amounts are integers in the smallest currency unit, as Stripe sends them.