Design a Payment System

Design a Payment System

Where correctness beats availability
Free
4h · 5 lessons
Overview

Each one worked end to end: requirements, estimates, the first diagram, the bottleneck that appears at scale, and the two or three deep dives an interviewer will push you into.

This module is 07.6 of the 6 in Design Case Studies. It runs about 4 hours across 5 lessons, and closes with Ledger — Process payments through a processor that times out, duplicates and lies. The ledger must still balance.

Lessons
1. Requirements, and the money invariants

Case study · 30 minutes

2. Double-entry ledgers as the data model

Case study · 40 minutes

3. Idempotency across an unreliable processor

Case study · 40 minutes

4. Reconciliation and the settlement window

Case study · 35 minutes

5. Refunds, chargebacks and the audit trail

Case study · 30 minutes

Module information
Duration
4 hours
Lessons
5
Level
Advanced
Track
Design Case Studies
Drill
Ledger
Price
Free

Related modules

Design a URL Shortener
3 hours
5 lessons
Advanced
Design a URL Shortener
Free
07.1
Design a News Feed
4 hours
5 lessons
Advanced
Design a News Feed
Free
07.2
Design a Chat System
4 hours
5 lessons
Advanced
Design a Chat System
Free
07.3
Design a Rate-Limited Public API
3 hours
5 lessons
Advanced
Design a Rate-Limited Public API
Free
07.4