Research how Stripe handles idempotency keys and summarize the approach.
I'll search for Stripe's idempotency documentation and crawl the relevant pages.
Stripe uses a header-based idempotency system. Here's how it works:
- 01 Client sends
Idempotency-Keyheader with a unique UUID. - 02 Server caches the response for 24 hours, keyed by that UUID.
- 03 Retries with the same key return the cached response, not a new charge.