Blueprint — system design

Types · drag to reorder

Design a payment system

Design the service that charges a customer’s card for an order: it talks to an external payment provider, and it must never charge twice or lose track of a payment. Fraud scoring and payouts are out of scope.

Requirements
  • Charge a card for an order and report the result
  • A retried request never charges twice
  • Every payment ends in a known final state
  • A provider timing out does not lose money
Scale
Payments
50M per day
Providers
several, per region
Average amount
$40
Settlement
provider reports the next day

Draw the design on the board, fill in Your answer, then submit.

Loading board

Loading board