首页 全栈极客与开发辅助内容详情

Webhook Debugger: Catch Every Callback Before You Debug It - Catch the callback. Read every payload.

2026-11-15 2
Webhook Debugger: Catch Every Callback Before You Debug It

站点名称:Webhook Debugger: Catch Every Callback Before You Debug It

所属分类:全栈极客与开发辅助

官方网址:https://www.9314.cn/tools/webhook-debugger/en/

SEO查询: 爱站网 站长工具

进入网站

站点介绍

Webhook Debugger: Catch Every Callback Before You Debug It

11:40 on a Tuesday night, and the Stripe webhook simply never arrived. No public IP on my laptop, so I hand-rolled a payload with curl — and my signature check kept failing until I finally diffed it against a real callback. One missing Stripe-Signature header cost me an afternoon. This tool turns "catch the real callback first" into a single click.

TL;DR

  • Temporary callback URL: one click, valid for 600 seconds, ready to paste into GitHub or Stripe webhook settings so real payloads come to you.
  • Every request recorded: method, source IP, headers, and body in reverse chronological order, with JSON pretty-printed, polled about every 2 seconds.
  • Copy as cURL: replay any captured request from your terminal instead of guessing what the provider sent.
  • Disposable by design: URLs expire in 10 minutes, up to 50 requests each, no signup.

1. Catch it first, diff it second

The biggest gap in webhook work is that you cannot see what the other side actually sent. Header names drift from the docs, event bodies quietly gain a nesting level, retry timing goes undocumented.

I have been burned by exactly this: my local signature check kept failing until midnight, when I realized the provider sent x-signature while the docs insisted on X-Signature. Catch one real callback and debugging stops being a guessing game.

I do not recommend replaying hand-built payloads against a real integration — your fake request is always "correct", and the bug hides in the field you never thought to fake.

2. Three steps from generate to replay

Click "Generate callback URL" and you get a URL with its own token. Drop it into a GitHub repository Webhooks page, a Stripe Endpoint, or anything that takes a custom callback, then trigger an event.

The page polls roughly every 2 seconds; new requests land on top and flash once. Open the headers section to inspect allowlisted fields plus every X-* header, and read JSON bodies formatted automatically.

Hit "Copy as cURL" and paste the command into your terminal to replay the exact request. Tweak a field and resend — no waiting for the provider's next event.

3. Limits and safety, stated plainly

Each URL lives 600 seconds; the server wipes it and its captured requests on expiry, and "Extend" resets the clock to another 600. Each URL keeps at most 50 requests, and bodies are capped at 256KB with truncation flagged.

Captured requests are held on the server for up to 10 minutes and then wiped automatically, so don't send real API keys or other sensitive data while testing. Your device stores only the token and unread count; "Clear my data" in the footer removes those.

My rule: never wire production secrets into a webhook while still debugging. Prove the signature logic against the raw request here first, then switch to real keys.

FAQ

How long does a callback URL live?

Each URL works for 600 seconds (10 minutes) after you generate it; when it expires, the server wipes the URL together with every captured request. Hit "Extend" mid-debug to add another 600 seconds. Reloading the page does not extend it — the countdown is always visible at the top of the console.

Is what I send safe?

Captured requests are held on the server for up to 10 minutes and then wiped automatically, so don't send real API keys or other sensitive data while testing. This device only stores your token and unread count in localStorage. To wipe that, use "Clear my data" in the footer — it asks for confirmation first.

What details do I get for each request?

HTTP method, time, source IP, the raw query string, headers (common fields plus every X-* header, each value capped at 4KB), and the request body (up to 256KB; longer bodies are truncated and flagged). Any request can be copied as a cURL command with one click and replayed locally.

How fast do new requests show up?

About 2 seconds. The page polls the server roughly every 2 seconds — there is no long-lived connection, and the server side is nothing more than lightweight temporary storage. Polling pauses while the tab is in the background and fires immediately when you come back.

中文版:https://www.9314.cn/tools/webhook-debugger/

 暂无评论,快来抢沙发吧~

发布评论