How to Test Stripe Webhooks Locally (2026 Guide)
Learn how to test Stripe webhooks on your local machine. Compare Stripe CLI and HookSense for local webhook development and debugging.
Ozer
Developer & Founder of HookSense
Testing Stripe webhooks locally is one of the most common challenges developers face when building payment integrations. You need to verify that your server correctly handles events like checkout.session.completed, invoice.paid, and payment_intent.succeeded — but Stripe can't reach your localhost.
In this guide, we'll walk through two approaches: the Stripe CLI and HookSense.
The Problem
When you configure a webhook endpoint in your Stripe Dashboard, Stripe sends HTTP POST requests to that URL when events occur. During development, your server runs on localhost:3000 — which isn't accessible from the internet. You need a way to bridge that gap.
Option 1: Stripe CLI
Stripe provides a CLI tool that can forward webhook events to your local server:
stripe listen --forward-to localhost:3000/webhooks/stripe
This works well for basic testing, but has limitations:
- Only works with Stripe — if you also handle GitHub or Shopify webhooks, you need separate tools
- No persistent history — once you close the terminal, the request log is gone
- No web UI — you're reading JSON in the terminal
- Can't replay failed requests
Option 2: HookSense
HookSense gives you a persistent URL that captures every incoming request with a real-time web UI. Here's how to use it with Stripe:
Step 1: Create an endpoint
Visit hooksense.com and create a new endpoint. You'll get a URL like:
https://hooksense.com/w/abc123
Step 2: Add it to Stripe
In your Stripe Dashboard, go to Developers → Webhooks and add your HookSense URL as the endpoint. Select the events you want to receive.
Step 3: Forward to localhost
Use the HookSense CLI to forward incoming webhooks to your local server:
npx hooksense listen -p 3000
Now every Stripe event hits your HookSense endpoint (where you can inspect it in the web UI) and is simultaneously forwarded to your local server.
Step 4: Verify signatures
HookSense supports automatic HMAC signature verification. Add your Stripe webhook secret in the endpoint settings, and every incoming request will show a "Verified" or "Invalid" badge.
Which Should You Use?
| Feature | Stripe CLI | HookSense |
|---|---|---|
| Stripe-specific | Yes | Any provider |
| Web UI | No | Yes, real-time |
| Request history | Session only | 7-90 days |
| Replay requests | No | Yes |
| Signature verification | Yes | Yes (auto) |
| Multiple providers | Stripe only | Any |
| Price | Free | Free tier available |
For quick Stripe-only testing, the Stripe CLI is fine. But if you work with multiple webhook providers, need a visual inspector, or want to replay requests — HookSense is the better choice.
Getting Started
Sign up for free and create your first endpoint in seconds. No credit card required.
Related
Try HookSense Free
Inspect, debug, and replay webhooks in real-time. No credit card required.
Get Started Free