All Collections
Payment gateways
How to connect Stripe
How to connect Stripe

Use this guide to enable Stripe as a payment gateway on your store, as well as alternative methods like Klarna, Afterpay, iDEAL, SEPA.

Updated over a week ago

Stripe is one of the most popular online payment processing platforms for e-commerce. It helps merchants to accept 💳 credit and debit card payments (Visa, Mastercard, American Express, Discover and Diners, China UnionPay, JCB, Cartes Bancaires, Interac).


It is also possible to activate such third-party services (alternative payment methods) as iDEAL, Klarna, Afterpay, Bancontact, Sofort, SEPA Direct Debit, and many others for your Checkify checkout. With Stripe - Checkify integration you can also offer your buyers express checkout option called Link. For more info about this payment provider please visit stripe.com.

In this article:

1. Pre-connection checklist

To enable Stripe as a payment gateway on your store, you must have an active Stripe account. If you do not have one, register it here.

Please note that Stripe is available only to businesses in certain geos. For the list of supported countries, see Stripe's global availability.

Kindly note that despite the fact that Shopify Payments also uses and relies on Stripe, Checkify does not support any direct integration with them. You can disable this payment method for the time our checkout is active on your store. It is highly recommended to keep the dynamic buttons (elements) off, as described here, to avoid any form of confusion.

ATTENTION: Minimal transaction you can have on Stripe is (or equivalent to) $0.5. It is mentioned in their documentation. It is important to remember this when testing, setting up discounts, etc. Otherwise, the checkout will return an error.

2. How Stripe will look and work on your checkout

2.1 Direct transfer of payment data (default method = Card)

Our integration allows secure transfer of the customer's payment data directly to Stripe while using a unique design of the payment info section. The Credit Card data fields are loaded directly from Stripe’s servers (an iframe). It means that Checkify does not handle your customers' card data. It has no visibility or access to it.

A close-up of active Stripe (Card form) on Checkify's checkout

You may visit our Demo store, proceed to the checkout and have a look at the example of the setup in the Payment Methods block.

2.2 3D Secure payment protection

Stripe leverages its own 3DS Engine by default, which means that all payments are fraud-protected and compliant with the European Directives and other regulatory requirements. The 3D Secure screen is shown only when requested by the bank of a customer.

2.3 Other payment methods (optional methods)

You can activate other payment methods available with Stripe and get them displayed on your single-page checkout by Checkify for the benefit of both your business and your customers.

The list of methods is generated depending on the location of your business and the currency of your Stripe account. You can check what exactly is available for your store here > https://dashboard.stripe.com/settings/payments This page contains Live and Eligible tabs.

Review your account's settings and setup here as well > https://dashboard.stripe.com/settings/payment_methods

ATTENTION: Display of alternative (optional) payment methods activated for Checkify in your Stripe is controlled by its AI and algorithms. It takes into consideration a number of factors, including location, total value of the order, other digital signals it can collect. Therefore, it is not possible for us or for a merchant to control who sees some of the methods and when. Also, for the same reason, it is not possible for Checkify to forcefully add (or remove) a method.

NOTE: In order to ensure correct operation of the payment methods, presence of the Email field is a must. Please do not hide, remove or deactivate it when creating a custom shipping form. It is also recommended to keep the First Name and the Last Name fields.

Once you activate more methods in your Stripe dashboard, apart from Cards, it will be possible to display them on the Checkify customizable single-page checkout. Just set the trigger to the active state in Stripe's settings.

Refer to Payment Methods section of your Checkify admin:

ATTENTION: Using a BNPL method like Klarna through Stripe may put your Stripe account at an increased risk, because the average dispute rate in Klarna is higher than 1% dispute rate for card processing in Stripe. While Klarna understands this, Stripe counts Klarna disputes toward Stripe's overall disputes which may decrease the good standing of your account. However, if you represent a sustainable business with quality product and excellent customer care and support, this should not be the case or the risk factor for you.

So, if your Stripe account allows you to use other payment methods, apart from Cards, and if you have successfully activated this functionality in the Checkify admin for your customizable checkout, your buyers will see an enhanced payment form, with various methods available. You can do some more customizations of this form, as described in this article. The example of such a form by Stripe is given below. You may see the same on the checkout page of our Demo store.

Even if you turn on all the additional payment methods in your Stripe's dashboard, Stripe still automatically determines their availability for your buyers and will display only those available for the specific buyer. Their determination algorithm takes a number of factors into account, including but not limited to your customer's location, the currency of the store, total value of the cart on the checkout stage, device (desktop or smartphone).

NOTE: If your Stripe account is linked, for example, to a European business, and the basic currency of your store is USD, a US-based buyer will see only one global payment method: Cards. See the screenshot below:

Learn how to understand and select the right payment methods for your business to reach a broader audience from this guide by Stripe.

Link - Stripe's one-click checkout

Link is Stripe's one-click checkout experience. It lets your customers store their payment details so they can pay in one click across hundreds of thousands of websites. Stripe predicts that your conversion rates could increase by +7% for returning Link customers who are logged-in, since they will have their payment details filled in automatically. You can read Stripe's documentation to get more details of this product.

