Stripe

Design Stripe itself — a payments platform that other companies build on top of, exposing charge/webhook APIs to thousands of merchants while routing transactions across multiple underlying card...

00

Practice checkpoints

The requirements are open as a taste. From the numbers onward, the full guide opens in the app.

  1. 01
    Clarify scope
  2. 02
    Requirements + scale
  3. 03
    API + data modelUnlocks in the app
  4. 04
    Draw architectureUnlocks in the app
  5. 05
    Deep diveUnlocks in the app
  6. 06
    Trade-off decisionUnlocks in the app
01

Requirements that shape the design

Do not only state requirements. Ask for them. Each card pairs the design constraint with a clarification question you can say out loud before drawing the architecture.

Functional requirements

01What is the core product — moving money, or the API contract itself?

Both, but the contract is sacred: a payment-intents API that a million merchants integrated must stay backward compatible for years — versioning is a first-class feature.

02Who owns idempotency — us or the merchant?

The merchant supplies the key per request; the platform stores key → outcome and replays it — making MERCHANT retries safe is the product promise.

03One acquirer or many, and who chooses?

Many: routing picks per payment (cost, health, auth-rate history) and fails over on acquirer errors (the acquirer: the bank that accepts the card payment on the merchant’s behalf) — invisible to the merchant, visible in their auth rates.

04How do merchants learn what happened?

Webhooks: signed events, at-least-once with retries and backoff, per-merchant endpoints — plus the API to re-fetch truth when in doubt.

05Where does merchant money live between charge and payout?

In a per-merchant ledger: settled charges minus fees minus refunds accumulate, and payouts sweep the balance on schedule — every payout explainable to the cent.

06Is fraud screening per merchant or platform-wide?

Platform-wide models with per-merchant context: the network effect (seeing cards across merchants) is the moat a single merchant cannot replicate.

Out of scopeSingle-merchant payment internals (the Payment System question) · Card-present/terminal hardware · Lending and treasury products

Non-functional requirements

01What does API stability actually require?

Versioning per merchant account, additive-only changes within a version, and years-long deprecation windows — the integration a merchant wrote in 2020 still works.

02What isolates tenants from each other?

Per-merchant rate limits, quotas, and key scoping: a runaway integration throttles itself, never the platform — and keys are scoped so leaks are containable.

03An acquirer starts declining everything — how fast do we react?

Health-based routing shifts traffic in seconds; the merchant sees a dip in latency at worst, never a wall of declines.

04What is the webhook delivery contract?

At-least-once, retried with backoff for days, order NOT guaranteed (documented) — merchants must dedupe by event id and re-fetch objects for truth.

05Who audits this?

Everyone: merchant finance reconciles payouts, regulators audit flows — so ledgers are immutable, and every fee line traceable to a rule version.

Keep asking — the interview is a conversation

Real interviews probe far more than a tidy list. These are the scope questions that separate candidates who interrogate the problem from those who recite it.

  • Platform view (multi-tenant, routing, webhooks) or single-merchant internals?
  • How many acquirers/rails, and is routing optimizing cost, auth rate, or both?
  • What API compatibility promise do we make, concretely?
  • What webhook guarantees do merchants get — and what must THEY implement?
  • Payout schedule granularity — daily, rolling, instant?
01

Unlock the full playbook for Stripe

Numbers, architecture diagram, API and data model, deep dives, expected topics, self-check, whiteboard starter, and common mistakes unlock inside the app.

02

Numbers that force architecture decisions

Locked in the app

03

Architecture path

Locked in the app

04

API and data model

Locked in the app

05

Deep dive directions

Locked in the app

+Series

Practice the related series