Webhook payload formatter
Format and validate JSON payloads, with samples for Stripe, Razorpay and WhatsApp.
FreeRuns in your browserNo signupUpdated 2026-10-29
Samples are illustrative, trimmed to common fields. Always verify signatures and read the provider's docs for the full schema.
Status
Valid JSON
15 keys · 4 levels deep
Size
423 B
423 bytes as formatted
{
"id": "evt_1QxYz2AbC",
"object": "event",
"type": "checkout.session.completed",
"created": 1761724800,
"livemode": false,
"data": {
"object": {
"id": "cs_test_a1b2c3",
"object": "checkout.session",
"amount_total": 4900,
"currency": "usd",
"customer_email": "jane@example.com",
"payment_status": "paid",
"metadata": {
"order_id": "1042"
}
}
}
}| Top-level field | Type | Value |
|---|---|---|
| id | string | evt_1QxYz2AbC |
| object | string | event |
| type | string | checkout.session.completed |
| created | number | 1761724800 |
| livemode | boolean | false |
| data | object | … |
Runs in your browser; payloads are not uploaded. Strip secrets and card data before sharing a formatted payload with anyone.
About this tool
How it works and how to read the result.
Need this done for you?
APIs & integrations
Connect your website, apps and business tools.
See the serviceWhat it does
A webhook payload example is the fastest way to start an integration, and this page gives you three plus a formatter for your own. Choose a sample from Stripe, Razorpay or the WhatsApp Cloud API, or paste a raw body from your logs. The page validates the JSON, pretty-prints it with your chosen indent, optionally sorts keys, and lists the top-level fields with their types so you can see the shape at a glance. Nothing is uploaded; it all runs in your browser.
How to use it
- Pick a sample to see a typical event shape, or paste the body from a webhook log.
- Fix any error the status badge reports. The hint names the problem.
- Choose the indent, or Minified for a compact copy, and tick Sort keys for a stable diff.
- Read the field table to find the identifiers and amounts your code needs.
- Copy or download the formatted payload.
How to read the result
Take the Stripe sample, a checkout.session.completed event of about 350 bytes, 17 keys and 4 levels deep. The table shows type as a string and data as an object. Inside, data.object.amount_total is 4900 and currency is usd, which means $49.00: Stripe sends amounts in the smallest unit. Razorpay does the same, so an amount of 129900 in INR is ₹1,299.00. Your handler should divide by 100 only when displaying, never when storing.
The WhatsApp sample is 5 levels deep because messages arrive inside entry[].changes[].value.messages[]. Code that reads the first message directly will fail on a status update, which uses the same envelope with a statuses array instead. Check which array is present.
Depth and key count are a hint about handler complexity. Above about 6 levels, map the payload to a flat internal type before doing anything with it.
We write and harden handlers like these as part of API integrations. For general JSON cleanup, the JSON formatter is lighter.
Questions
Frequently asked.
Are the sample payloads exactly what the providers send?
No. They follow each provider's documented field names but are trimmed to the fields most integrations read, with made-up identifiers. Real events carry many more fields and change between API versions. Use the samples to design your handler, then test against a real event from the provider's dashboard.
Why does my pasted payload show as invalid?
Common causes are a trailing comma after the last item, single quotes instead of double quotes, comments, or a log line wrapped around the JSON. The status hint shows the parser's message and usually the position of the problem. Fix that spot and the output appears.
Should I verify webhook signatures?
Always. Stripe, Razorpay and Meta each sign their requests with a secret from your dashboard. Verify the signature on the raw body before you parse it, and reject anything that fails. Without this, anyone who learns your endpoint URL can send fake payment or message events.
More in AI & automation
Related tools.
Your next move
Like what you see? Tell us about it.
A process that takes too long, a website that undersells you, or an idea ready to take shape. Tell us where you are and we will suggest a useful next step.
India · Working with clients worldwide