Last active 8 hours ago
interview
Interview prep notes
0
0
1
System Design Interview: Designing a Payment System
"Design a payment system like Stripe checkout" is less about scale and more about correctness: money must never be charged twice or lost.
Requirements
- A customer pays for an order with a card; the merchant sees a final status (succeeded, failed).
- Exactly-once charging from the user's point of view, even with retries and timeouts.
- An auditable record of every money movement.
- Scale is modest (a few thousand payments per second at peak), so correctness dominates.