Recurring Billing for Stripe Payments

Eliminate the need to design, build, and maintain your billing code.

One Abstraction Layer for All Your Recurring Billing Needs.

Billing challenges are usually hidden. Starting up, you will need to set up checkout pages, activate customers, send invoices, and collect payments from the very first customer.

But as you grow, you will need to handle billing complexities such as accounting and taxes, revenue recovery, localization, customization, reporting and much more. Chargebee’s APIs are best designed to support all that and more.

A Complete Subscription Billing Stack

You don't have to dedicate full-time engineers to handle billing complexities, do you?

Subscription management

  • Plan and Addons
  • Trial and freemium
  • Upgrades & Downgrades
  • Discounts and coupons
  • Hosted checkout page
  • Customer portal

Reporting and Analytics

  • Net revenue
  • Net payments received
  • MRR & ARPU
  • Plans report card
  • Activations and cancellations
  • RevRec & Deferred revenue

Recurring Invoices

  • Flexible pricing models
  • Customizable invoices
  • Configure global taxes
  • Credit notes and refunds
  • Customer lifecycle emails
  • Handle prorations


  • Quickbooks Online
  • Xero
  • Zendesk
  • Avalara
  • Salesforce
  • HubSpot


  • 23+ payment gateways
  • Multiple payment methods
  • Multiple currencies
  • Credit Cards and Digital Wallets
  • Direct debit payments
  • Offline payments

Chargebee is all about solving billing edge cases for you

Take a tour

Chargebee’s APIs Are Intuitive and Efficient

Chargebee helps you solve all the complexities involved in recurring billing effortlessly.

Work with our robust set of APIs to build recurring genius, and remarkable experiences, right inside your app.

    creates a subscription with customer information and billing details.

require 'chargebee'
ChargeBee.configure(:site => "{site}",
  :api_key => "{site_api_key}")
result = ChargeBee::Subscription.create({
  :plan_id => "no_trial",
  :auto_collection => "off",
  :billing_address => {
    :first_name => "John",
    :last_name => "Doe",
    :line1 => "PO Box 9999",
    :city => "Walnut",
    :state => "California",
    :zip => "91789",
    :country => "US"
  :customer => {
    :first_name => "John",
    :last_name => "Doe",
    :email => "[email protected]"
subscription = result.subscription
customer = result.customer
card = result.card
invoice = result.invoice
unbilled_charges = result.unbilled_charges
# creates a subscription with customer information and billing details.
curl  https://{site} \
     -u {site_api_key}:\
     -d plan_id="no_trial" \
     -d auto_collection="off" \
     -d customer[first_name]="John" \
     -d customer[last_name]="Doe" \
     -d customer[email]="[email protected]" \
     -d billing_address[first_name]="John" \
     -d billing_address[last_name]="Doe" \
     -d billing_address[line1]="PO Box 9999" \
     -d billing_address[city]="Walnut" \
     -d billing_address[state]="California" \
     -d billing_address[zip]="91789" \
     -d billing_address[country]="US"                                                  
    creates a subscription with customer information and billing details.

Result result = Subscription.create()
    .customerEmail("[email protected]")
    .billingAddressLine1("PO Box 9999")
Subscription subscription = result.subscription();
Customer customer = result.customer();
Card card = result.card();
Invoice invoice = result.invoice();
UnbilledCharge unbilledCharges = result.unbilledCharges();                                            
    creates a subscription with customer information and billing details.

require 'ChargeBee.php';
$result = ChargeBee_Subscription::create(array(
  "planId" => "no_trial",
  "autoCollection" => "off",
  "billingAddress" => array(
    "firstName" => "John",
    "lastName" => "Doe",
    "line1" => "PO Box 9999",
    "city" => "Walnut",
    "state" => "California",
    "zip" => "91789",
    "country" => "US"
  "customer" => array(
    "firstName" => "John",
    "lastName" => "Doe",
    "email" => "[email protected]"
$subscription = $result->subscription();
$customer = $result->customer();
$card = $result->card();
$invoice = $result->invoice();
$unbilledCharges = $result->unbilledCharges();                                                

Freedom improved conversions by 33% with a stellar billing experience, using Chargebee with Stripe.

  • Supported for global payment methods.
  • Provided a self-service portal to customers.
  • Tracked growth and risk factors using RevenueStory.
  • Created and managed coupons effortlessly.
See all customers who’ve untangled their subscription billing operations with Chargebee

Get Started with Chargebee

Chargebee Customers
Chargebee is a fantastic solution that really meets the needs of any SaaS business. I have had my experience with many platforms both as a leader and as a consultant, and Chargebee is certainly the best.
— Dailius Wilson, VP Sales and Growth

Hate waiting?

Skip the queue and directly book a demo with our product experts.