Braintree is a full stack payments platform that eliminates the need to have a payment gateway and a merchant account separately. In addition to this, Braintree lets you retain your own merchant account and use it's payment gateway. Contact Braintree for more information.
The following criteria can be considered before choosing Braintree as a payment solution.
Countries supported: Braintree is currently available in countries like United States, Canada, Australia, Europe, Singapore, Hong Kong and Malaysia. Find the complete list here.
Business Type: Braintree does not support certain business types due to legal reasons. Read Braintree's Acceptable use Policy for more details.
Payment Methods: Braintree supports almost all major credit and debit cards such as Visa, Mastercard, AMEX etc.
Pricing: Braintree does not have setup fees or monthly charges. The rates are transaction based. More details about pricing here.
Data Portability: Braintree pioneered the concept of data portability. If you decided to switch from Braintree, it lets you easily migrate to another payment gateway by exporting your data.
Currency Support: Braintree supports close to 130 currencies. Find the complete list here.
With Braintree, you can sign up for two types of accounts : SandBox and Production. The SandBox Account is similar to a Production account but is primarily for testing purposes. You can make use of this account to test end to end transactions. Test card numbers for testing are provided in later sections.
The Production Account is created once you have applied and have been approved for a merchant account. You can accept payments only when you have a Production account.
Chargebee supports integrating with your Braintree account's sandbox as well as production modes.
Chargebee offers the following options to integrate with Braintree.
Option A Chargebee's hosted payment pages + Braintree Gateway
In this method the card information of the customers are collected by Chargebee's secure hosted pages and directly passed on to Braintree.
PCI Compliance Requirements: Low
Your PCI compliance requirements are greatly reduced because of Chargebee's hosted pages. As a merchant using Chargebee's hosted pages, all you have to do is submit a Self Assessment Questionnaire (SAQ-A) to stay compliant.
Option B Chargebee's API + Braintree Gateway
In this method, collecting card information will have to be handled at your end and has to be passed on to Chargebee. Chargebee then routes this card information directly to Braintree.
PCI Compliance Requirements: High
Since card information will be collected by you directly,you will have to take care of PCI Compliance requirements.
Option C Chargebee's API + Braintree js
In this method, Braintree gives you a payment form which can be embedded in your checkout page. This way, your PCI compliance requirements are reduced. The card information collected via the payment form is directly sent to Braintree.
Refer to this tutorial which will help you in setting up Braintree js with Chargebee.
PCI Compliance Requirements: Low
As the card details are collected by Braintree, your PCI compliance requirements are reduced.
To configure Braintree with Chargebee, you would require a Braintree Account.
Chargebee supports integrating with both Braintree's sandbox as well as production accounts. The mapping is as follows:
Chargebee Test Site - Braintree SandBox
Chargebee Live Site - Braintree Production
This essentially means, Chargebee's Test site can be connected to Braintree's SandBox only and Chargebee's Live site to Braintree's Production.
Follow these steps to connect your Braintree Account with Chargebee.
Step 1 : Go to Settings > Gateway Settings and click on Configure a Payment Gateway.
You will now see a list of Payment Gateways.
Step 2 : From the list, select Braintree and click on "Use this Gateway". This will redirect you to the Braintree Gateway Configuration Page.
Step 3 : Once on the Braintree Gateway Configuration page, configure the following options as shown in the image below.
A - Private & Public API Keys : The Private and Public API Keys can be found in your Braintree Account under, Account > My user > Authorization > API Keys.
Click on View under Private Key as shown below. This will lead you to your API Keys.
Paste the copied Private and Public Keys in Chargebee.
B - Specify your merchant Account ID.
Your merchant account ID can be found in your Braintree account under Settings > Processing > Merchant Accounts.
If you do not specify your Merchant Account ID, the default merchant account in your Braintree account is considered. More information on merchant account IDs is provided in later sections.
Braintree uses webhooks to notify your site of events related to your Braintree account.
Once the Notification URL provided by Chargebee is configured in Braintree, Chargebee will receive notifications of events that occur in Braintree.
To configure the webhook, navigate to your Braintree configuration page (Settings › Site Settings › Gateway Settings › Braintree - Gateway Configuration) and copy the Notification URL.
Now in your Braintree account, navigate to Settings > Webhooks. Click the Create a New Webhook option and paste the URL from Chargebee in the Destination URL box.
Remember to select the Account updater Daily Report box before you click Save.
Chargebee will listen for Card Update events if you have configured webhooks. Braintree works directly with card networks and updates the card automatically so that a customer's card would work even if their physical card is replaced by the bank. You will be notified via Webhook if a customer's card has been updated.
Additionally, you can choose whether to retain card information (if you have more than one gateway working simultaneously), configure supported card types and disallow prepaid cards as a payment method on the configuration page.
Ensure you configure the following settings in your Braintree account to reduce transaction failures or fraudulent transactions.
Card verification is the process of validating a card to ensure that the details of the card entered are tied to a valid bank account. This is usually done before storing a card in a vault (the location where your cards are securely stored). Ensure you enable card verification check in your Braintree account.
To enable this in your Braintree account, go to Settings > Processing > Card Verification.
AVS is a service which cross verifies the billing address entered by the customer with the address stored in the credit card company. It is a security check which helps in combating fraudulent transactions which if unnoticed, could result in chargebacks.
Ensure that you configure AVS rules in your Braintree account under Settings > Processing > AVS Rules.
CVV numbers are important for authenticating card-not-present transactions. Ensure you configure CVV Rules in your Braintree Account under Settings > Processing > CVV Rules.
The card numbers provided here can be used for testing card transactions in Chargebee's Test site in the sandbox mode of your Braintree account.
4111 1111 1111 1111
5555 5555 5555 4444
4000 1111 1111 1115
*Amounts between $0.01 - $1999.99 will simulate a successful transaction. More details on amount based testing can be found here.
Braintree supports multiple Merchant IDs per account. They are predominantly used for two purposes,
Multiple currencies : When you transact using more than one type of currency, multiple merchant accounts are setup in your Braintree account.
Multiple merchant accounts are also useful if you make use of other services along with Chargebee ( say an e-commerce store for one time purchases ) and if you would want to filter transactions based on the sites you use. Having multiple merchant accounts would let you view transactions pertaining to the corresponding sites.
Chargebee accepts only one Merchant ID per site.
Braintree and Chargebee support 100+ different currencies for charging customers across different geographical locations. If you intend to use Braintree+Chargebee for your business, ensure that your transactional currencies are supported by both. Find the complete list of currencies supported by:
The currency configured in your Braintree account will be used for transactions, irrespective of the currency configured in Chargebee. So, to ensure transactions are processed in the currency of your choice, configure the required currency in your Braintree account. As mentioned earlier, for multi currency, Braintree supports the usage of multiple merchant account ids.
For example, if one of your operating currencies is USD, make sure your Braintree merchant account id for USD is mapped to your Chargebee-USD site.
If you do not specify a Braintree merchant account id in your Chargebee account, transactions take place in the default currency set in your Braintree account.
Using Braintree, you can accept payments only via cards. To accept payments via other methods such as Pay with PayPal, you will have to configure PayPal in your Chargebee account.