Verified interview challenge
Design a payment system
Connect real-time payment authorisation with a daily processing run that can recover safely from partial failure.
Unlock with Full AccessThe challenge
Merchants send transactions to an external payment service for approval and a hold on funds. Approved transactions are then eligible for final processing in a daily run. Design how the system tracks each payment when requests are duplicated, replies are delayed or only part of a batch completes.
- Authorisation and daily capture
- The initial task focuses on these two stages. Refunds, disputes, subscriptions and payouts are outside its scope.
What you'll practise
Payment state
Define what the system knows about each transaction and which component owns that record.
Safe daily processing
Handle eligibility, retries and partial batch completion without repeating payments.
Uncertain outcomes
Reconcile internal records with the external service when its response is delayed or missing.