Getting Started

Building Blocks

Subscription Features

Custom Fields

Localization

Invoices

Credits

Order Management

Billing Features

Taxes

Payment Methods

Direct Debit Payments

Configuring Gateways

Revenue Recovery

Checkout

Self-Serve Portal

Notifications

Reports and Analytics

Data Privacy & Security

Fraud Management

Migration

Other Features

Developers

Third Party Integrations

Stripe 

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.

At present, you can accept two types of direct debit payments.

  • Automated Clearing House (ACH) - The ACH is a type of electronic funds transfer network used in the United States. ACH provides inter-bank clearing of credit and debit transactions. The ACH electronic network helps banks and financial institutions exchange information in between.
  • Single Euro Payment Area (SEPA) - This unique euro payment area establishes an integrated European market for payment instruments. The aim of SEPA is to ensure that payments within Europe take place as simply and effectively as those within a single country.

Configuring Payments via Stripe 

Step 1: Click Settings > Configure Chargebee > Payment Gateway > Add payment gateway > Stripe

You can configure Stripe either from your Test or Live account.

Step 2: Log in to an existing account or create a new one.

Step 3: The Configure Stripe page will open as shown below.

Cards 

Click the Manage link next to cards to configure them.

  • Prepaid cards: Enable this option to allow your customers' to pay via prepaid cards.
  • Always retain card information in Stripe: This is useful in case you have configured multiple gateways. Enabling this option will update the details in Stripe.

Apple Pay 

Enable this option to allow your customers to pay via Apple pay. Learn more.

Direct Debit (SEPA) 

Chargebee allows you to configure Single Euro Payments Area (SEPA), a payment-integration initiative by the European Union (EU) using Stripe. To accept SEPA payments using Chargebee, you must have a bank account linked with Stripe.

Note
  • SEPA is applicable only for payments made in Euro.
  • SEPA as a payment method option is supported only in the new version of Chargebee's hosted pages.
  • Customers in the launch plan can configure only one payment gateway for a payment method. Therefore if you have configured any other gateway for SEPA, you will not be able to configure this. Please upgrade to a higher plan to configure SEPA via Stripe.

Enable this option to configure Direct debit payments for European customers. The SEPA configuration page will open up as shown below.

Learn more about SEPA payments via Stripe.

Direct Debit ACH 

Chargebee allows you to configure ACH Direct Debit Payments via Stripe. Enable this option to configure ACH Direct Debit Payments.

The ACH Configuration page will open up as shown below.

Learn more about ACH Payments via Stripe.

ACH Credit Transfer 

Offline payment methods, majorly bank & wire transfers (also called as Push payments) are used by SMBs and Enterprise businesses alike.
When customers pay offline, the transaction details are not sufficient to update the due invoices. This could happen because the payment amount changes due to foreign exchange rate conversion involved in multi currency payments or the reference details or payment instructions do not reach when you receive the payment
So there is a lot of manual effort involved in reconciling payments with due invoices.

With Stripe's ACH Credit Transfer feature, Chargebee updates payment due invoices (offline) accurately and removes the effort required to search and update due invoices.

Learn more about Stripe ACH Credit Transfer.

Configuring Webhooks 

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. They can be configured by pasting Chargebee's notification URL in your Stripe account at Your account > Account settings > Webhooks > Add endpoint > Account.

See also

Configuring Webhooks in Chargebee.

Note

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.

Currencies supported 

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:

Test Card Numbers 

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 

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.

Note
  • Currently supported only for one time charges.
  • Auth and Capture is available via API only

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.

  • You can hold the funds only for a maximum for 7 days.
  • Authorizations expire automatically after 7 days.

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.

  • You cannot capture more than the authorized amount.
  • Partial and Multiple captures are not supported.

Void - In case you do not want to capture the authorized amount, you can choose to void it.

Checkout the Auth and Capture API.

3DS Implementation for Card Payments 

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.

1) For new cards with immediate payment 

The implementation for respective integrations given here are for 3DS payments which involve a new card and immediate charge.

a)Stripe.js + Chargebee APIs:

  • Complete 3DS flow for the card using Stripe's [https://stripe.com/docs/api/payment_intents]Payment Intent API[].
  • Pass the PaymentIntent 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@chargebee.com .

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.

2) For new cards without immediate payment 

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.

  • Complete 3DS flow for the card using SetupIntent.
  • Pass the SetupIntent id to payment_intent[gw_token] parameter of Chargebee APIs and perform the necessary operation.

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 authorization for a minimum amount.
  • The amount authorized is automatically released to the customer on 3DS flow completion.

All you need to do is complete configuring 3DS in your Chargebee site.

c)Chargebee.js + Stripe gateway:

  • Chargebee.js takes full responsibility of tokenizing the card details and performing 3DS authorization for a minimum amount.
  • The amount authorized is automatically released to the customer on 3DS flow completion.

All you need to do is integrate Chargebee.js  in your checkout.

3) For stored cards 

The implementation for respective integrations given here are for 3DS payments made using a stored card.

a)Stripe.js + Chargebee APIs:

  • Follow the steps  to fetch the card details and charge it via 3DS flow.
  • Pass the PaymentIntent 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:

  • Retrieve the card's Reference ID and pass it to Chargebee's PaymentIntent API .
  • Use Chargebee.js' handleCardPayment function as a callback function.

Refer to our Chargebee.js documentation to know more on charging a stored card via 3DS flow .

Handling 3DS Fallback 

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 remainder email configuration. Enable 3DS and dunning email configuration in Chargebee to take care of Fallback flow.

Was this article helpful?
Loading…