Mock a Stripe webhook payload

A GET mock that returns a Stripe-shaped payment_intent.succeeded event, ready to feed into your webhook handler.

Returns a ready-made event — feed it straight into your own handler.

Response payload

{
  "id": "evt_1QsErTLl2dK9Nqi7",
  "object": "event",
  "type": "payment_intent.succeeded",
  "created": {{now.unix}},
  "data": {
    "object": {
      "id": "pi_3QsErTLl2dK9Nqi71m2XvBnR",
      "object": "payment_intent",
      "amount": 4999,
      "currency": "usd",
      "status": "succeeded"
    }
  }
}

Fields worth knowing

Field What it means
id A synthetic event ID — Stripe's real IDs follow the same evt_... shape but are never reused.
type The event type your handler switches on; change it to trigger a different code path.
created Unix timestamp of the event, generated fresh on every call via {{now.unix}}.
data.object.amount The charge amount in minor units (cents) — 4999 means $49.99.
data.object.status The payment_intent status; edit the response body to test other states like requires_action.

Create the mock

curl -X POST https://quickmock.dev/api/mocks \
  -H 'Content-Type: application/json' \
  -d '{
  "method": "GET",
  "response_status": 200,
  "content_type": "application/json",
  "response_body": "{\"id\":\"evt_1QsErTLl2dK9Nqi7\",\"object\":\"event\",\"type\":\"payment_intent.succeeded\",\"created\":{{now.unix}},\"data\":{\"object\":{\"id\":\"pi_3QsErTLl2dK9Nqi71m2XvBnR\",\"object\":\"payment_intent\",\"amount\":4999,\"currency\":\"usd\",\"status\":\"succeeded\"}}}"
}'

Call it

curl https://quickmock.dev/m/<slug>

What you get

GET /m/<slug> -> 200 a Stripe-style payment_intent.succeeded event
data.object.amount is in minor units (cents)

How this differs from the real thing

This is a static event trimmed down from a real Stripe payload — no Stripe-Signature header, no live objects behind the IDs. Use it to shape your handler's parsing logic, not to test signature verification.

Ready to use it?

Open it in the mock builder to tweak first

Pairs well with this guide: Test a webhook receiver

← All templates