Skip to content
Create account
or
Sign in
The Stripe Docs logo
/
Ask AI
Create account
Sign in
Get started
Payments
Revenue
Platforms and marketplaces
Money management
Developer resources
Overview
Billing
OverviewAbout the Billing APIs
Subscriptions
    Overview
    How subscriptions work
    Get started
    Quickstart
    Plan an integration
    Build an integration
    Use cases
    About subscriptions
    Enable billing mode
    Configure subscription events
    Entitlements
    Subscription invoices
    Subscription schedules
    Recurring pricing models
    Strong Customer Authentication (SCA)
    Set up subscriptions
    Configure collection methods
    Embed a pricing table
    Set billing cycles
    Manage subscriptions
    Migrate subscriptions to Stripe
    Set product or subscription quantities
    Mixed interval subscriptions
    Backdate subscriptions
    Set trial periods
    Handle subscriptions with deferred payment
    Apply coupons
    Modify subscriptions
    Manage subscription payment methods
    Analytics
    Manage subscriptions on iOS
Invoicing
Usage-based billing
Quotes
Customer management
Billing with other products
Revenue recovery
Automations
Test your integration
Tax
Overview
Use Stripe tax
Manage compliance
Reporting
Overview
Select a report
Configure reports
Reports API
Reports for multiple accounts
Revenue recognition
Data
OverviewSchema
Custom reports
Data Pipeline
Data management
HomeRevenueSubscriptions

Design a subscriptions integration

Learn about the configuration options for a subscriptions integration.

Use this guide to learn the different ways to build your subscriptions integration and follow the links to in-depth, step-by-step guides. You’ll need to consider the following:

  • How you want to charge customers
  • How you want your customers to provide their payment information
  • When you want customers to pay for the subscription

Before starting your integration in a sandbox environment, you must create a Stripe account or log in.

Decide how you want to charge customers

Compare the following pricing models and determine how you want to charge your customers for the subscription to your product or service.

Pricing modelDescriptionExample

Flat rate

Charge customers a flat rate for the service tier they choose.

You offer three different service levels: basic, starter and enterprise. For each service level, you specify a monthly and yearly price.

Per-seat

Charge customers for each pricing unit, which represents one user or seat.

You offer a per-seat plan for software licences. For each user, you charge a specific amount for their licence.

Tiered

Charge customers a varied amount for each pricing unit, based on quantity (volume-based) or usage (graduated):

  • Volume-based pricing: Multiply the quantity or usage by the unit cost of the tier.
  • Graduated pricing: Multiply the quantity or usage by the amount for each tier and sum the totals for each tier.

You offer lower rates for customers who use more projects per month, using tiers that you can adjust based on volume or graduated pricing.

Number of projectsPrice per tier
First tier1-57 GBP
Second tier6-106.50 GBP
Third tier11+6 USD

Usage-based

Charge customers based on their usage of your product or service:

  • Fixed fee and overage: Charge a flat fee per month for your product or service. The flat fee has some included usage entitlement and any additional usage (overage) charges at the end of the period.

  • Pay as you go: Charge for usage tracked over a specific period. You can use any of the following pricing: per unit, per package, volume-based or graduated.

  • Credit burndown: Collect prepayment for your usage-based product or service and allow customers to apply billing credits as they use your product or service.

You charge a flat rate per month for your service that includes a set number of tokens. You charge any usage above the included tokens at an additional rate per token.

First unitLast unitPer unitFlat rate
First tier0100,0000.00 USD0.00 USD
Second tier100,001∞0.001 USD0.00 USD

Decide how customers check out

Compare the following checkout interfaces and determine how you want your customers to provide their payment information for the subscription to your product or service.

InterfaceDescriptionExample

Stripe-hosted page

Use a payment page that’s prebuilt and hosted by Stripe.

Benefits:

  • Stripe handles payment method collection and validation.
  • Stripe automatically starts the subscription process.

UI customisation:

  • 20 preset fonts
  • 3 preset border radii
  • Custom background and border colour
  • Custom logo

Embedded payment form

Embed a payment form that’s prebuilt and hosted by Stripe directly into your site.

Benefits:

  • Stripe handles payment method collection and validation.
  • Stripe automatically starts the subscription process.

UI customisation:

  • 20 preset fonts
  • 3 preset border radii
  • Custom background and border colour
  • Custom logo

Custom payment form

Build a custom payment form using UI components that you can integrate on your website.

Benefits:

  • Combines Stripe Elements with your web app’s front end.
  • Allows you to customise the Payment Element layout to fit your checkout flow.

