HLD prep is optimised for larger screens
Open on a laptop or desktop (1024px+) for the diagram canvas and the section sidebar side-by-side.
Problem Understanding
Restate the problem in your own words.
Design a Payment System (Stripe / PayPal-class)
Design a Stripe-class payment processing system: merchants charge cards (and other tenders), funds settle, refunds and disputes flow through, accounting reconciles. The hard parts are idempotency (every retry must NOT double-charge), the saga that holds 2–7 day settlement state, rules-based fraud filtering on the hot path, and a ledger that’s both consistent and append-only for audit. Failure modes have to be safe — a partial failure that loses a charge is worse than a payment error returned to the user.
- StripeDeveloper-first payments — idempotency keys, structured webhooks, the canonical API design.
- SquareIn-person + online payments; combines POS, payment, and merchant tooling.
- PayPalCross-border payments + wallets; long settlement and dispute history.
- AdyenEnterprise-grade unified payments; the technical backbone for many global retailers.
Your task: read the problem above, then write what the system is, who uses it, the rough scale, and the headline UX expectation — in your own words. Submit for AI review when you're ready.
Click any step in the sidebar to jump around — sections don't have to be done in order. Press ? any time to see all shortcuts.