You can enable Link together with other instant checkout options:

And you will need to enable Link via Payment Request buttons in your Stripe admin.

We cannot guarantee its proper operation at the moment such popular payment methods in LatAm as Boleto, Konbini and OXXO, because they have a unique flow. However, it is still worth testing and trying. Contact [email protected] if you have questions or observations regarding these methods.

2.4 Redirect and non-redirect payment methods

Alternative payment methods available on Stripe are working either as a direct payment, when a buyer does not leave the checkout page and is redirected to the "Thank you" page upon the successful completion, or as a redirect. In the latter case, the payment will be completed on the special page of the selected method, where a buyer lands (redirected) from the Checkify checkout. Then, depending on the status, the buyer will either see a "Success" message and is subsequently redirected to the Checkify "Thank you" page, or will get a "Fail" message and remains on the checkout page.

The statuses of such payment attempts are accompanied with messages:

Failed status after the redirect to Checkify's checkout

Success status after the redirect to Checkify's checkout

The texts of the messages above can be edited, customized and translated (manually) in the Localizaion section of the Checkify admin.

Some payment methods initially perform a pre-authorization of the payment sum and then, upon a successful charge on the bank's side, Stripe changes the status of the payment to either Failed or Success. In such cases payment processing may take from couple of minutes to seven days. It is being managed by Stripe and Checkify has no influence on it and has no ability to speed it up. You can track the status of such orders in your Shopify admin. It is not recommended to ship an order to your customer when "Payment pending" status is seen. When the payment status changes to "Paid", feel free to dispatch the order:

Once processing by Stripe is over, the status on Shopify changes to either Paid or Void (if Stripe returned a Failed status):

Example of a Paid status in Shopify order

Example of a Void status in Shopify order


2.5 Collection of additional information

Some payment methods, for example Afterpay, require collection of additional information such as full address, first and last name, etc.

You can let your buyer complete these fields right in the payment form of the selected method, or, if your shipping form allows, collect and then share this information at the stage of entering the data to the appropriate fields of Checkify's shipping form.

In order to activate such a shortcut and save the time of your customers, visit Customization section and change the status of the appropriate trigger as shown below:

If the feature is active, the Afterpay payment form will have a compact look.

See below:

2.6 "Incomplete" payments

When the alternative payment methods are enabled you will often see "Incomplete" payments in your Stripe account.

Don't worry, this is not a problematic transaction that will prevent you from getting your money or getting blocked. An "incomplete" transaction precisely means that no transaction has been made (= no attempt to pay).

How it works?

Whenever a payment page from your platform (e.g. an online store) is displayed to a buyer, Stripe puts aside an invoice number for that potential transaction. This creates a "payment intent".

Stripe categorizes a transaction as "Incomplete" when a "Payment intent" was created, but your customer has never completed the payment.

In other words, an incomplete transaction means the buyer went to the payment page, but never took action. When it comes to an incomplete transaction, the sale was simply not made. Since you have some data, such a buyer can be potentially recovered.

3. Setting up Stripe on Checkify's checkout

3.1 Find live API keys in your Stripe Account

To connect your Stripe account to Checkify, you just need to copy Stripe API Keys to Checkify's admin panel.

To find the API keys:

  1. Click on "Developers" (usually in the top right corner of your screen).

  2. Click on "API Keys" (usually in the column to the left).

ATTENTION: Make sure you are viewing your live Stripe API keys. The selector "View test data" (also can be called "Test mode") must be deactivated.

Viewing live API keys

3.2 Add Stripe as a new Payment Method on Checkify

  1. Go to "Payment Methods" in the menu on the left.

  2. Find "Stripe" and click "Connect +".

3.3 Copy Stripe API Keys to Checkify

  1. Copy your Publishable Key from Stripe and paste it to the corresponding field in Checkify's admin panel.

  2. Copy your Secret Key from Stripe (click on it to reveal the full key) and paste it to the corresponding field in Checkify's admin panel.

  3. Click the "Save changes" button in the bottom right corner of the screen.

3.4 Additional options

While adding Stripe as a payment method on Checkify, you are also able to configure a couple of additional options:

i. Target countries

You can select specific countries for which this payment method will be displayed.

ii. Instant checkout

You can enable Apple Pay / Google Pay / Microsoft Pay / Link for your Checkify checkout. It is an excellent solution for those who shop on their mobile devices.

4. Setting up Apple Pay in Stripe dashboard

In case the Apple Pay button doest not show on the checkout page, please review the recommendations below.

If you activated a custom (sub) domain for your store, we recommend to reconnect Stripe: press "Disconnect" in Checkify admin, Payment Methods section, Stripe tab, and then add it again. This is an important action for refreshing the domain for payments, especially for such method as ApplePay.

You can manually verify your domain in Stripe for ensuring proper display of the button on the checkout page. First, go to Domain section:

Click "+ Add new domain" button and enter the domain. If you do not have a custom domain connected, please add pay.checkify.pro. If you have already connected and verified the custom domain, please put your domain in such format as your_custom_domain.your_primary_Shopify_domain.com. In other words, it must fully match the domain that you configured here, in the admin panel custom domain section.

