1. Home
  2. Blog
  3. Project Management
  4. Chargebee, build subscription-based product faster

Chargebee, build subscription-based product faster

Composing applications by integrating 3rd party tools is something that many small and large companies have successfully practised for years to speed up software development. We don't want to resolve issues already resolved by someone else. Building a subscription-based product is not an exception. Everyone, who wants to make one, needs to implement the full subscription functionalities that have already been implemented many times by other people. Let's see how Chargebee can speed up subscription model implementation in your next subscription-based application.

What are subscriptions?

A subscription model is an approach where a customer needs to pay a regular price at regular intervals to access a product. The business benefits from predictable, recurring income and customers don't need to pay a considerable price upfront. It's no wonder that so many well-known software products like Photoshop, Slack, Gmail, Atlassian, MailChimp and Dropbox use a subscription model. Moreover, an idea also spread to other areas like media and content (Netflix, Spotify, Youtube) or even physical goods (Grover, Swapfiets, Bluemovement). However, the subscription model is a challenge for software development. Customer management, offer configuration, subscription periods, payments, invoicing, taxes, discounts, and many other elements can take many months to implement correctly. Fortunately, some solutions help us start quickly with a subscription-based model, and Chargebee is one of them.

Chargebee

Chargebee is a service that covers all boring subscription model related tasks, so we can focus on building and launching the core of our business. So, within the Chargebee, you manage customers with billing and payment information so we can charge customers for provided services. In Chargebee, we also manage the plans that describe your offer. It is a template for future subscriptions with a defined billing frequency, duration, and pricing. The power of Chargebee is that it automates all processes around the subscriptions. One of the most important is calculating when and how much customers charge for an ordered service, including payment and generating invoices.

Chargebee provides an admin web panel to manage your data and API for developers. In most cases, we have two integration touchpoints. The first touchpoint is our application; we want to grant access to our application or fulfil the order base on subscription status. The second touchpoint is the checkout process, the feature available on our website that enables customers to order our services by subscribing to specific plans.

Checkout process

Checkout is the process that allows customers to create an account, choose a suitable subscription plan, and provide payment details used in the future for recurring payments. The beauty of Chargebee is that they prepared a few different solutions that support us with rapid checkout feature development for our business, so we have access to widgets that we can easily add to our website. In addition, we can use a standalone web page that provides the checkout functionality and a wide range of other self-service features that could be useful for our customers, like the option to download historical invoices.

Furthermore, suppose we have special requirements about the UI design and behaviour. In that case, we can build a custom checkout process and use API to place an order in Chargebee so that Chargebee can take care of subscription management, billing automation, recurring payments, or accounting and taxes.

Payments

Chargebee, based on subscription configuration, calculate when and how much charge customers for a product. Chargebee creates invoices and triggers payment transactions but does not charge customers directly. Instead, the payment transaction is processed by payments gateway providers like Stripe, PayPal or Braintree. Chargebee support and integrate with over 25 different payment gateways. Each payment gateway has its list of supported payment methods like Credit Card, Direct Debit or Digital Wallets, so everyone should find something suitable. The configuration is straightforward and should not be a problem even for a non-technical person. What is essential, Chargebee tries to address the challenges that each subscription-based model faces daily: failed recurring payments and chargebacks.

How to prepare your application to be a SaaS

We need to ensure that your application can handle many customers and separate their data respectively, and it’s usually something that requires custom software development. The most straightforward implementation can assume that the customer is also a single user who has access to your product. Often, it's not so simple, and we follow the tenant concept, where a tenant is a person or the organisation that owns and manages access to your product.

From an infrastructure perspective, we can follow one of three different approaches. The first one is a single-tenant architecture. We have separated infrastructure for each tenant, and preparation to offer our application in the SaaS model will focus on building automatic infrastructure setup features. The second approach is a multi-tenant architecture where tenants share the same infrastructure, and we separate customers' data on the software level. Finally, some companies decide to follow the third hybrid variation of the single and multi-tenant architectures. For example, we can optimise infrastructure costs by sharing one infrastructure for all small customers and offer dedicated infrastructure for larger customers.

However you prepare your application to work as a Saas, you can still use Chargebee API to get information about tenants who subscribed to your service. You can grant or block access to your product by having access to subscription status.

Chargebee supports software developers

Chargebee provides a few key features that help Software Developers to build and support integration:

  • separated test environment from the production environment. It helps you to test new configuration, scripts and integration changes before deploying on production,

  • webhook system. We can configure HTTP endpoints in your application that Chargebee will trigger on specific events (e.g. customer created, updated, invoice generated, payment updates etc.). It's far more efficient as webhooks help to reduce unnecessary API polling.

  • events list. The administrator can use the web browser panel to list event history, including payload, connected webhooks and webhook responses.

  • custom fields can be added to customers, subscriptions or plans objects in Chargebee. Each custom field has its type (e.g. string, date, boolean, list) that allows displaying custom fields in the right way for administrators on a web browser panel. Custom fields are accessible from API.

  • time machine, a unique solution that gives you a possibility to emulate time flow in the system and test configuration impact for scheduled Chargebe activates like invoicing

Summary

The subscription model is not so simple after all and brings a lot of new challenges. Still, it’s an attractive business model. Tools like Chargebee allows experimenting with the subscription-based model without big budgets, making it accessible for small startups.