How we compared them
We make Continuum and it has no webhook tool, so on this question the other options fit better.
“Did the webhook fire” hides three different questions: did Stripe send it, did my server receive it, and did my app do the right thing. Each option was weighed on:
- Which of those three questions it answers.
- Whether you need to write code to use it.
- How far back it can look.
- What it cannot tell you.
The options
Options are listed from the one closest to Stripe to the one furthest from it. Facts about each product come from the sources at the bottom, looked up on the date shown there.
Stripe Dashboard: Event deliveries
Stripe’s own delivery log
Open the Webhooks tab in the Dashboard (Workbench) and pick a destination, then open Event deliveries. Each event shows as Delivered, Pending or Failed. Opening one lists every attempt with its HTTP status code and the time of any retry still to come.
- Good at
- It answers from the sender’s side: did Stripe send the event, and what did your server reply. If a try failed, the tab shows when Stripe will try again.
- Fits
- Anyone with Dashboard access, whether or not they write code.
- Drawbacks
- It tells you what your endpoint replied, not whether your app acted on the event. Stripe counts a redirect as a failure, so an endpoint URL that redirects to another one will show as Failed. Retries in a sandbox are far fewer, so a failure there is easy to miss.
Sources: [1] [2]
Stripe CLI
Test and replay from a terminal
The command stripe listen --forward-to localhost:4242/webhook sends events to an endpoint on your own machine. stripe trigger payment_intent.succeeded creates a test event, and stripe events resend with an event ID and an endpoint ID redelivers one.
- Good at
- You can test before anything is deployed and replay a real event after you fix a bug.
- Fits
- A developer, or a technical friend with a terminal and ten minutes.
- Drawbacks
- The signing secret for CLI-forwarded events differs from the one for a Dashboard endpoint, and mixing them up makes signature checks fail. The forwarding command also has to run in a real terminal, not the Workbench shell.
Sources: [1] [3] [4]
A webhook inspector (Webhook.site, Hookdeck)
A third party that records the request
Webhook.site gives you a public URL, an email address and a DNS name. It shows whatever is sent to them. Hookdeck sits between the sender and your app and keeps past events you can search and filter. Each shows its payload, delivery attempts and responses. You can replay any of them.
- Good at
- You can see the exact request, headers and body included, even when your own server logged nothing.
- Fits
- Debugging an endpoint that returns errors you cannot explain, or an app on a host with thin logs.
- Drawbacks
- A third party sees your webhook payloads, which can hold customer and payment details, so use test mode data. Prices for both change and the sources we found disagree, so no price is quoted here. Check their sites.
Sources: [5] [6]
Your own logs and database
Proof that your app acted on the event
A record in your own system that says it received an event with a given ID and what it did next. Stripe’s docs advise that when your endpoint receives an event it already handled, it should skip it and still return a 200, which stops further retries.
- Good at
- Only this proves your app did the right thing. A delivered event with a 200 reply can still have been ignored by your code.
- Fits
- Anyone taking real payments.
- Drawbacks
- It exists only if someone wrote it, and it cannot show an event that never reached your server.
Sources: [3]
Continuum
Not a webhook tool
Continuum has no tool that shows whether a Stripe event fired, and this page does not pretend otherwise. What it sells is a human read of an AI-built app. A $299 Ship Check reads the whole codebase, and the Leak Check results page lists payment error flows as part of that deeper pass.
- Good at
- A person can read how your handler is written, which no delivery log shows. Say you want the webhook handler read when you order.
- Fits
- You take payments, the handler was written by an AI tool, and you want someone to check how it was built.
- Drawbacks
- It is a review, not a monitor. It will not tell you whether a particular event fired last Tuesday, and Stripe’s Event deliveries tab answers that directly.
See what a Ship Check covers →