Go through 3DS implementation for Stripe.js in ChargeMonk, in case you plan to use Stripe.js as your checkout option, and want to be SCA-compliant under the European PSD2 regulation.

Stripe is used by the every size of businesses from small to large to manage their businesses online and to accept payments by providing them the latest technology and tools. It works with regulators, financial institutions, banks, payment networks and consumer wallets. The companies in more than 120 countries use it to run, start and grow their businesses. If you are a merchant, you can link ChargeMonk with Stripe to process your payments.

Currently, two types of direct debit payments can be accepted by you.

  • Automated Clearing House (ACH) – An automated clearing house (ACH) is electronic system for the financial transactions, usually low value payments. An ACH is set up to carry out the electronic transactions exchange between participating financial institutions.
  • Single Euro Payment Area (SEPA) – SEPA is an initiative of the European Union for the generalization of bank transfers denominated in euro. This payment-integration system helps customers to make the cashless euro payments to any account located within Europe, with a single set of payment instruments using single bank account.

Configuring Payments via Stripe

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

Configuration of Stripe either from your Live or Test accounts is available.

Step 2: Sign in to the current account or generate a new one.

Step 3: The Configure Stripe tab will appear as shown below.


Select the Manage button that is placed next to cards to set up them.

  • Prepaid cards: Activate this option to help your customers' to pay through prepaid cards.
  • Always store the card details in Stripe: It will be helpful if you have setup more than one gateways. Activating this feature will update the info in Stripe.

Apple Pay

Give your customer access to pay through Apple pay by activating this option. Learn more.

Direct Debit (SEPA)

ChargeMonk will provide you the access to setup Single Euro Payments Area (SEPA) using Stripe. For accepting SEPA payments using ChargeMonk, first you need to link your bank account with Stripe.


  • Only payments made in Euro is supported by SEPA.
  • As a payment method, SEPA is supported in the new version of hosted pages of ChargeMonk only.
  • For a payment method, customers can setup one payment gateway in the launch plan only. Therefore, in case you have set up any other option for SEPA, configure this will not be possible. You need to update to a higher plan to setup SEPA through Stripe.

Activate this option to setup direct debit payments for the customers of Europe. The SEPA set up page will appear as shown below.

Learn more about SEPA payments via Stripe.

Direct Debit ACH

ChargeMonk allows you to setup ACH Direct Debit Payments through Stripe. Activate this feature to setup ACH Direct Debit Payments.

The ACH setup page will appear as shown below.

Learn more about ACH payments via Stripe.

ACH Credit Transfer

The offline payment methods, mainly wire and bank transfers, also known as Push payments are used by Enterprise businesses and SMBs similarly. Once customers make offline payment, the transaction info is not enough to update the due invoices. This happens due to the changes in payment amount because of foreign exchange rate alteration engaged in the reference details or multi currency payments or payment directives do not reach when you get the payment Hence there is a lot of manual endeavor engaged in reconciliation of payments with due invoices.

With ACH Credit Transfer option of Stripe, ChargeMonk updates the payment due invoices (offline) precisely and eliminates the attempts needed to update and search due invoices.

Get more info about Stripe ACH Credit Transfer.

Configuring Webhooks

Webhooks are crucial to make SEPA workflow smooth; they report ChargeMonk of any amendments made to any transaction on the Stripe so that ChargeMonk can keep you informed on the happenings of your payment. They can be set up by posting notification URL of ChargeMonk in your Stripe account at Your account > Account settings > Webhooks > Add endpoint > Account.

See also

Configuring Web hooks in ChargeMonk.


If you eliminate your Stripe account from ChargeMonk then this URL will be invalid. And whenever you add Stripe to ChargeMonk again a new URL will generate that you have to paste in your Stripe account once again.

Currencies supported

ChargeMonk and Stripe support more than 100 dissimilar currencies for charging customers throughout different geographical regions. In case you want to use Stripe+ChargeMonk for your company, make sure that both support your transactional currencies. Get the entire list of currencies supported by:

Test Card Numbers

Given here are the cards numbers given that can be used in Test site of ChargeMonk for testing card transactions in the test mode of your Stripe account.

During testing, you can use any number as CVV and a future date that has to be valid for the expiry date.

Lorem ipsum dolor sit consectetur
Basic 100 USD
Professional 150 USD

Auth and Capture

This is the process where funds in the card of your customer are earmarked and authorized for transaction for the period of 7 days. This authorized amount can be claimed by the merchant within this period. For the merchants having deferred fulfillment process, such processes are extremely useful.


  • At present, supported for one time charges only.
  • Auth and Capture is available through API only.

Authorize - When a transaction is authorized by a merchant, ChargeMonk will verify the credit card of customer to check the authorized amount’s availability. Then, for a particular period and for that amount a hold will be kept on the card.

  • Maximum for 7 days the funds can be held.
  • An automatic cancellation of Authorizations will happen after 7 days.

