Seat Based Billing
Seat Based Billing in Creem enables you to charge customers based on the number of seats or users they need, supporting both one-time payments and subscription models. This documentation explains how to implement and manage seat-based billing for your products.
Understanding Seat Based Billing
Seat Based Billing allows you to set a per-seat price for your product and let customers purchase multiple seats. This is particularly useful for team-based products, enterprise software, or any service where pricing scales with the number of users.
Seat Based Billing in Creem works for both One Time Payments and Subscriptions seamlessly without any special setup.
Key Concepts
Per-Seat Pricing
In Seat Based Billing:
- Base Price: Set in the Creem dashboard as the price per individual seat
- Units: Represents the number of seats being purchased
- Total Price: Automatically calculated as (Base Price × Units)
Implementation
To implement Seat Based Billing, you’ll need to:
- Create a product in your Creem dashboard where the price is the base seat price
- Generate a checkout session with the desired number of seats
- Direct your customer to the checkout URL
Code Example
Managing Seat Changes
You can manage seat quantities for your customers in subscriptions by:
- Adding seats: Modify the subscription through the dashboard or update subscription API
- Reducing seats: Modify the subscription through the dashboard or update subscription API
Update Subscription API
If you wish to add or reduce the amount of seats in a given subscription, you can use the subscription API to make changes. Usually, it is great practice for your system to store the subscription ID of a given customer. With the subscription ID, we can then query Creem API to get all information needed to update a subscription.
- Querying subscription details
- With the subscription ID, call the GET Subscription Creem API.
- Retrieve the Item ID from the subscription item.
- Make the subscription change
- With the Item Id and Subscription ID, call the UPDATE subscription API.
- Use the
units
field to the desired amount of seats changed.
Manual subscription changes through the Creem Dashboard
You can also modify subscription seats through your Creem Dashboard as a merchant. Simply click on a subscription, and upon the details sheet opening, click on the “Modify Subscription” button
Billing after subscription updates
The new amount will be charged upon subscription renewal. If you need pro-rata charges or different use cases, contact the Creem team.
Remember to validate and track seat usage in your application to ensure customers don’t exceed their purchased seat limit.