DEV Community

masato
masato

Posted on

7 Stripe Monetization Patterns for Indie SaaS (and How to Combine Them)

There's plenty of content on "how to implement Stripe subscriptions." What's harder to find is a clear breakdown of which model to choose and how to combine multiple models as your product grows.

This post covers all 7 monetization patterns available in Stripe, plus 6 combination strategies that work well for indie SaaS products.


Why decide on your monetization model before you write code

If you don't nail down your billing model early, you'll hit expensive refactors later. In Stripe, each pricing model maps to a different Product/Price structure. Adding a metered billing tier on top of an existing subscription requires schema changes, new webhook handlers, and a pricing page redesign.

Decide upfront. It saves you a painful afternoon six months from now.


The 7 Stripe-compatible monetization models

1. Monthly Subscription

The default for most SaaS products. Reliable, predictable, and what most users expect.

  • Use Stripe's Subscription object
  • Most starter kits (like those built on Next.js + Stripe) support this out of the box
  • Best for: Any SaaS with habitual, recurring usage
const price = await stripe.prices.create({
  unit_amount: 1900, // $19.00
  currency: 'usd',
  recurring: { interval: 'month' },
  product: 'prod_xxxx',
});
Enter fullscreen mode Exit fullscreen mode

2. One-time Payment (Lifetime Deal)

Single payment, lifetime access. Works particularly well with AppSumo launches.

  • Great for generating upfront cash before subscriptions kick in
  • No churn, but no recurring revenue — plan accordingly
  • Best for: Tools, templates, and launch campaigns

3. Usage-based / Metered Billing

Charge based on what's consumed — API calls, audio minutes, AI generations, etc.

  • Use Stripe's Metered Billing
  • Low-usage customers pay less; heavy users pay more
  • Best for: AI-powered products, API services
await stripe.subscriptionItems.createUsageRecord(
  'si_xxxx',
  { quantity: 1, action: 'increment' }
);
Enter fullscreen mode Exit fullscreen mode

4. Freemium

Free tier + paid upgrade. Widens the top of the funnel.

  • The free tier's limits matter more than the paid tier's features
  • Aim to make users feel "I need just a little more" — not "this is too restricted to bother"
  • Best for: Viral B2C tools, developer tools with network effects

5. Per-seat Pricing

Charge based on the number of users or team members.

  • Revenue scales with the team, which is predictable
  • Update Stripe's quantity dynamically as seats are added/removed
  • Best for: B2B team collaboration tools

6. Affiliate / Referral Program

Share a percentage of revenue with people who refer new customers.

  • Stripe Connect (Express) automates payouts — but it requires approval
  • For early stage: manual payouts via bank transfer work fine
  • Particularly powerful for products that spread through in-person communities
  • Best for: Local business tools, SMB software, products where word-of-mouth dominates

7. Annual Billing Discount

Offer a discount (typically 15–20%) for paying upfront annually. Works alongside any other model.

  • Customer gets a discount; you get better cash flow
  • $19/month → $190/year (≈ 2 months free) is a standard structure
  • Best for: Add to any subscription product once it's stable

6 combination strategies

Pattern A: Freemium + Monthly + Annual

The classic SaaS growth stack.

Best for: Developer tools, AI tools
Revenue example: 100 signups → 20 paying users → $380 MRR at $19/month

Pattern B: Monthly + Affiliate

Subscription revenue with referrers earning a recurring cut of what they bring in.

The key insight: referrers who earn a recurring % are incentivized to keep their customers from churning, not just close the deal.
Best for: SMB tools, products that spread through professional communities

Pattern C: Metered + Monthly cap

Usage-based billing with a ceiling that converts to flat-rate.

Removes the anxiety of unpredictable bills. Automatically suggest the flat plan when it becomes cheaper.
Best for: AI-powered B2C tools, API services

Pattern D: Lifetime Deal → Monthly only

Launch with AppSumo or ProductHunt for upfront cash, then switch to subscriptions-only.

Warning: Don't let too many LTD users accumulate or the server cost becomes unmanageable. Set a hard cap on units and a deadline.
Best for: English-language SaaS targeting AppSumo audience

Pattern E: Monthly + Upsell (Add-ons)

Core features on a flat subscription, optional features sold separately.

Add-ons sold to existing users have zero customer acquisition cost — pure LTV improvement.
Best for: B2B SaaS with a range of advanced features

Pattern F: Freemium + Metered + Affiliate (Growth Loop)

The full viral loop: free entry, usage-based monetization, referrals to fuel growth.

This is the Dropbox model. It's the most powerful combination but also the most complex to implement. Don't start here — add components one at a time once you have traction.
Best for: B2C products with strong network effects (growth phase, not launch)


Start simple, layer in complexity

At 0→1 stage, monthly subscription is enough. Every layer of complexity adds implementation cost, explanation cost, and user confusion.

A sane rollout order:

  1. Month 1: Monthly subscription with freemium tier
  2. Month 3: Add annual billing (cash flow win)
  3. Launch: Add lifetime deal for AppSumo campaign
  4. Growth phase: Add affiliate program once you have happy users to activate

Wrapping up

Stripe supports more monetization models than most indie developers use. The goal isn't to implement all of them — it's to pick the right combination for your product type and stage.

Start with one model. Nail it. Then layer.


Building a SaaS from scratch? LaunchKit is a Next.js + Supabase + Stripe starter kit that ships with auth, database, and payments pre-configured — so you can skip setup and start building the actual product.

Top comments (0)