Implement Subscription Billing with Stripe: Lean Guide to Recurring Revenue
Implement Subscription Billing with Stripe: A Lean Guide to Recurring Revenue
You've validated your idea. Customers want what you're building. Now you need to actually charge them—repeatedly, reliably, and without drowning in payment infrastructure complexity.
This guide cuts through the noise. Whether you're launching a SaaS product, membership site, or subscription box, you'll learn how to set up subscription billing with Stripe, understand the real costs, and build a lean recurring revenue stack that scales with you.
What Is Stripe Subscription Billing?
Stripe Subscription Billing is a module within Stripe Billing that lets you configure, automate, and manage recurring, usage-based, and tiered payment plans. You get APIs, prebuilt UI components, webhooks, and no-code tools—everything needed to handle the full subscription lifecycle.
Think of it as your billing operations layer: it handles charging customers on schedule, managing failed payments, letting subscribers update their own details, and feeding data to your accounting stack.
Core Capabilities at a Glance
- Recurring billing models: Fixed monthly/annual, usage-based metering, tiered pricing, custom billing intervals
- Trials and promotions: Free trials, coupon codes, promotional discounts
- Automation: Smart Retries for failed payments, configurable dunning rules, webhook events for every lifecycle moment
- Customer Portal: Hosted self-service interface where subscribers update payment methods, view invoices, and manage plans
- Global reach: 135+ payment methods including cards, ACH, digital wallets, and local payment options
- Compliance built-in: PCI, PSD2, and SCA handled automatically
For developer-led teams building complex billing logic, Stripe offers full API control. For founders who'd rather not touch code, the Dashboard and prebuilt Checkout sessions get you live faster.
How Much Does Stripe Billing Actually Cost?
Pricing trips up a lot of founders. Here's the breakdown:
Payment Processing Fees
- Card payments: 2.9% + $0.30 per successful transaction
- ACH direct debit: 0.8% per transaction, capped at $5
Billing Module Fees
- Pay-as-you-go: 0.7% of your subscription billing volume
- Subscription plan: From $620/month (predictable costs at scale)
- Custom domain: $10/month for branded billing portal
Additional Services
- Invoicing: 0.4% per paid invoice
- Tax calculations: $1.50 per API transaction
For most early-stage startups, pay-as-you-go makes sense. You're paying a percentage of what you actually bill. As volume grows and you want cost predictability, the subscription plan starts making sense—typically when your billing volume exceeds $80-90K/month.
What You Need to Start Subscription Billing with Stripe
The barrier to entry is lower than you'd expect:
- A Stripe account (free to create, approval usually same-day)
- API keys (test and live, available in your Dashboard)
- A product catalog configured in the Dashboard with your plans and pricing
Optional but recommended for serious setups:
- Hosted Customer Portal enabled (so subscribers self-serve)
- Dunning rules configured (to recover failed payments automatically)
- Webhooks set up (to sync subscription events with your app)
- Revenue reporting enabled (for MRR/churn metrics)
Realistic setup time: basic subscription flow in under a day. Advanced workflows with dunning, analytics, and custom webhook handlers: 1-2 weeks of dev time.
Where Banking and Invoicing Fit: The Mercury Layer
Stripe handles payments. But where does that money actually land? How do you manage operating expenses, pay vendors, and handle invoicing for enterprise customers who won't pay by card?
This is where Mercury enters the stack.
Mercury provides business banking, corporate cards, and invoicing tailored for startups and SMBs. The integration story matters: credit card payments on Mercury invoices are processed through Stripe, creating a unified flow.
Mercury's Invoicing Capabilities
- Free tier: Create and send invoices, track payments, unlimited invoices
- Plus ($29.90/month): Recurring invoices, ACH debit invoicing ($1/transaction), invoicing API (500 calls/month)
- Pro ($299/month): Relationship manager, ACH debit invoicing at $0/transaction, unlimited API calls, NetSuite integrations
For enterprise customers who prefer paying via invoice and ACH rather than entering a credit card, Mercury Plus handles recurring invoices without building custom infrastructure.
The Banking Foundation
Beyond invoicing, Mercury gives you:
- Free business checking and savings accounts
- ACH transfers and domestic/international wires
- Virtual and physical corporate cards with expense policies
- Accounting integrations (QuickBooks, Xero, NetSuite)
- Startup perks (AWS, Google Cloud credits)
Account approval takes 3-5 business days. You'll need formation documents and an EIN.
Decision Framework: Stripe vs. Mercury for Recurring Revenue
These tools complement each other, but understanding their lanes helps you architect the right stack.
Choose Stripe When:
- You need card and digital wallet payments
- Your billing model is complex (usage-based, tiered, metered)
- You're selling globally and need local payment methods
- You have developer resources for API integration
- You want self-service customer portal functionality
- Advanced automation (Smart Retries, dunning) matters
Choose Mercury Invoicing When:
- Enterprise customers require ACH/invoice payment
- You need simple recurring invoices without dev work
- You want banking + invoicing in one dashboard
- Your customer base is primarily US-based
- You're pre-PMF and cost-sensitive (free tier works)
Use Both When:
- Self-serve customers pay via Stripe; enterprise customers pay via Mercury invoices
- Stripe deposits land in Mercury for unified cash management
- You want one bank feed syncing to your accounting software
Three Recurring Revenue Stacks for Different Scenarios
Stack A: SaaS Subscription Platform
Payment layer: Stripe Billing with Checkout, Customer Portal, and webhooks for subscription lifecycle events
Banking layer: Mercury for operating account, corporate cards for ad spend and software, bank feed to Xero
Why it works: Stripe handles the complex billing logic—trials, upgrades, downgrades, failed payment recovery. Mercury provides clean financial operations without juggling multiple bank accounts.
Stack B: Annual Membership with Enterprise Clients
Payment layer: Stripe for credit card member payments; Mercury Plus for recurring ACH invoices to enterprise accounts ($1/transaction)
Banking layer: Mercury with QuickBooks auto-reconciliation
Why it works: Small members self-serve through Stripe. Large accounts who won't provide a credit card get proper invoices with ACH payment. Everything reconciles to one ledger.
Stack C: E-commerce Subscription Boxes
Payment layer: Stripe Billing with tiered pricing, bundle options, trials, and aggressive dunning (subscription boxes have high involuntary churn)
Banking layer: Mercury for deposit settlement, expense tracking, and bill pay to suppliers
Why it works: Physical subscription businesses need reliable recurring charges plus operational banking for inventory and fulfillment costs. Stripe's dunning automation recovers revenue you'd otherwise lose to expired cards.
The Implementation Path: Zero to Live
Here's a realistic timeline for getting subscription billing operational:
Day 1: Foundation
- Create Stripe account, grab API keys
- Define your product catalog: plans, pricing, billing intervals
- Set up test products and prices in Dashboard
- Configure Checkout or embed pricing table
Days 2-3: Core Integration
- Implement subscription creation flow
- Set up webhook endpoint for subscription events
- Handle key events:
customer.subscription.created,invoice.paid,invoice.payment_failed - Enable Customer Portal for self-service
Days 4-7: Polish and Go-Live
- Configure dunning rules and Smart Retries
- Set up email notifications for billing events
- Test full flow end-to-end with test cards
- Switch to live mode, connect payout bank account
Parallel Track: Banking Setup
- Apply for Mercury account (3-5 days approval)
- Connect Stripe for invoice card payments
- Set up accounting integration (QuickBooks/Xero)
- Configure corporate cards and expense policies
Frequently Asked Questions
What is Stripe subscription billing?
Stripe Subscription Billing is a module of Stripe Billing that lets you configure, automate, and manage recurring, usage-based, and tiered payment plans via APIs, prebuilt UI components, webhooks, and no-code tools.
How much does Stripe billing cost?
Pay-as-you-go pricing is 0.7% of your subscription billing volume. Standard card processing adds 2.9% + $0.30 per transaction. ACH direct debit runs 0.8%, capped at $5 per transaction.
What do I need to start subscription billing with Stripe?
A Stripe account, API keys, and a product catalog configured in the Dashboard. Optionally enable the hosted Customer Portal, dunning rules, and revenue reporting for a production-ready setup.
Can I handle invoicing and banking with Mercury alongside Stripe?
Yes. Mercury provides free business checking, corporate cards, and invoicing. Paid plans ($29.90-$299/month) add recurring invoices, ACH debit invoicing, and invoicing APIs. Credit card payments on Mercury invoices process through Stripe.
How long does it take to set up recurring payments with Stripe?
Basic subscription flow: under a day. Advanced workflows with custom dunning, webhook handlers, and analytics integrations: 1-2 weeks of development time.
Should I use Stripe or Mercury for recurring revenue?
Use Stripe for card-based subscription billing with complex pricing models. Use Mercury for ACH invoice billing to enterprise customers and as your banking foundation. Most subscription businesses benefit from using both.
Trade-offs to Acknowledge
Stripe's learning curve: The API is powerful but requires engineering investment. If you're a solo non-technical founder, expect to hire help or spend significant time learning.
Cost at scale: The 0.7% billing fee plus 2.9% + $0.30 per card charge adds up. At $100K MRR, you're paying roughly $3,600/month in fees. Budget accordingly.
Mercury's geographic limits: USD-only. If you're billing international customers who prefer local payment methods, Stripe handles that; Mercury doesn't.
Integration maintenance: Webhooks fail. APIs change. Building on external payment infrastructure means ongoing maintenance, not just initial setup.
The Lean Stack Decision
For most startups building subscription revenue, the decision isn't Stripe or Mercury—it's Stripe and Mercury, with clear responsibilities:
Stripe: Collects the money. Manages subscription logic. Handles failed payment recovery. Provides customer self-service.
Mercury: Holds the money. Pays the bills. Issues the cards. Syncs to accounting.
This combination gives you a complete recurring revenue stack without enterprise complexity. You can be live with both in under a week, spending more time on your product than your payment infrastructure.
Start with the simplest version that works. Add complexity only when customer behavior or scale demands it. That's the lean approach to subscription billing.