Intentkiln

Last verified 2026-07-14

stripe webhook delivered multiple times duplicate order

Operator procedure for “stripe webhook delivered multiple times duplicate order” — what breaks, what to check, and what to do next.

The actual problem

Idempotency gaps cause double fulfillments or double unlocks after webhook retries.

Do this

  1. Key fulfillment on event.id (or payment_intent id) in a durable store.
  2. Return 200 only after idempotent write succeeds.
  3. Replay a test event twice in Stripe CLI; confirm one side effect.
  4. Keep a demo unlock path for local without forwarding.

Tools for this job

Related intents

Also from Cashkiln

Deep-dive report — $29

Self-serve checklist expansion for this query family. PayPal Checkout. No call.