Create account
Sign in
Home
Payments
Business operations
Financial services
Developer tools
Security
All products
Home
Payments
Business operations
Home
Payments
Business operations
Financial services
Developer tools
Support
Overview
Overview
Customers
Products and Prices
Tax Rates
Customer portal
Quotes
Start with a use case
Subscriptions with Checkout
Fixed-price subscriptions with Elements
Metered billing with Elements
Per-seat billing with Elements
Manage subscriptions
How subscriptions work
Subscription webhooks
Change subscriptions
Strong Customer Authentication (SCA)
Improved tax support
Invoices API updates
Migrating to Prices
Additional features
Adding taxes
Applying discounts
Backdating subscriptions
Decimal amounts
Metered billing
Multiple subscriptions
Prorations
Setting quantities
Subscriptions with Connect
Subscriptions with multiple products
Subscription schedules
Tiered pricing
Quantity transformation
Using trial periods
Testing
Add payment methods
Bacs Direct Debit in the UK
BECS Direct Debit in Australia
SEPA Direct Debit in the EU
Invoice customers
How invoices work
Create an invoice
Customize invoices
Hosted invoice page
Additional features
Revenue recognition
Overview
Reports
Methodology
Examples
Overrides
Testing
billing
·
HomePaymentsSubscriptionsAdditional features

Setting subscription quantities

Vary a subscription's cost by subscribing a customer to multiple quantities of a product.

Per-seat licensing

Setting a quantity on a subscription is often described as “per-seat licensing”, which has an linear cost increase: 10 uses incurs a cost of 10 times the base price.

By default, each subscription is for one product, but Stripe allows you to subscribe a customer to multiple quantities of a single product. For example, say you run a hosting company through which customers host sites at a cost of $9.99 per site per month. Most customers host a single site, while some host many. You could create prices for one site ($9.99), two sites ($19.98), and so forth, but a better approach is to subscribe customers to a quantity with a $9.99 unit price.

There are two kinds of usage-based billing for subscriptions: metered billing, and per-seat licensing. You can enable these billing models by setting the value of the recurring[usage_type] attribute when creating a price. You may only specify a quantity when creating a subscription configured with licensed as the value of recurring[usage_type]. If you would like to have granular billing for usage that fluctuates within a billing interval, consider using metered billing instead of quantities.

Setting multiple quantities

To set the quantity on a subscription, provide a quantity value when creating or updating the subscription:

Terminal
curl https://api.stripe.com/v1/subscriptions \ -u
sk_test_4eC39HqLyjWDarjtT1zdp7dc
: \ -d "customer"="cus_4fdAW5ftNQow1a" \ -d "items[0][price]"="price_CBb6IXqvTLXp3f" \ -d "items[0][quantity]"=5

Multiple quantities are still billed using one invoice, and are prorated when the subscription changes, including when you change just the quantities involved.

Charging different amounts based on quantity

In some cases, you may want to adjust the cost per seat based on the number of seats in a subscription. For example, you could offer volume licensing discounts for subscriptions that exceed certain quantity thresholds. You can use tiers to adjust per-seat pricing in that manner.

See also

  • Change subscriptions
  • Multiple subscriptions
  • Subscriptions API
Was this page helpful?
Questions? Contact us.
Developer tutorials on YouTube.
You can unsubscribe at any time. Read our privacy policy.
On this page
Setting multiple quantities
Charging different amounts based on quantity