Click "Save and continue". Then you will be see following window:

And then click "Verify". That's all!

After a few minutes, the button will work.
Also, when checking, please make sure the test device supports the payment method. Perform the check on an active store and live (published) checkout.

5. Resolving common issues

🙀 I do not have a company. Can I still open the Stripe account?

In general, Stripe allows individuals from a supported country to accept payments without a legal entity. If you are having trouble opening an account, please contact Stripe support.

🙀 Stripe is not available in my country. How to get an account?

In this case, your best option is to find another credit card (payment) processor that operates in your country. You can also check thematic forums on the web for ideas on how to get a Stripe account from an unsupported region or state.

🙀 What are Stripe's fees for payment processing?

For up-to-date information on this question, please visit the Stripe official website. While Checkify allows saving on eComm platform's fees, it does not and cannot reduce the Stripe fees payable by a business.

🙀 Stripe sent me the email which says "We noticed that you passed a customer’s full credit card number to Stripe’s API." What to do?

The email can be ignored. It is an automated mailing from Stripe: Checkify does not deal with card details of your buyers and does not even see them.

Why? That’s because the buyers enter their details in an iframe (a payment form) that actually belongs to Stripe. Checkify’s role is to help request it and then to display it at the checkout page. Therefore, the checkout cannot pass any numbers because Stripe collects the data directly via the form that belongs to them and is managed by them.

The document on compliance by Stripe states "... Checkout and Elements host all form inputs containing card data within an iframe served from Stripe’s domain—not yours—so your customers’ card information never touches your servers." Read the full text here. Therefore, any form of ban or sanctions is impossible, as there is no such action by any of the sides involved.

Nevertheless, it is highly recommended to complete a survey (Self-Assessment Questionnaire) by Stripe and get an attestation certificate. Learn how to do it here.

🙀 I get the "Public / Private key is invalid" error when adding Stripe API keys to Checkify.

Please make sure you copied and pasted the correct live (not test) keys to the corresponding fields. Look at the prefixes: pk_ for publishable, sk_ for the secret key. Make sure that the keys are not expired.

🙀 I get an error asking to check webhook limit in Stripe dashboard when adding Stripe API keys to Checkify.

Start with checking the number of webhooks. You can register up to 16 webhook endpoints with Stripe. If you already have reached this limit, an error is returned, since our integration requires at least one.

Manage the webhooks in Stripe's dashboard > Developers > Webhooks and ensure there is a free slot for Checkify. If the number was less than 16, retry the connection later, since it could be another issue on Stripe's side. Make sure to log out from Checkify and log in back, preferably with cleared cache / cookies when doing that. A network change may also bring a different outcome.

🙀 My Stripe account got suspended! What to do?

Contact Stripe support and try to resolve this issue with them - unfortunately, we cannot help you with this.

🙀 How to deal with a failing webhook, can I get banned?

Sometimes Stripe may send Checkify users emails with a notification on the failing webhook. Here's what to do about it. It is not a severe issue and is not a violation that may inevitably lead to ban on Stripe or to drop of revenue or transactions.

🙀 My checkout form loads, but the card payments are either not shown, or loading indefinitely. What to do?

If your buyers see "... store owner did not enable this payment method" message (see below)

then it means, no valid payment method is available for Stripe to show in the current configuration. Please ensure that you have activated payment methods compatible with your chosen currency in your dashboard https://dashboard.stripe.com/settings/payment_methods

It is also advisable to:

  • check both Checkify and Stripe admins: payment methods (for example, cards) must be enabled (active) in both;

  • check notifications in your Stripe's dashboard: probably smth is not okay with your account (a block?!) or validity of your keys (expired?!).

If the description of the error is too general and unclear, you may also understand the nature of it by opening the browser's console. For Chrome browser, with an open Checkify checkout page: right-click > Inspect > Console tab.

If you have multiple Stripe and / or Checkify accounts, there is a chance that you have accidentally submitted valid keys but to the wrong place when integrating. Please check your intended "origin - destination".

🙀 My personal name is seen and leaked when buyers check out via such method as iDeal

It is a matter of the payment processor's settings, not Checkify's setup. Visit Stripe > Settings > Public details to understand what's been set as the "public business name". Review other privacy settings in Stripe. Contact their support for more, if needed, to ensure proper management of the data which is not intended to become visible to all.

🙀 How do I link an order imported to my store admin with a Stripe payment received?

  • Visit your Shopify store admin

  • Click on the order you would like to check to reveal details

  • Scroll down the page to find “Authorization key”. It starts with a pi_ and is usually located under “Order number”

🙀 My customers often pay via Cartes Bancaires. Now I see this message from Stripe: "You may need to update your integration to comply with EU regulations for co-badged cards".

You can safely ignore such a message in your Stripe dashboard, since our integration with Stripe already covers it.

Stripe-hosted UIs meet all the requirements of the regulators. A compliant card network selector for transactions using a co-badged card, like CB, will be displayed at the checkout.

Did this answer your question?