Stripe · event: payment_intent.succeeded ·
content type: application/json; charset=utf-8
This is a representative sample — fake IDs, real structure. To see a payload with your data, point the provider at a capture URL (button below).
One click creates a free capture bin with this exact payload already in it — pretty-printed, headers inspectable, replayable to your own endpoint:
Then paste the bin's URL into Stripe's webhook settings to capture a real delivery. No signup.
content-type: application/json; charset=utf-8 user-agent: Stripe/1.0 (+https://stripe.com/docs/webhooks) stripe-signature: t=1787961600,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd,v0=6ffbb59b2300aae63f272406069a9788598b792a944a07aba816edb039989a39
{
"id": "evt_3PQvXk2eZvKYlo2C0J8aBcDe",
"object": "event",
"api_version": "2024-06-20",
"created": 1787961600,
"data": {
"object": {
"id": "pi_3PQvXk2eZvKYlo2C0abcdefg",
"object": "payment_intent",
"amount": 2000,
"amount_received": 2000,
"currency": "usd",
"customer": "cus_QGhIjKlMnOpQrS",
"description": "Pro plan — monthly",
"latest_charge": "ch_3PQvXk2eZvKYlo2C0ABCdefg",
"payment_method": "pm_1PQvXj2eZvKYlo2CxYzAbCdE",
"payment_method_types": [
"card"
],
"metadata": {
"order_id": "6735"
},
"status": "succeeded"
}
},
"livemode": false,
"pending_webhooks": 1,
"request": {
"id": "req_AbCdEfGhIjKlMn",
"idempotency_key": "a1b2c3d4-e5f6-7a8b-9c0d-e1f2a3b4c5d6"
},
"type": "payment_intent.succeeded"
}
data.object and type tells you what it is.Stripe-Signature header signs t + "." + raw body
(hex HMAC-SHA256, 5-minute default tolerance). Verification failing? See
the exact causes, ordered.livemode: false = test-mode event. Test and live mode have separate
webhook endpoints and separate signing secrets.Reproduce this delivery against any endpoint (your handler, a bin, staging):
$ curl -X POST https://your-endpoint.example/hook \
-H 'content-type: application/json; charset=utf-8' \
-H 'user-agent: Stripe/1.0 (+https://stripe.com/docs/webhooks)' \
-H 'stripe-signature: t=1787961600,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd,v0=6ffbb59b2300aae63f272406069a9788598b792a944a07aba816edb039989a39' \
-d '{"id":"evt_3PQvXk2eZvKYlo2C0J8aBcDe","object":"event","api_version":"2024-06-20","created":1787961600,"data":{"object":{"id":"pi_3PQvXk2eZvKYlo2C0abcdefg","object":"payment_intent","amount":2000,"amount_received":2000,"currency":"usd","customer":"cus_QGhIjKlMnOpQrS","description":"Pro plan — monthly","latest_charge":"ch_3PQvXk2eZvKYlo2C0ABCdefg","payment_method":"pm_1PQvXj2eZvKYlo2CxYzAbCdE","payment_method_types":["card"],"metadata":{"order_id":"6735"},"status":"succeeded"}},"livemode":false,"pending_webhooks":1,"request":{"id":"req_AbCdEfGhIjKlMn","idempotency_key":"a1b2c3d4-e5f6-7a8b-9c0d-e1f2a3b4c5d6"},"type":"payment_intent.succeeded"}'
← All payload examples · Related guide · Signature debugger · Docs