Skip to main content
All CollectionsPayment 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 worldwide. 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 options: Link, Apple Pay, Google Pay, Amazon Pay and Microsoft Wallet.

For more info about this payment processor 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 while processing a payment.

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.

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 Alternative payment methods (Klarna, Afterpay, iDEAL, SEPA etc.)

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.

Tests of Klarna's visibility on the checkout should preferably be done with a VPN being active, if you intend to use this method for a different geo that does not match your business location. Please ensure that the country and the currency being used on your store and presented to a buyer are on the list of supported. The country of registration of your Stripe account may also matter when it comes to eligibility for and availability of the alternative payment method.

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 not get the same set of methods as for the European customer using EUR as the currency.

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

2.3.1 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.

An example of instant pay buttons on the mobile version of the checkout page is given below:

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.3.2 Check the available set of alternative payment methods

Stripe provides an easy way to view alternative payment methods, depending on buyer country, right in its interface (dashboard).

Log in to the dashboard and visit Settings > Payments > 'Payment methods' tab.

Click on 'Preview' tab and also read carefully the conditions as given by Stripe. The look is based on your customers' location. This mode also assumes that you have integrated the common currency of the country you select and a shipping address is provided for payment methods that require one. The preview mode is available for desktop and for mobile.

Example: A possible set of alternative payment methods for a Polish buyer

This feature is for demo and reference purposes only. The final availability of a method and hence, its visibility on the live Checkify checkout page, is determined by multiple factors: geo (location), currency, Stripe account origin (registration), etc.

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 address form allows, collect and then share this information at the stage of entering the data to the appropriate fields of Checkify's address form.

In order to activate such a shortcut and save the time of your customers, visit Settings tab 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" tab.

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.

You can find a list of your API keys in the Developers section of Stripe admin: https://dashboard.stripe.com/apikeys.

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 / Amazon Pay 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 (and other express methods) does 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 Checkify 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. Supported currencies

Stripe currently supports over 135 currencies. You can charge customers in one of them. The full list is available in their technical documentation on their website.

If the default currency of your Shopify store is not one of them, Stripe integration will not work.

In other words, the currency of the checkout should be in one of those currencies. This is not a limitation for your buyers, whose cards may be in any other currency, even those outside the list of supported ones.

6. 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 Klarna is not visible on the payment element

Start with activating a VPN of the expected country on your side. Then test again and generate a new checkout.

Alternatively, engage a friend or a colleague residing in such a country for a quick test.
Additionally, check this document about Klarna on Stripe. Pay attention on what is being mentioned about "presentment currency". Adjust this settings (done outside Checkify), if needed.

🙀 My Stripe account is American. Can I still get Klarna?

This question should better be checked with Stripe's support team, since Checkify does not determine eligibility and works with what it gets. The payment methods (https://dashboard.stripe.com/settings/payment_methods) must be compatible with your chosen currency.

From our knowledge, if your Stripe account is registered in the USA, then you are considered as an American business working (primarily) in US dollars.

For a European variant (registration) of Stripe, payments with Klarna will support the following currencies: EUR, DKK, GBP, NOK, SEK, CZK, PLN, CHF.

Therefore, your customers are likely to see and be able to use Klarna (via Stripe), but when a value in USD currency is presented to them. It may not always be convenient. Despite the fact that you may easily show any pair of currencies to your buyers on the checkout page, since we are a multi-currency checkout, most likely, an non-US buyer will see Klarna in the payment element only when USD is selected, and some other set of methods when the second currency you offer is selected.

🙀 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. Then check Business settings > 'Business details' tab, 'Public details' section 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”

🙀 I got an order via Stripe. Now I see that “Checkify cancelled this order” in the order’s timeline on Shopify. What happened?

It is a highly unlikely event, which could have been triggered by a payment decline on the payment processor's side. Your buyer could have completed the checkout and the payment from them could have been initially approved. They landed on the Thank You (order confirmation) page, and the order was formed almost instantly. However, if the funds are not settled and the transaction is rejected for some reason, such an order should be cancelled.

This mechanism provides additional customer protection, for example from fraud and potential chargebacks. Every order must be backed by a payment. If all the orders are placed (imported) and their status remains unchanged regardless the status of the payment, there could be situations when the order is fulfilled, but the payment for it will be missing (= no transaction).

🙀 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?