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.
- Requests failing
- 0%
- Backlog growing
- none
- Instances running
- 7
What goes through it
| Operation | Offered | Outcome | Wait | Up |
|---|---|---|---|---|
| Checkout requests | 49/min | All served | 23 ms | 99.95% |
| Provider charges | 49/min | All served | 1.5 s | 99.5% |
| Webhooks | 1.7/s | All served | 23 ms | 99.95% |
| Fulfilment emailsbackground | 49/min | Keeping 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
Risk:
Checkout requests and Webhooks stop if its one instance does. Kill it to see.
ReplicationMux: What we learned from a 22-Day storage bug (and how we fixed it) ↗
Ask AI what your design does
AIThe 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.