Skip to content

Design a Payment System/Playground

A payment workflow that never double-charges

Click a part to change it, put something in front of it, or kill it. Turn the traffic up. Every number moves as you go; nothing is graded. About 5,000 orders a day, up to 50 a minute in launches; the provider allows 100 requests a second and answers in 1.5 s.

Running
Traffic
CLIENTBuyer's browserSERVICECheckout APIDATABASEPostgresEXTERNALPayment providerSERVICEWebhook receiverWORKERFulfillmentworkerEXTERNALEmail providerWORKERReconciler
Requests failing
0%
Backlog growing
none
Instances running
7

What goes through it

OperationOfferedOutcomeWaitUp
Checkout requests49/minAll served23 ms99.95%
Provider charges49/minAll served1.5 s99.5%
Webhooks1.7/sAll served23 ms99.95%
Fulfilment emailsbackground49/minKeeping up––

Wait is the expected time a caller waits; Up is the share of time every part it waits on is running.

What your changes did

Nothing yet. This is the reference design: change something to see what it buys and costs.

At this traffic

Ask AI what your design does

AI

The numbers above come from a simple model. The AI reads your design, what you changed and these numbers, and explains where it holds and where it fails, citing how the engineers who built it did it. It can be wrong.