Skip to content
All interviews

Payment system (Stripe-like ledger)

Move money without ever charging a customer twice or losing a cent when networks time out. Every mutation carries an end-to-end Idempotency-Key, records immutable double-entry ledger postings (sum of debits = sum of credits) in an ACID transaction with an outbox, and reconciles daily against external card networks.

Notes and ratings save in this browser. Completing self-assessment records your progress.

45:00

Requirements checklist

Clarifying questions
  • Are we building the merchant-facing payment gateway/ledger, or card-issuing rails?
  • Do we support multi-currency transactions and foreign-exchange conversion?
  • How are payouts to merchants scheduled (instant vs T+2 rolling settlement)?
  • What happens when an external PSP times out and neither confirms nor denies a charge?

requirements

Suggested time: about 6 minutes. Defines exact failure semantics across client retries, DB crashes, and PSP timeouts.