UI customisation: Customise the look and feel of the payment form with the Appearance API.

Pricing table

Embed a pricing table on your website to show customers pricing information for subscriptions.

Benefits:

  • Displays a range of pricing options.
  • Redirects to a Stripe-hosted payment page for the checkout flow.

UI customisation: Customise the button layout, text and appearance.

One-click payment button

Accept payments through one-click payment buttons for various payment methods.

Benefits:

  • Allows you to add payment buttons without any front-end changes.
  • Dynamically sorts payment buttons based on a customer’s location.
  • Supports the following payment methods: Link, Apple Pay, Google Pay, PayPal, Klarna and Amazon Pay.

UI customisation: Customise the button layout, text and appearance.

Payment Link

Create a payment link that you can share directly with customers. When customers click the payment link, they’re redirected to a Stripe-hosted payment page.

Benefits:

  • Allows you to accept payments using a payment link that you can share as many times as you want.
  • Uses your customer’s preferred browser language.
  • Supports more than 20 payment methods, including credit and debit cards, Apple Pay and Google Pay.

UI customisation:

  • 20 preset fonts
  • 3 preset border radii
  • Custom background and border colour
  • Custom logo

Mobile app

Use a payment form that’s prebuilt and hosted by Stripe in your mobile app.

Benefits:

  • Allows you to use a prebuilt sheet or a customisable drop-in component on any screen in your app.
  • Supports wallet payments, such as Apple Pay, Google Pay and Link.

UI customisation: Customise the look and feel of the payment form with the Appearance API.

Decide when you want customers to pay

Compare the following models and determine when you want your customers to pay for the subscription to your product or service.

Billing modelDescriptionExample

Pay upfront

Require that your customers pay before you provide access to your product or service.

A typical flow looks like this:

  1. Your customer chooses their subscription plan.
  2. You collect payment information.
  3. You provision access to your product or service.
  4. You continue to provision access to the customer throughout the subscription lifecycle.
  5. After the initial charge, you continue to charge the customer the same fixed price for the same service at regular periods.
Pay-up-front subscription model

Free trial

Offer your customers a free trial period for your product or service before billing them.

A typical flow looks like this:

  1. Your customer chooses their subscription plan.
  2. You collect payment information, but don’t charge the customer.
  3. You provision access to your product or service for a limited time.
  4. When the trial ends, a new billing period starts.
  5. Stripe generates an invoice with the price you defined for your service.
Free trial subscription model

Freemium

Allow customers access to your product or service without requesting payment information.

A typical flow looks like this:

  1. Your customer chooses their subscription plan.
  2. You provision access to your product or service for a limited time.
  3. Before the trial ends, you collect payment information.
  4. When the trial ends, a new billing period starts.
  5. Stripe generates an invoice with the price you defined for your service.
Freemium subscription model

Build your subscriptions integration

Use caseInstructions
You want to offer a free trial period for your subscription. You’ll use either a Stripe-hosted page, a Stripe-hosted payment form that’s embedded in your checkout flow or your custom payment form to start the free trial and collect a payment method to use after the trial ends.Start a free trial period using a Stripe-hosted page, an embedded payment form or a custom payment form
You want to charge customers based on their usage of your product or service. You’ll collect payment information using either a Stripe-hosted page, a Stripe-hosted payment form that’s embedded in your checkout flow, your custom payment form or a payment form in your mobile app.Set up usage-based billing
You want to display different subscription pricing levels in a pricing table that’s embedded on your website. You can offer a flat rate, per-seat or tiered pricing or a free trial. After choosing a pricing level, customers can provide their payment information in a prebuilt payment form.Create and embed a pricing table on your website
You want to sell subscriptions for a flat rate and collect payment information using a payment link that you share with your customers. The payment link redirects to a Stripe-hosted payment page.1Create your subscription and then create a payment link for your subscription
You want to sell subscriptions for a flat rate. You’ll collect payment information using a custom payment form that’s embedded in your mobile app.Create a payment form to embed in your iOS app or Android app
You want to sell subscriptions for a flat rate. You’ll collect payment information using one-click payment buttons on either a Stripe-hosted payment page, a Stripe-hosted payment form that’s embedded in your checkout flow or your custom payment form.Create your subscription and then add one-click payment buttons to your checkout flow

1Payment links aren’t supported for usage-based billing.

Was this page helpful?
YesNo
  • Need help? Contact Support.
  • Join our early access programme.
  • Check out our changelog.
  • Questions? Contact Sales.
  • LLM? Read llms.txt.
  • Powered by Markdoc