Stripe Webhook Tester — Test & Inspect Online

Test and inspect Stripe webhooks online with a free webhook tester URL — capture real Stripe payloads, read the signature header, then forward locally.

Stripe Webhook Tester — Test & Inspect Stripe Webhooks Online

If you are wiring up Stripe webhooks, the first question is always the same: what does Stripe actually send? The docs show an idealised payload, but the real request — its headers, its Stripe-Signature header, the exact JSON shape — is what your handler has to parse. A Stripe webhook tester gives you a public URL that captures those real requests so you can read every byte before you write any code.

Get a free Stripe webhook tester URL

The fastest way is our free Webhook Bin — a no-code webhook tester that gives you an instant public URL and stores every request that hits it, headers and body included. No signup, no deploy:

  1. Open the Webhook Bin and copy the URL it generates for you.
  2. In Developers → Webhooks in the Stripe Dashboard, add a webhook endpoint and paste that URL.
  3. Trigger an event (see below) and watch the request land in the bin in real time.

Because the bin keeps the full request, you can inspect the Stripe-Signature header, the Content-Type, and the complete payload — the three things you need to build and verify a handler.

What a Stripe webhook looks like

Stripe delivers webhooks as an HTTP POST with a application/json body. Stripe lets you fire test events straight from the dashboard or with the Stripe CLI, so you can replay a real payment_intent.succeeded into your bin and read every field it actually sends.

A typical payment_intent.succeeded payload looks like this:

{
  "id": "evt_1P...",
  "object": "event",
  "type": "payment_intent.succeeded",
  "data": {
    "object": {
      "id": "pi_3P...",
      "object": "payment_intent",
      "amount": 1999,
      "currency": "usd",
      "status": "succeeded"
    }
  }
}

Common Stripe events you will want to test:

  • payment_intent.succeeded
  • checkout.session.completed
  • customer.subscription.updated
  • invoice.paid

Verifying the Stripe signature

Stripe signs each request so you can prove it really came from Stripe. The signature travels in the Stripe-Signature header and is HMAC-SHA256 computed over timestamp.payload, using a signing secret that starts with whsec_. Capture a real request first, then use our Stripe signature verifier and the verify a webhook signature guide to confirm your verification logic against a payload you can actually see.

From inspecting to receiving on localhost

A bin is perfect for seeing the payload. When you are ready to drive your local handler with real Stripe events — without deploying — forward them straight to localhost with the Webhook Relay agent. The full walkthrough is here: Receive Stripe webhooks on localhost.

That gives you a stable public URL that tunnels to your machine, so Stripe keeps delivering to the same endpoint while you iterate on localhost, no firewall changes or public IP required.

Test Stripe webhooks online in three steps

  1. Capture — point Stripe at a Webhook Bin URL and inspect the real request.
  2. Verify — confirm the Stripe-Signature header with the Stripe signature verifier.
  3. Forward — when the shape is clear, receive Stripe webhooks on localhost and build your handler.

New to webhooks in general? Start with what is a webhook and how to test webhooks.

Ready to inspect your first Stripe event? Open a free Webhook Bin and paste the URL into Stripe.

Frequently asked questions

How do I test Stripe webhooks online?

Open a free Webhook Bin to get a public URL, add it as a webhook endpoint in Developers → Webhooks in the Stripe Dashboard, then trigger an event. Every request Stripe sends is captured with its full headers and body, so you can inspect the payload and the Stripe-Signature header without writing any code or deploying.

Which header carries the Stripe webhook signature?

Stripe sends its signature in the Stripe-Signature header. Capture a real request in a webhook tester first so you can verify your signature-checking code against the exact bytes Stripe signed, rather than a guess from the docs.

How do I receive Stripe webhooks on localhost?

A bin shows you the payload, but to drive a local handler you forward the requests to your machine. Run the Webhook Relay agent and point Stripe at a stable public endpoint that tunnels to localhost — see Receive Stripe webhooks on localhost for the full walkthrough. No public IP or firewall changes are needed.