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
    Quickstart
    Use cases
    Build your integration
    Subscription features
      Subscription invoices
      Subscription schedules
      Subscription pricing
      Recurring pricing models
      Embed a pricing table
      Start subscriptions
      Set quantities
      Set billing cycles
      Backdate subscriptions
      Subscribe to multiple items
      Set trial periods
      Apply coupons
      Migrate subscriptions to Stripe
      How credit prorations are calculated
      Subscription payments
      Subscription payment methods
      Integrate with third-party payment processing
      Collection methods
      Strong Customer Authentication (SCA)
      Manage subscriptions
      Modify subscriptions
      Manage pending updates
    Entitlements
    Analytics
Invoicing
Usage-based billing
Quotes
Customer management
Billing with other products
Revenue recovery
Automations
Revenue recognition
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
HomeRevenueSubscriptionsSubscription features

Recurring pricing models

Learn about the pricing models you can use with subscriptions.

Pricing models are patterns that represent your business on Stripe and consists of the products or services you sell, how much they cost, what currency you accept for payments, and the service interval for subscriptions. To build the pricing model, you use products—what you sell—and prices—how much and how often to charge for your products.

Pricing model Description
Flat rateCustomers choose a service tier (for example, Basic, Starter, or Enterprise) and pay a flat rate for it.
Per-seatEach pricing unit represents one user. For example, a business purchases software for its employees and each employee requires a license to access the software.
TieredThe unit cost changes with quantity (volume-based pricing) or usage (graduated pricing).
Usage-basedCharge customers based on their usage of your product or service. It includes fixed fee and overage, pay as you go, and credit burndown pricing models.

Flat-rate pricing

Many SaaS businesses offer their customers a choice of escalating service options. Customers choose a service tier and pay a flat rate for it. Imagine a business called Togethere that sells a collaboration platform. They offer three different service levels: basic, starter, and enterprise. For each service level, they offer a monthly and yearly price.

Flat-rate pricing model

In this example, Togethere has three products: Basic, Starter, and Enterprise. Each product has several different prices. The basic level has prices for 10 USD per month and 100 USD per year. Both prices are for the same Basic product, so they share the same product description on the customer’s receipt and invoice.

First, create the Basic product. To learn about all the options for creating a product, see the prices guide.

  1. Go to Product catalog.
  2. Click + Create product.
  3. Enter a Name for the product.
  4. (Optional) Add a Description. The description appears at checkout, on the customer portal, and in quotes.

Next, create the monthly price for the Basic product:

  1. Click More pricing options.
  2. Select Recurring.
  3. For Choose your pricing model, select Flat rate.
  4. For Amount, enter a price amount.
  5. For Billing period, select Monthly.
  6. Click Next to save the price.

Then, create the yearly price for the Basic product:

  1. Click + Add another price.
  2. Select Recurring.
  3. For Choose your pricing model, select Flat rate.
  4. For Amount, enter a price amount.
  5. For Billing period, select Yearly.
  6. Click Next.
  7. Click Add product to save the product and price. You can only edit the product and price until you create a subscription with them.

Per-seat pricing

Per-seat pricing is a linear pricing model where the number of seats (for example, software licenses) maps to the number of units (for example, users). Togethere, our example collaboration platform company, also wants to offer a per-seat plan. Togethere’s customers pick how many seats they’ll use, and Togethere charges based on that amount.

Per-seat pricing model

To create a model for this scenario, Togethere creates a product and price structure where each unit represents a user. When Togethere creates a subscription for a customer, the customer specifies the number of users for that subscription.

First, create the Per-seat product. To learn about all the options for creating a product, see the prices guide.

  1. Go to Product catalog.
  2. Click + Create product.
  3. Enter a Name for the product.
  4. (Optional) Add a Description. The description appears at checkout, on the customer portal, and in quotes.

Next, create the monthly price for the product:

  1. Select Recurring.
  2. For Amount, enter a price amount.
  3. For Billing period, select Monthly.
  4. Click Add product to save the product and price. You can only edit the product and price until you create a subscription with them.

To create a subscription using that price:

  1. Go to the Payments > Subscriptions page.
  2. Click + Create subscription.
  3. Find or add a customer.
  4. Search for the product you created and select the price you want to use.
  5. (Optional) Select Collect tax automatically to use Stripe Tax.
  6. Click Start subscription to start it immmediately or Schedule subscription to start it on another schedule.

Tiered pricing

