How usage-based billing works
Learn how you can launch common usage-based pricing models on Stripe.
Usage-based billing enables you to charge customers based on their usage of your product or service.
The Stripe usage-based billing lifecycle is made up of four major components:
- Ingestion: Send your customer’s usage data to Stripe.
- Product catalog set up: Create your usage based and recurring prices.
- Billing: Subscribe your customer to a set of prices that reflect your pricing model. Stripe invoices your customers for the usage they consume.
- Monitoring: Set up alerts to receive notifications of customers crossing usage thresholds. Track usage analytics to understand key trends.
Lifecycle
This is the lifecycle for a typical usage-based billing integration that uses products and prices:
Usage-based billing concepts
Learn about these concepts to understand how usage-based billing works.
Term | Definition |
---|---|
Customers | A Stripe customer represents an entity (typically a person or business) that can make payments to your business. You can use the customer resource to store billing details, set up subscriptions, track payments, and manage customer information. You can also link customers to your own user system using the metadata field, which allows you to associate your internal user IDs with Stripe customer records. For more information, see Customers. |
Subscriptions | A Stripe subscription represents a recurring billing relationship with a specific customer and one or more prices. Subscriptions charge customers on a recurring schedule (weekly, monthly, yearly, and so on) and generate invoices at the end of each billing cycle. For more information, see How subscriptions work. |
Prices | Prices are attached to products and represent specific pricing configurations that define how much and how often to charge for a product. To learn about key attributes and the differences between one-time, recurring, and usage-based charges, see Prices. |
Meter | A Stripe meter tracks usage data (such as API requests, processing time, and data storage) and specifies how to aggregate the data (meter events) over a billing period for usage-based billing. Meters use an aggregation formula to define how usage events are counted and aggregated. To create a meter, see Create and configure a meter. |
Meter events | A meter event represents a unit of usage that you report to Stripe for usage-based billing. They capture specific instances of customer usage and include:
|
Meter event summary | You can use the Meter Event Summary to retrieve total usage for a custom time period. The meter event summary returns a customer’s aggregated usage for a period, based on the aggregation formula defined by the meter. Meter event summaries update asynchronously when meter events process. |