This guide walks you through how to create per-seat subscriptions for a messaging service that offers a basic option with a single price per seat, and a premium option with discounted pricing based on the number of seats purchased. It uses Stripe Elements to create a custom payment form you embed in your application.
You can find code for an example implementation on GitHub.
Other guides that explain how to build subscriptions with different business models:
- Fixed-price subscriptions, where everyone pays the same amount for a single product or service
- Metered billing, where customers pay depending on how much they use of a service such as data storage, or calls to an API
This guide is different in that you pass the quantity to the subscription object. Like the metered billing guide, it also shows how to use tiers, in this case to offer discounted pricing for larger quantities.
What you’ll build
This guide shows you how to:
- Model your subscriptions with Products and Prices
- Create a signup flow
- Collect payment information
- Create Subscriptions and charge customers
- Handle payment errors
- Preview the cost of adding or removing seats, or changing the plan
- Let customers change their plan or cancel the subscription