Skip to content
Create account
or
Sign in
The Stripe Docs logo
/
Ask AI
Create account
Sign in
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Developer tools
Get started
Payments
Finance automation
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Overview
Billing
    Overview
    About the Billing APIs
    Subscriptions
    Invoicing
    Usage-based billing
      Choose a usage-based billing setup
      Record usage for billing
      Offer billing credits
      Monitor usage
      Usage-based pricing models
    Connect and Billing
    Tax and Billing
    Quotes
    Revenue recovery
    Automations
    Scripts
    Revenue recognition
    Customer management
    Entitlements
    Test your integration
Tax
Reporting
Data
Startup incorporation
HomeFinance automationBillingUsage-based billing

Model usage-based pricing

Learn about the different pricing models for usage-based billing on Stripe.

Copy page

Common pricing models include fixed fee and overage, pay as you go, or credit burndown. Use the guidance below to set up these pricing models in Stripe.

Fixed fee and overage model

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. We charge any usage above the included tokens at an additional rate of 0.001 USD per token.

  1. On the Product catalogue 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
      For the first0100,0000.00 USD0.00 USD
      For the next100,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. Get in touch here to request access.

You can deploy 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.
  • Tiered and volume-based pricing: With volume pricing, you charge the subscription item at the tier that corresponds to the usage amount at the end of the period.
  • Tiered and graduated pricing: Similar to volume pricing, graduated pricing charges 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. Get in touch here 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.

Free trials

You can use trial periods for subscriptions with usage-based billing. During the trial period, any usage accrued doesn’t count toward the total charged to the customer at the end of the billing cycle. After the trial period ends, the usage accrues and bills at the end of the next billing cycle.

Make sure your integration properly monitors and handles webhook events related to trial status changes.

A few days before a trial ends and the subscription moves from trialing to active, you receive a customer.subscription.trial_will_end event. When you receive this event, make sure you have a payment method on the customer account to bill them. Optionally, provide advance notification to the customer about the upcoming charge.

StatusDescription
trialingThe subscription is currently in a trial period and you can safely provision your product for your customer. The subscription transitions automatically to active when a customer makes the first payment.
activeThe subscription is in good standing. For past_due subscriptions, paying the latest associated invoice or marking it uncollectible transitions the subscription to active. Note that active doesn’t indicate that all outstanding invoices associated with the subscription have been paid. You can leave other outstanding invoices open for payment, mark them as uncollectible, or void them as you see fit.
incompleteThe customer must make a successful payment within 23 hours to activate the subscription. Or the payment requires action, such as customer authentication. Subscriptions can also be incomplete if there’s a pending payment and the PaymentIntent status is processing.
incomplete_expiredThe initial payment on the subscription failed and the customer didn’t make a successful payment within 23 hours of subscription creation. These subscriptions don’t bill customers. This status exists so you can track customers who failed to activate their subscriptions.
past_duePayment on the latest finalized invoice either failed or wasn’t attempted. The subscription continues to create invoices. Your subscription settings determine the subscription’s next state. If the invoice is still unpaid after all attempted smart retries, you can configure the subscription to move to canceled, unpaid, or leave it as past_due. To reactivate the subscription, have your customer pay the most recent invoice. The subscription status becomes active regardless of whether the payment is done before or after the latest invoice due date.canceledThe subscription was cancelled. During cancellation, automatic collection for all unpaid invoices is disabled (auto_advance=false). This is a terminal state that can’t be updated.
unpaidThe latest invoice hasn’t been paid but the subscription remains in place. The latest invoice remains open and invoices continue to generate, but payments aren’t attempted. Revoke access to your product when the subscription is unpaid because payments were already attempted and retried while past_due. To move the subscription to active, pay the most recent invoice before its due date.
pausedThe subscription has ended its trial period without a default payment method and the trial_settings.end_behavior.missing_payment_method is set to pause. Invoices are no longer created for the subscription. After attaching a default payment method to the customer, you can resume the subscription.

Learn more about subscriptions and webhooks.

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
Related Guides
Usage-based billing overview
How to record usage
Products Used
Billing