Stripe fixture
payment_intent.succeeded
Fires when a payment is successfully completed. This is the primary 'money has moved' signal for one-time payments — the right place to mark orders as paid, fulfill goods, or trigger receipts.
When does it fire?
PaymentIntent reaches the succeeded status — typically after the customer authorizes the charge (card, wallet, bank debit) and Stripe confirms with the issuer.
Request headers
Content-Type: application/json; charset=utf-8
Stripe-Signature: t=1715600000,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd
User-Agent: Stripe/1.0 (+https://stripe.com/docs/webhooks)Payload
{
"id": "evt_1NXyz2AbCdEfGhIj",
"object": "event",
"api_version": "2024-09-30.acacia",
"created": 1715600000,
"type": "payment_intent.succeeded",
"livemode": false,
"data": {
"object": {
"id": "pi_1NXyz2AbCdEfGhIj",
"object": "payment_intent",
"amount": 2999,
"currency": "usd",
"status": "succeeded",
"customer": "cus_NXyz2AbCdEfGhIj",
"metadata": {
"order_id": "ord_9c8b7a6"
},
"payment_method": "pm_1NXyz2AbCdEfGhIj",
"receipt_email": "[email protected]"
}
}
}Key fields
idUnique event ID. Use as your dedup key for idempotency.
data.object.idThe PaymentIntent ID. Reference this in your orders table.
data.object.amountAmount in the smallest currency unit (cents for USD).
data.object.metadataYour custom key/value pairs — usually order or customer references.
livemodefalse in test mode, true in production. Always check this.
Test it with cURL
Replace your-endpoint with your HookSense endpoint slug — or any URL you want to test against.
curl -X POST https://hooksense.com/w/your-endpoint \
-H "Content-Type: application/json; charset=utf-8" \
-H "Stripe-Signature: t=1715600000,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd" \
-H "User-Agent: Stripe/1.0 (+https://stripe.com/docs/webhooks)" \
-d '{
"id": "evt_1NXyz2AbCdEfGhIj",
"object": "event",
"api_version": "2024-09-30.acacia",
"created": 1715600000,
"type": "payment_intent.succeeded",
"livemode": false,
"data": {
"object": {
"id": "pi_1NXyz2AbCdEfGhIj",
"object": "payment_intent",
"amount": 2999,
"currency": "usd",
"status": "succeeded",
"customer": "cus_NXyz2AbCdEfGhIj",
"metadata": {
"order_id": "ord_9c8b7a6"
},
"payment_method": "pm_1NXyz2AbCdEfGhIj",
"receipt_email": "[email protected]"
}
}
}'Capture this in HookSense
Fire the cURL above at your HookSense endpoint and inspect the request in real time — with headers, body, signature verification, and replay.
Get a free endpoint