Click here if you are looking for information associated with RBI's e-mandate.
If you are using Stripe.js as your checkout solution, and need to be SCA-compliant under the European PSD2 regulation, take a look at 3DS implementation for Stripe.js in Chargebee .
Stripe supports a wide range of payment methods to help you accept payments around the world. Each payment method varies in the authentication process. As a merchant, you can seamlessly integrate Stripe with Chargebee to process your payments.
Click on the links below learn more about configuring the desired payment method:
The following steps will help you configure Stripe with Chargebee.
For a seamless customer experience, disable Stripe's direct debit notifications and enable them in Chargebee if you prefer Chargebee to manage them. Enabling notifications in both systems will now result in duplicate emails being sent to customers.
Due to recent world events, you may experience failures for payments originating from Russian financial institutions or instruments. We recommend reviewing guidelines issued by respective payment gateways for additional information.
Click the Manage link next to cards to configure them.
Webhooks are indispensable to a smooth SEPA workflow; they notify Chargebee of any changes made to the transaction on Stripe so Chargebee can keep you updated on what's going on with your payment.
Follow these steps to configure webhooks for this integration:
Webhook Events |
---|
customer.card.updated |
customer.source.updated |
charge.succeeded |
charge.failed |
charge.expired |
charge.refunded |
charge.refund.updated |
review.closed |
source.transaction.created |
payment_method.updated |
charge.dispute.funds_withdrawn |
charge.dispute.closed |
payment_method.automatically_updated |
payment_method.card_automatically_updated |
source.chargeable |
payment_intent.succeeded |
payment_intent.payment_failed |
mandate.updated |
setup_intent.succeeded |
setup_intent.setup_failed |
customer_cash_balance_transaction.created |
Configuring Webhooks in Chargebee.
In case you remove your Stripe account from Chargebee, this URL will no longer be valid. Adding Stripe to Chargebee again will generate a new URL that you will (once again) have to paste in your Stripe account.
Stripe and Chargebee support 100+ different currencies for charging customers across different geographical locations. If you intend to use Stripe+Chargebee for your business, ensure that your transactional currencies are supported by both. Find the complete list of currencies supported by:
Chargebee allows you to integrate with Stripe India to process card payments. Stripe India categorizes accounts based on the currency (INR and Non INR).
If you are selling to customers in INR, then you do have to configure 3DS. This is to ensure that you are compliant to Multi factor authentication. Learn more.
If you are selling in a different currency other than INR, then it is mandatory to collect certain information such as plan name, billing address, shipping address. This is to comply with the local regulation.
Non INR accounts in Stripe are classified into Goods and Services. Based on your account type, you will have to configure the following settings in Chargebee.
Enabling the "In checkout, prefill address information from" setting in Payment section under the fields tab on Checkout and Self-Serve Portal settings will enhance the checkout experience for your customers by pre-filling the address information from earlier sections and help them complete checkout faster.
The card numbers provided here can be used for testing card transactions in Chargebee's Test site in the test mode of your Stripe account.
While testing, use any number for CVV and a valid future date for the expiry date.
Card Number |
Card Type |
Response Description |
4242 4242 4242 4242 |
Visa |
Successful Transaction. |
4000 0000 0000 0002 |
Visa |
Attempts to charge will be declined with a Card Declined error. |
4000 0000 0000 0341 |
Visa |
Card can be added but attempts to charge will fail. |
4000 0000 0000 0069 |
Visa |
Charge will be declined with an "Expired Card" error. |
Auth and capture is a process where funds in your customers' card are authorized and earmarked for a duration of 7 days for a transaction. The merchant can claim the authorized amount within this tenure. This is extremely useful for merchants who have a delayed fulfillment process.
Authorize - When a merchant authorizes a transaction, Chargebee will check the customer's credit card to check the availability of authorized amount. Then, a hold will be placed on the card for that amount for a particular tenure.
Capture - During this tenure, the merchant can issue a capture request to collect the authorized funds. The merchant must collect the funds within the authorized tenure. If not, he cannot collect them later. A new auth and capture request must be called. Uncollected funds will be released back to the card.
Void - In case you do not want to capture the authorized amount, you can choose to void it.
Checkout the Auth and Capture API .
Check with your gateway whether 3DS is enabled for your account. If not, enable it at your gateway and then in Chargebee. Also, make sure you complete the SCA checklist in Chargebee before accepting 3DS payments. This is to ensure that you can recover failed payments easily, without compromising on your revenue.
The implementation for respective integrations given here are for 3DS payments which involve a new card and immediate charge.
a)Stripe.js + Chargebee APIs:
id
to payment_intent[gw_token]
parameter of Chargebee APIs and perform the necessary operation.You can take a look at our tutorial for the detailed set of steps on completing a 3DS payment for a new card using Stripe.js in your checkout.
b)Chargebee Hosted pages + Stripe gateway:
Chargebee's Hosted pages(In-app checkout, Single Page checkout, Portal) take care of tokenizing the card details and performing 3DS verification if needed.
All you need to do is complete configuration 3DS in your Chargebee site.
c)Chargebee APIs + Stripe gateway:
Sending raw card details to Chargebee is not a recommended way to carry out 3DS transactions. The reason being: Gateway JS or Chargebee.js sends your customer's background data and tries for a 3DS frictionless flow, which is typically not possible when you send raw card details directly to Chargebee.
We recommend you to go with gateway JS + Chargebee API option, as your payment approval rate would be better with this approach. For more information, reach out to support .
d)Chargebee.js + Stripe gateway:
Chargebee.js takes full responsibility of tokenizing the card details and performing 3DS verification when necessary. All you need to do is integrate Chargebee.js in your checkout.
The implementation for respective integrations given here are for 3DS authorization which involves a new card without an immediate charge.
a)Stripe.js + Chargebee APIs:
Stripe's Setup Intent API does not accept amount as a parameter, and can only be used for performing 3DS verification for a card which is not associated with an immediate payment. The stored card can then be tapped for payment in the future.
SetupIntent
.id
to payment_intent[gw_token]
parameter of Chargebee APIs and perform the necessary operation.b)Chargebee Hosted pages + Stripe gateway:
All you need to do is complete configuring 3DS in your Chargebee site.
c)Chargebee.js + Stripe gateway:
All you need to do is integrate Chargebee.js in your checkout.
The implementation for respective integrations given here are for 3DS payments made using a stored card.
a)Stripe.js + Chargebee APIs:
id
to payment_intent[gw_token]
parameter of Chargebee's APIs to perform the necessary operation.b)Chargebee Hosted pages + Stripe gateway:
Chargebee uses the card's Reference ID to retrieve the payment method and charge the customer.
c)Chargebee.js + Stripe gateway:
handleCardPayment
function as a callback function.Refer to our Chargebee.js documentation to know more on charging a stored card via 3DS flow .
Fallback flow comes into play when 3DS verification attempt fails for stored cards, due to the customer being offline. The invoice would then get into dunning and the customer would be followed up for payment, based on your reminder email configuration. Enable 3DS and dunning email configuration in Chargebee to take care of Fallback flow.
This integration supports automated account update for cards.
Payment failures and recovery are the most difficult aspects of recurring billing businesses due to the sheer complexities involved. In most cases, payment failures occur as a result of an expired or updated card. Chargebee supports an automated account update for Stripe. Each time there is an update to the customer's card number, expiry, or Customer Verification Value (CVV), the details are updated in Chargebee (in real-time) with the help of card networks and the Stripe gateway. This helps avoid any manual efforts for your customers and more importantly avoid payments failing due to outdated card information.
1. How do I configure Chargebee's webhook in Stripe?
See this section in our support documentation for more information on how to configure a webhook in Stripe.
2. Does Chargebee support Merchant of Record(MoR)?
The Merchant of Record(MoR) is an authorized financial entity that is liable and responsible for processing the consumer's credit card and debit card transactions.
Gateways such as Stripe, Braintree, Adyen, and others handle this. Please get in touch with your gateway since Chargebee is only an intermediary between your web app and the payment gateway.
For example, when your customers subscribe to a service by entering their card information on the checkout page, this information is directed to the gateway.