Chargebee is a subscription management and recurring billing application that helps SaaS and SaaS-like enterprises streamline revenue operations. Chargebee works with the world's most popular payment gateways.
Freshdesk is a cloud based customer support software for companies with multiple support agents and complex customer service requirements. It combines the power of social networks, crowd support, email and phone with information channels like forums and internal notes.
Want to explore Chargebee + Freshdesk quick connects for faster integration? Here’s our list of the best Chargebee + Freshdesk quick connects.
Explore quick connectsLooking for the Freshdesk Alternatives? Here is the list of top Freshdesk Alternatives
It's easy to connect Chargebee + Freshdesk without coding knowledge. Start creating your own business flow.
Triggers when customer details such as first name, last name, email, billing address, etc., are updated.
Triggers when a customer is created.
Triggers when a new invoice is generated(with line item support).
Triggers when a payment is collected successfully.
Triggers when a subscription is created.
Triggers when a payment fails.
Triggers when a subscription is cancelled.
Triggers when a subscription is scheduled for cancellation.
Triggers when subscription details such as custom fields, billing information, recurring items etc., are modified.
Triggers when a subscription is paused.
Triggers when a paused subscription is resumed.
Triggers when a new customer is created.
Triggers when there is a new ticket is created in Freshdesk.
Triggers when a Ticket is updated.
Updates next billing date of a subscription.
Creates a new customer in Chargebee.
Creates a new subscription along with the customer in Chargebee. This action does not support adding subscription to an existing customer.
Pauses a subscription in Chargebee.
Records an offline payment for unpaid invoices.
Resumes a paused subscription in Chargebee
Updates customer details in Chargebee.
Allows you to create a User/Customer in Freshdesk for your support domain.
Create a ticket in Freshdesk for your domain.
(30 seconds)
(10 seconds)
(30 seconds)
(10 seconds)
(2 minutes)
Chargebee is a subscription billing provider, specialized in providing merchant accounts for subscription-based businesses. It provides recurring billing and invoicing services to its clients extending various payment options like Credit Card, PayPal or Stripe payment facility. They also provide inbuilt analytics which helps the clients to see their revenue per month, how many customers are opting to make payments via credit card, how many customers are paying using PayPal, etc. Chargebee also provides its customers with a dashboard that helps them manage their subscription rates, customer loyalty programs and other details that they would need to effectively run a subscription-based business.
Freshdesk is a cloud-based customer support software that helps companies deliver best possible customer experience to their users. It offers multiple features that help businesses of all sizes manage their customer service operations efficiently. It includes features like live chat, email support, social media support, FAQs, etc. Freshdesk also has an app for iOS and Android devices that can be used for managing customer service operations on the go.
In this section, it will be discussed how Chargebee and Freshdesk can be integrated together. The integration process between these two platforms is quite easy as both of them have implemented a standard API structure which makes it easier for developers to integrate one platform with another. In this case, Chargebee and Freshdesk can be integrated through the use of Chargebee’s API. From Chargebee’s side, this integration can be done using any programming language like PHP, Python, etc. On the other hand, integration from Freshdesk’s side can be done using their scripting language called FreshScripts.
This integration can be done in the fplowing steps:
Step 1. Create a Freshdesk account by visiting their website at https://www.freshdesk.com/pricing/. Make sure that during the sign up process you select “Start free trial” option instead of “Free edition” option because “Free edition” option does not have a scripting language. Once you have created your account, set up your business on Freshdesk so that it can cplect information about you and your company that will later be displayed on your dashboard. After creating your business on Freshdesk, create a new project in your dashboard and name it whatever you want it to be. Next, create a new script by clicking on the “New script” button in the top right corner of your screen. This will open up a new page where you are asked to enter the details about your new script. Make sure that “This is a FreshScript” checkbox is checked and leave everything else untouched and click on “Create” button to save your script. Your script will now open up in the editor page where you can enter your code to integrate Chargebee with Freshdesk. Here is an example of what this code should look like:
var callbackURL = "https://callback-url"; var chargebee_api_key = "Your_API_Key"; var chargebee_secret_key = "Your_Secret_Key"; //API Key and Secret Key of Chargebee var chargebee_client = chargebee({ api_key. chargebee_api_key, secret_key. chargebee_secret_key },{ 'method'. 'POST', 'host'. 'api.chargebee.com', 'path'. '/rest/v2/reference/subscriptions', 'headers'. { 'X-ChargeBee-User-Id'. api_user_id } }); /* Callbacks / // This function is executed after callback is validated and before sending the actual data var function(error, response. { if (error. { callbackURL = "http://www.example.com/error"; conspe.log(error); } else { var data = JSON.stringify(response); conspe.log(data); } }; // This function is executed after receiving the actual data from ChargeBee var function(error, response. { if (error. { callbackURL = "http://www.example.com/error"; conspe.log(error); } else { callbackURL = "http://www.example.com/success"; conspe.log(response); } }; chargebee_client({ method. "POST", headers. { "Content-Type". "application/json" }, body. { transaction. { subscription. { id. "subscription-id", plan. { type. "plan-id", attributes. [] } , customer. { firstname. "Jane", lastname. "Doe", email. "[email protected]" } , type. "one-time" } , next_billing_attempt_at. null }, metadata:{ source_token. source_token } } }.then(function(. { conspe.log("Receiving next billing date"); return callback(null, {next_billing_attempt_at:"2016-05-16"} ); }, function(err, response. { if (err. { conspe.log(err); } else { conspe.log(response); } }); 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 var callbackURL = "https://callback-url" ; var chargebee_api_key = "Your_API_Key" ; var chargebee_secret_key = "Your_Secret_Key" ; //API Key and Secret Key of Chargebee var chargebee_client = chargebee ( { api_key . chargebee_api _ key , secret _ key . chargebee _ secret _ key } , { 'method' . 'POST' , 'host' . 'api.chargebee.com' , 'path' . '/rest/v2/reference/subscriptions' , 'headers' . { 'X-ChargeBee-User-Id' . api _ user _ id } } . ; / Callbacks */ // This function is executed after callback is validated and before sending the actual data var function ( error , response . { if ( error . { callbackURL = "http://www.example.com/error" ; conspe . log ( error . ; } else { var data = JSON . stringify ( response . ; conspe . log ( data . ; } } ; // This function is executed after receiving the actual data from ChargeBee var function ( error , response . { if ( error . { callbackURL = "http://www.example.com/error" ; conspe . log ( error . ; } else { callbackURL = "http://www.example.com/success" ; conspe . log ( response . ; } } ; chargebee _ client ( { method . "POST" , headers . { "Content-Type" . "application/json" } , body . { transaction . { subscription . { id . "subscription-id" , plan . { type . "plan-id" , attributes . [ ] } , customer . { firstname . "Jane" , lastname . "Doe" , email . [email protected]" } , type . "one-time" } , next _ billing _ attempt _ at . null } , metadata . { source _ token . source _ token } } } . . then ( function ( . { conspe . log ( "Receiving next billing date" . ; return callback ( null , { next _ billing _ attempt _ at . "2016-05-16" } . ; } , function ( err , response . { if ( err . { conspe . log ( err . ; } else { conspe . log ( response . ; } } . ;
As you can see in the above code, there are three functions namely. init(), successCallback(), errorCallback(. that are being called at different points in time depending on whether there was an error or not during the execution of our script respectively. In init(. function, we are setting the value for callbackURL variable which is basically the URL that Freshdesk will call when our script succeeds or fails to execute properly so that we can inform the user about its results. In successCallback(. function we are logging out the output received from ChargeBee into our server logs
The process to integrate Chargebee and Freshdesk may seem complicated and intimidating. This is why Appy Pie Connect has come up with a simple, affordable, and quick spution to help you automate your workflows. Click on the button below to begin.
How to Integrate Chargebee with Customerly?
How to Integrate Chargebee with Drift?
How to Integrate Chargebee with Gist?
How to Integrate Chargebee with ChargeDesk?
How to Integrate Chargebee with Zoho Desk?
How to Integrate Chargebee with Intercom?