S
Receive Stripe webhooks on localhost
To build a Stripe integration you need real events — checkout.session.completed, invoice.paid, customer.subscription.updated — hitting your local handler. Pipehero gives you a public URL, an inspector and one-click replay, plus a signature badge so you know each event is genuine.
1Install Pipehero and start a tunnel
Install the CLI, log in, then expose your local port. You get a stable public URL like
myapp.t.pipehero.app.curl -fsSL pipehero.app/install | sh pipehero login pipehero start myapp --port 3000
2Add the endpoint in Stripe
In the Stripe Dashboard go to Developers → Webhooks → Add endpoint, and set the endpoint URL to your Pipehero URL with your webhook path. Pick the events you care about (e.g. checkout.session.completed).
https://myapp.t.pipehero.app/webhooks/stripe
3Copy the signing secret
Stripe shows a signing secret that starts with whsec_ for the endpoint. You'll add it to Pipehero to verify signatures.
4Inspect & replay
Every request shows up live in the dashboard (and the local panel at
localhost:4140) with headers and body. Hit Replay to re-send it to your localhost — no need to re-trigger the event at the provider. Requests that arrive while your CLI is offline are captured and can be replayed later.5Verify the signature
Stripe signs the raw body as `{timestamp}.{body}` and sends it in the `Stripe-Signature` header. Add your `whsec_…` secret under Signature verification (Stripe is built-in) and every captured event gets a ✓ valid / ✗ invalid badge — no code needed.
FAQ
Do I still need the Stripe CLI?
No, but you can keep it for `stripe trigger` to fire test events. Pipehero is the tunnel + inspector and also verifies the Stripe signature.
My handler returns 400 'invalid signature' — why?
Verify against the raw request body (not a parsed object) and use the exact whsec_ for this endpoint. Pipehero's badge tells you whether the signature itself is valid independent of your code.
Related
Start debugging webhooks in a minute
Free plan, no credit card. Expose localhost, inspect and replay every webhook.
Get started free