Capture - Throughout this period of time, a capture request can be made by merchant to get the authorized funds. The merchant have to collect the funds only within the authorized tenure. In case he can’t do that the he collection will be impossible later. Then a new auth and capture request must be made and only then uncollected funds will be sent back to the card.

  • It is not possible to capture over the authorized amount.
  • Multiple and partial captures are not supported.

Void - If you do not intent to capture the authorized amount, you can void it easily.

Visit the Auth and Capture API.

3DS Implementation for Card Payments

Confirm with your gateway if 3DS for your account is enabled or not. In case it is not then enabled it both in your gateway and ChargeMonk. Also, ensure that you complete the entire SCA checklist in ChargeMonk prior to accepting 3DS payments. This is to make sure that you can easily get back the failed payments, without compromising on your income.

1) For new cards with immediate payment

The execution of respective integrations given below is for 3DS payments that includes immediate charge and a new card.

a)Stripe.js + ChargeMonk APIs:

  • Complete the 3DS flow for the card by using API of Stripe.
  • Send the Payment Intent id to payment_intent[gw_token] parameter of ChargeMonk APIs and carryout the required operation.

You can go through our tutorial for the complete steps on completing a 3DS payment for a new card using Braintree.js at your checkout.

b)ChargeMonk Hosted pages + Stripe gateway:

Hosted pages of ChargeMonk (Single Page checkout, Portal, In-app checkout) take care of tokenizing the card info and carrying out 3DS verification if required.

All you have to do is to complete configuration 3DS in your ChargeMonk site.

c)ChargeMonk APIs + Stripe gateway:

Sending raw card details to ChargeMonk is not a recommended way to carry out 3DS transactions. The reason being: Gateway JS or ChargeMonk.js sends your Conveying raw card info to ChargeMonk is not a suggested way to perform 3DS transactions. Reason for this being: ChargeMonk.js or Gateway JS sends you’re the background data of customer and tries for a 3DS frictionless flow that is not possible typically, when you send the raw card info to ChargeMonk directly.

We suggest you to go with the gateway JS + ChargeMonk API option, as your payment agreement rate would get better with this approach. To get the more information, check out

d)ChargeMonk.js + Stripe gateway:

ChargeMonk.js has the full responsibility of tokenizing the card info and carrying out 3DS verification whenever needed. All you have to do is to integrate ChargeMonk.js at your checkout.

2) For new cards without immediate payment

Given here is the implementation of respective integrations for 3DS authorization that engages a new card without an instant charge.

a)Stripe.js + ChargeMonk APIs:

The amount is not accepted as a parameter by the Setup Intent API of Stripe, and can only be utilized for carrying out 3DS verification for a card that is not linked with an immediate payment. This stored card can be used for future payments.

  • Use SetupIntent to complete 3DS flow for the card.
  • Send the SetupIntent id to payment_intent[gw_token] parameter of API’s of ChargeMonk and carry out the required operation.

b) ChargeMonk Hosted pages + Stripe gateway:

  • Hosted pages of ChargeMonk (Single page checkout, Portal, In-app checkout) take care of tokenizing the card info and carrying out 3DS authorization for the least amount.
  • The authorized amount is released to the customer automatically on 3DS flow completion.

All you have to do is to complete the configuring 3DS in your ChargeMonk site.

c) ChargeMonk.js + Stripe gateway:

  • ChargeMonk.js takes the full responsibility of tokenizing the card info and carrying out 3DS authorization for a least amount.
  • The authorized amount is released automatically to the customer on 3DS flow completion.

All you have to do is to integrate ChargeMonk.js at your checkout.

3) For stored cards

The imposition for the respective integrations shown here are for the 3DS payments done using a stored card.

a)Stripe.js + ChargeMonk APIs:

  • Pursue the given steps to get the card info and charge it through 3DS flow.
  • Send the PaymentIntent id to payment_intent[gw_token] parameter of API’s of ChargeMonk to carry out the required operation.

b)ChargeMonk Hosted pages + Stripe gateway:

The Reference ID of card is used by ChargeMonk to get back the payment method and charge the customer.

c)ChargeMonk.js + Stripe gateway:

  • Retrieve the Reference ID of the card and send it to the PaymentIntent API of ChargeMonk.
  • ChargeMonk.js' handleCardPayment function can be used as a callback function.

Go to our ChargeMonk.js documentation to get more info about charging a stored card via 3DS flow .

Handling 3DS Fallback

The Fallback flow is required when 3DS verification efforts fail for the stored cards, because of the customer being offline. Then the invoice would get into the dunning and customer would follow up for the payment, on the basis of your remainder email configuration. Enable 3DS and dunning email configuration to take care of Fallback flow in ChargeMonk.