Design Subscription Billing
HardSystem design · Payments · Stripe
Design the subscription billing system for a SaaS product with ~2M active subscriptions. Support trials, plan upgrades and downgrades with proration, cancellations, invoice generation, card collection through an external payment processor, and dunning for failed payments. Keep billing events auditable and keep entitlements (what a customer can use) consistent and fast to read. Out of scope: building the payment processor, tax-rate computation, and usage metering.
Requirements
- Support trials, plan changes, proration, and cancellations
- Retry failed payments and manage dunning
- Keep billing events auditable and entitlements consistent