Opengist

Explore

  • All gists
  • Topics
  • Users
Give feedback on the new UI Powered by Opengist ⋅ 24ms

user:thomas gists created by user

title:mygist gists with given title

description:sync gists with given description

filename:myfile.txt gists having files with given name

extension:yml gists having files with given extension

language:go gists having files with given language

topic:homelab gists with given topic

all:systemctl search all fields

Login Register
i

interview

Recently created Least recently created Recently updated Least recently updated

linkjobai / System Design Interview: Designing a Payment System

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.