Stripe | Financial Infrastructure to Grow Your Revenue

Stripe | Financial Infrastructure to Grow Your Revenue

4466 articles

How usage-based billing works


How usage-based billing works

Learn how you can launch common usage-based pricing models on Stripe.

Note

This page describes basic usage-based billing with Billing Meters. Unless you’re maintaining an existing Billing Meters integration, use Metronome, which handles metering, pricing models, prepaid credits, enterprise contracts, and automated invoice generation. Compare your options to decide which approach fits your use case.

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.

TermDefinition
Customer-configured Accounts or CustomersUse customer-configured Account objects or Customer objects to represent an entity (typically a person or business) that can make payments to your business. You can use these objects 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 about customer-configured Account objects, see Represent customers using Account objects. For more information about Customer objects, see Customers.
SubscriptionsA 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.
PricesPrices 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.
MeterA 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 eventsA 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: An event name (matching the configured meter) A customer identifier A numerical usage value An optional timestamp (defaults to current time if not specified) An optional unique identifier for idempotency Any additional dimensions for segmentation
Meter event summaryYou 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.

See also

Last verified 2026-09-24

Is this helpful?