SaaS Billing System Design Guide: Subscriptions, Pricing, and Payment Integration
SaaS product的核心商业模式是订阅付费. A well-designed billing system ensures recurring revenue while improving user experience and retention.
1. Pricing Model Design
1.1 Common Pricing Models
| Model | Example | Best For |
|---|---|---|
| Fixed | $19/month | Single-purpose tools |
| Tiered | $19/$49/$99 | Feature-layered products |
| Usage-based | $0.01/API call | API services, cloud |
| Per-seat | $10/user/month | Team collaboration tools |
| Hybrid | Base $19 + usage | Products with variable usage |
1.2 Pricing Best Practices
Tier Design:
Free → Limited features, attract users
Pro → Core features complete, most users
Business → Advanced features + team
Enterprise → Custom solutions
Key principles: Value anchoring, clear feature progression, meaningful free tier
2. Subscription Cycle Management
2.1 Billing Cycle Options
| Cycle | User Preference | Business Advantage |
|---|---|---|
| Monthly | Flexible, low barrier | More users |
| Yearly | 20-30% cheaper | Stable cash flow, lower churn |
| Quarterly | Compromise | Better cash flow than monthly |
| Usage-based | Pay for what you use | Higher revenue from heavy users |
3. Payment Integration
3.1 Platform Selection
| Need | Recommendation |
|---|---|
| Simple subscriptions, global | Stripe Billing |
| Tax compliance needed | Paddle / LemonSqueezy |
| China domestic | Alipay + WeChat Pay |
| Complex billing logic | Chargebee / Recurly |
3.2 Stripe Billing Setup
const product = await stripe.products.create({
name: 'Pro Plan',
description: 'For individuals and small teams',
});
const monthlyPrice = await stripe.prices.create({
product: product.id,
unit_amount: 1900,
currency: 'usd',
recurring: { interval: 'month' },
});
3.3 Customer Portal
Stripe provides a hosted customer portal for subscription management:
const session = await stripe.billingPortal.sessions.create({
customer: customerId,
return_url: 'https://yourdomain.com/account',
});
4. Key Metrics
| Metric | Meaning | Healthy Value |
|---|---|---|
| MRR | Monthly recurring revenue | Growing |
| Churn Rate | Cancellation rate | < 5%/month |
| LTV | Customer lifetime value | LTV > 3x CAC |
| CAC | Customer acquisition cost | CAC < 1/3 LTV |
| Net Revenue Retention | Revenue change from existing | > 100% |
5. Upgrade/Downgrade Handling
5.1 Upgrade Strategy
- Immediate upgrade (prorated billing) - better UX
- Next cycle upgrade - simpler billing
5.2 Downgrade Strategy
- Next cycle生效 (keep current features until cycle end)
6. Dunning Process
Day 1: Payment fails → Email notification
Day 3: Auto retry → Fail → Reminder
Day 7: Auto retry → Fail → Warning
Day 14: Final retry → Fail → Freeze account
Day 30: Mark as canceled, clean up data
7. Summary
Balance UX and business needs. Start simple, increase complexity as you grow. For most SaaS startups, Stripe Billing + Customer Portal is the fastest way to launch.