Prices can represent tiers, allowing the unit cost to change with quantity or usage. Use tiers if you need non-linear pricing when quantity or usage changes. You can also combine tiered pricing with base fees to create usage-based pricing models.

For example, Togethere wants to offer lower rates for customers who use more projects per month. The following tiered pricing models show two different ways to adjust pricing as usage increases: volume-based pricing and graduated pricing. To demonstrate these approaches to tiered pricing, we’ll use the following tiers:

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

Volume-based pricing

With volume-based pricing, the subscription item bills at the tier corresponding to the amount of usage at the end of the period. The entire quantity (or usage) is multiplied by the unit cost of the tier. Because the tier price applies to the entire quantity (or usage), the total might decrease when calculating the final cost.

For example, a customer with 5 projects is charged 35 USD (5 × 7 USD). If they accumulate 6 projects the following month, then all projects bill at the 6-10 rate. That month, they’re charged 39 USD (6 × 6.50 USD).

Quantity and usage at end of the periodUnit costTotal monthly cost
17 USD7 USD
57 USD35 USD
66.50 USD39 USD
206 USD120 USD
256 USD150 USD
  1. Go to the Product catalog.
  2. Click + Create product.
  3. Enter a Name for the product.
  4. (Optional) Add a Description. The description appears at checkout, on the customer portal, and in quotes.

Next, create the monthly price for the product:

  1. Click More pricing options.
  2. Select Recurring.
  3. For Choose your pricing model, select Tiered pricing and Volume.
  4. Under Price, create three tiers:
    First unitLast unitPer unitFlat fee
    First tier15$7.00$0.00
    Second tier610$6.50$0.00
    Third tier11∞$6.00$0.00
  5. For Billing period, select Monthly.
  6. Click Add product to save the product and price. You can only edit the product and price until you create a subscription with them.

Graduated pricing

While similar to volume pricing, graduated pricing charges for the usage in each tier instead of applying a single price for overall usage. The quantity is multiplied by the amount for each tier and the totals for each tier are summed together.

For example, 5 projects result in the same charge as volume-based pricing—35 USD total at 7 USD per project. This changes as usage exceeds the first tier. A customer with more than 5 projects is charged 7 USD per project for the first 5 projects, then 6.50 USD for projects 6 through 10, and finally 6 USD per project thereafter. A customer with 6 projects is charged 41.50 USD, 35 USD for the first 5 projects and 6.50 USD for the 6th project.

Quantity and usage at end of the periodTotal for graduated tiered pricing
17 USD
535 USD
641.50 USD
20127.50 USD
25157.50 USD
  1. Go to the Product catalog.
  2. Click + Create product.
  3. Enter a Name for the product.
  4. (Optional) Add a Description. The description appears at checkout, on the customer portal, and in quotes.

Next, create the monthly price for the product:

  1. Click More pricing options.
  2. Select Recurring.
  3. For Choose your pricing model, select Tiered pricing and Graduated.
  4. Under Price, create three tiers:
    First unitLast unitPer unitFlat fee
    First tier15$7.00$0.00
    Second tier610$6.50$0.00
    Third tier11∞$6.00$0.00
  5. For the Billing period, select Monthly.
  6. Click Add product to save the product and price. You can only edit the product and price until you create a subscription with them.

Add a flat fee

You can specify a flat fee (flat_amount) to add to the invoice. This works for both volume and graduated pricing. For example, you can have a flat fee that increases when your customer exceeds certain usage thresholds:

TierAmount (unit cost)Flat fee
1-5 (up_to=5)5 USD (unit_amount=500)10 USD (flat_amount=1000)
6-10 (up_to=10)4 USD (unit_amount=400)20 USD (flat_amount=2000)
10-15 (up_to=15)3 USD (unit_amount=300)30 USD (flat_amount=3000)
15-20 (up_to=20)2 USD (unit_amount=200)40 USD (flat_amount=4000)
20+ (up_to=inf)1 USD (unit_amount=100)50 USD (flat_amount=5000)

Volume-based pricing flat fee example

If quantity is 12 and tiers_mode=volume, the total amount billed is:

12 × 3 USD + 30 USD = 66 USD

Graduated pricing flat fee example

If quantity is 12 and tiers_mode=graduated, the total amount billed is:

(5 × 5 USD + 10 USD) + (5 × 4 USD + 20 USD) + (2 × 3 USD + 30 USD) = 111 USD

