Seat Based Billing

Seat Based Billing is typically required in scenarios where software or services are licensed and billed based on the number of users or individual "seats" that have access to the system. Common use cases include:

  1. Team Collaboration Tools: Platforms like Slack, Zoom, or Microsoft Teams, where each user (seat) represents access for individual team members.

  2. Subscription Software: SaaS products such as CRM systems (e.g., Salesforce), project management tools (e.g., Asana, Trello), or accounting software (e.g., QuickBooks) that are priced according to the number of active users.

  3. Training and E-learning Platforms: Services where individual learners or employees need accounts for access, such as Udemy for Business or LinkedIn Learning.

  4. Customer Support Tools: Helpdesk or ticketing systems like Zendesk or Freshdesk, which bill organizations per support agent using the platform.

  5. Licensing for Enterprise Software: Applications that require specific accounts for employees, ensuring proper access control and usage tracking at the user level.

Overall, Seat Based Billing is ideal for organizations that need granular control over access, scalability, and clear cost predictability based on user counts.

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 BagelPay 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.

Key Concepts

Per-Seat Pricing

In Seat Based Billing:

  • Base Price: Set in the BagelPay dashboard as the price per individual seat

  • Units: Represents the number of seats being purchased

  • Total Price: Automatically calculated as (Base Price × Units)

How to implement Seat Based Billing?

To implement Seat Based Billing, you’ll need to:

Step1: Create a product in dashboard where the price is the base seat price

Go over to the products tab and create a product.

You can add a name, description, and price to your product. The price is the base seat price.

Step2: Generate a checkout session with the desired number of seats

Below is a code example:

curl --request POST \
  --url https://test.bagelpay.io/api/payments/checkouts \
  --header 'x-api-key: bagel_test_609C0CF4D5F64CC7910D26D9DF3A834B' \
  --header 'Content-Type: application/json' \
  --data '{
    "product_id": "prod_1961350758759763969",
    "request_id": "request_123456789",
    "units": 5,
    "customer": {
        "email": "user@example.com"
    },
    "metadata": {
        "key_1": "value_1",
        "key_2": "value_1",
        "key_N": "value_N"
    }
}'

The aforementioned request will initiate a checkout session encompassing five units of the specified product.

And BagelPay gateway will return a checkout session object with a checkout_url that you can use to redirect the user to the payment page.

checkout_url example:

https://test.bagelpay.io/checkout/prod_1961350758759763969/ch_1961373726999154689
Step3: Direct your customer to the checkout URL

Last updated