HMAC-SHA-256 or HMAC-SHA-512 of a message with your secret key, as hex or Base64.
Webhook Payload Builder
Use Webhook Payload Builder
What it does
Get a small JSON body to post to your webhook endpoint while you build or debug it: a GitHub push, a Stripe payment event or a generic test event.
It runs entirely in your browser: nothing you enter is uploaded.
Example
Stripe payment event
Choose Stripe Payment in the Template menu and press Generate.{
"event": "push",
"repository": {
"full_name": "owner/repo",
"html_url": "https://github.com/owner/repo"
},
"pusher": {
"name": "username",
"email": "user@example.com"
},
"commits": [
{
"id": "abc123",
"message": "Fix bug",
"timestamp": "2026-10-20T17:12:11.790Z"
}
]
}An event of type payment_intent.succeeded with a random evt_ ID and a payment intent of 2000 in usd with status succeeded.
FAQ
Are these the real GitHub and Stripe payload formats?
They are shortened samples with a few fields each. The GitHub sample has repository, pusher and one commit plus an event field that GitHub itself sends in the X-GitHub-Event header instead, and the Stripe sample is a bare event with one payment intent; use the providers' test events when your code needs more fields.
Does it sign the payload?
No, so receivers that verify signatures will reject the sample. GitHub signs the raw body with HMAC-SHA256 (X-Hub-Signature-256) and Stripe signs the timestamp, a dot and the body (Stripe-Signature); compute that with your test secret, for example in the HMAC Generator.
Is anything sent to my endpoint?
No. The JSON is only shown in your browser and nothing is sent anywhere; post it yourself with curl or a command from the HTTP Request Builder.