42. Design E-commerce Cart and Checkout (Amazon / Flipkart)
1
The interview prompt2
42.1 What do you ask first?3
42.2 How big is this, really?4
42.3 What are the doors?5
42.4 What do we store?6
42.5 What does the whole system look like?7
42.6 How is the cart stored?8
42.7 How do you reserve inventory?9
42.8 How do you make order creation idempotent?10
42.9 How does the payment hand-off work?11
42.10 How does the checkout saga work?12
42.11 What would you say in the last five minutes?13
Score yourself14
Variations to practise15
Sources16
Code lab42. Design E-commerce Cart and Checkout (Amazon / Flipkart)
42.8 How do you make order creation idempotent?
3 min read+10 XP
Shoppers double-tap "Place order", networks drop responses, and apps retry (Chapter 24):
- The app creates an idempotency key per checkout attempt and sends it with
POST /v1/orders. - The orders table has a unique constraint on it; a repeat returns the existing order instead of creating another. In the chapter's code, the second tap returns the same order and the table still has one order.
- The payment service passes the order ID to the gateway as the gateway's idempotency key, so a retried charge can't charge twice (Chapter 24).
- Warehouse and email consumers de-duplicate by event ID (Chapters 22 and 23).
Memory code: "One key per attempt, one order per key, one charge per order."