A tier can have either a unit_amount or a flat_amount, or both, but it must have at least one of the two. If quantity is 0, the total amount is 10 USD regardless of the tiered pricing model used. Stripe always bills the first flat fee tier when quantity=0. To bill 0 when there’s no usage, set up an up_to=1 tier with an unit_amount equal to the flat fee and omit the flat_amount.

Usage-based pricing

Usage-based pricing enables you to charge based on a customer’s usage of your product or service. Usage-based pricing includes models such as fixed fee and overage, pay as you go, and credit burndown.

Fixed fee and overage

Use the fixed fee and overage model to charge a flat fee per month for your service at the beginning of the period. The flat fee has some included usage entitlement, and any additional usage (overage) charges at the end of the period.

You can use the Stripe Dashboard or API to set this up with two prices within the same product. For example, Alpaca AI introduces an advanced model called Llama AI. Priced at 200 USD per month, this model includes 100,000 tokens. They charge any usage above the included tokens at an additional rate of 0.001 USD per token.

  1. On the Product catalog page, click Create product.

  2. On the Add a product page, do the following:

    • For Name, enter the name of your product. For the Alpaca AI example, enter “Llama AI.”
    • (Optional) For Description, add a description that appears at checkout in the customer portal and in quotes.
    • Under Billing period, select More pricing options.
  3. On the Add price page, do the following:

    • Under Choose your pricing model, select Flat rate.
    • Under Price, set the Amount to 200.00 USD.
    • Click Next
  4. To add a second recurring price to the product, click Add another price on the Add a product page.

  5. On the Add price page,do the following:

    • Under Choose your pricing model, select Usage-based, Per tier, and Graduated.

    • Under Price, create two graduated pricing tiers:

      First unitLast unitPer unitFlat fee
      First tier0100,0000.00 USD0.00 USD
      Second tier100,001∞0.001 USD0.00 USD
  6. Under Meter, create a new meter to record usage. For the Alpaca AI example, use the meter name “llama_api_tokens.”

  7. Click Next.

  8. Click Add product. When you create subscriptions, specify both prices.

Pay as you go

The pay as you go model (also called “in arrears billing”) lets you track usage incurred over a determined period, then charge the customer at the end of the period.

Rate cards private preview

You can use rate cards to set up the pay as you go model. Rate cards are currently in private preview. Contact us to request access.

You can use any of the following pricing strategies:

  • Per unit: Charge the same amount for each unit.
  • Per package: Charge an amount for a package or bundle of units or usage.
  • Volume-based pricing: Charge the subscription item at the tier that corresponds to the usage amount at the end of the period.
  • Graduated pricing: Charge for the usage in each tier instead of applying a single price to all usage.

This model might cause customers to accumulate significant usage, and affect their payment method status at the end of the month.

Credit burndown

The credit burndown model lets you collect prepayment for usage-based products and services. Customers can use billing credits to pay an initial amount, and then apply their billing credits as they use the product.

Rate cards private preview

You can use rate cards to set up the pay as you go model. Rate cards are currently in private preview. Contact us to request access.

For example, Alpaca AI wants to sell a large enterprise contract to an existing self-serve customer for their new Llama AI Model. The customer commits to pay 100,000 USD up front for Llama AI, so they can get 120,000 USD of billing credit usage to use within 1 year.

Collect prepayment from a customer

  1. On the Invoices page, click Create invoice.
  2. Select your customer from the Customer dropdown.
  3. Select USD - US Dollar from the Currency dropdown.
  4. Under Items, select Add a new line item.
  5. Under Item details, do the following:
    • For Item, enter “Llama AI Credits.”
    • For Price, enter “100,000.”
    • Click Save.
  6. Click Send invoice.

After your customer pays the invoice, you can grant them billing credits.

Grant billing credits to a customer

  1. On the Customers page, select the customer name.
  2. On the customer page, under Credit grants, click the plus (+) symbol.
  3. On the New credit grant page, do the following:
    • For Name, enter a name for your credit grant.
    • For Amount, specify the amount of the credit grant. For the Alpaca AI example, enter “120,000.”
    • Under Expiry date, specify the date, if any, when the credits expire. For the Alpaca AI example, select Specific date and set a date 12 months from now.
    • Click Create grant.

See also

  • Prebuilt subscriptions page with Stripe Checkout
  • Build a subscriptions integration
  • Embed a pricing table
Was this page helpful?
YesNo
Need help? Contact Support.
Join our early access program.
Check out our changelog.
Questions? Contact Sales.
LLM? Read llms.txt.
Powered by Markdoc