Checkout flow: Cart → Address → Payment → Confirm → Order created.
Inventory reservation: When user adds to cart, soft-reserve for min. On checkout, hard-reserve. On payment success, decrement. On failure, release.
Distributed transaction: Order creation + payment + inventory update must all succeed or all fail. Use saga pattern: create order → charge payment → if payment fails, cancel order.
Handle edge cases: payment times out, inventory depleted mid-checkout, user refreshes.