Architect Shopify's checkout from cart to paid order for many merchants
Company: Shopify
Role: Product Manager
Category: System Design
Difficulty: medium
Interview Round: Other
You are interviewing for a product manager role and get a technical design prompt: design the checkout system for Shopify, the commerce platform on which many independent merchants run their online stores. Explain how a shopper's cart turns into a paid, confirmed order: the main components and the data each one owns, how they communicate, how the system behaves when a step fails, and how it scales. Pitch the discussion at the depth a technical PM would reach with the engineering team, not line-by-line code.
```hint Decide what must never go wrong
Before drawing components, name the mistakes a checkout can never make for the shopper or for the merchant, then test each step of your flow against that list.
```
### Clarifying Questions
- Is the scope only the online checkout that all stores share, or also in-person point-of-sale and orders that arrive through external sales channels?
- Does the platform process card payments itself, route them to third-party gateways the merchant picks, or both?
- What peak should the design absorb: ordinary daily traffic, or a single store's limited-stock launch where demand spikes for a few minutes?
- How far may merchants customize checkout (discount logic, delivery rules, extra fields), and may a merchant's custom logic block a purchase?
### What a Strong Answer Covers
- The end-to-end shopper flow and the functional and non-functional requirements it implies, with the multi-merchant nature of the platform treated as a core requirement.
- Components and data ownership (cart, pricing with tax and shipping, inventory, payment, order) and the APIs or events between them.
- Correctness under failure: duplicate submissions, payment-provider timeouts, a crash between charging and recording the order, and overselling.
- Scaling for bursty demand, including isolating one merchant's spike from every other store.
- How a PM would know checkout is healthy: funnel conversion, payment success, latency and correctness monitors.
### Follow-up Questions
- A limited-stock product launch draws far more shoppers than units in its first minute. How do you keep the store up and decide who gets the stock?
- The payment provider confirms a charge, but your service crashes before the order is written. What does the shopper see, and how does the system recover?
- Merchants want to run their own code during checkout. How do you allow that without letting one merchant's code slow down or break checkout?
Overview: A product manager technical design question about Shopify's checkout: how a shopper's cart becomes a paid, confirmed order for many independent merchants. It tests requirements, component and data design, payment and inventory correctness when steps fail, scaling under bursty demand, and checkout health metrics.