站点介绍

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.
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.
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.
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.
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.
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.
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.
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/
评论列表 (0条)