Stripe payment_intent.succeeded webhook payload example

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).

See it live, not frozen

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.

Headers

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

Body

{
  "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"
}

Things that bite people

Send it yourself

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