Klarna Docs - Klarna Payments

Klarna Payments

Klarna is available as an alternative payment method using Shopify's new Payments Platform.

Here are steps to integrate to integrate.

Klarna Payments requires both phone and email to place most orders. If the consumer's email is not shared with Klarna, upon redirect from Shopify to the Klarna hosted payment page, the consumer will be given an error message by Klarna and redirected back to the Shopify checkout.  Klarna recommends that you choose “Customers can only check out using email” under Shopify admin →  Settings →  Checkout →  Customer contact

With the new Shopify payments app integration, Shopify does not currently share the consumer's shipping phone number with payment integrations. Shopify will share either (but not both) the email or phone number, whichever the consumer enters in the first single field on the first page of Shopify checkout, (or both fields if the customer is logged into their Shopify account), as shown in the screen shot below. Since a Klarna session can not be started without email, per recommendation above, email should be configured as required in checkout. When email is required, the consumer's phone number may not be shared by Shopify, and Klarna will have to request, via a modal, for the consumer to enter their phone number.

The first Contact Information field for Shopify checkout can be configured either as 'email required' OR 'email or mobile phone number'

Klarna configures the translations for the Klarna payment method. There is one translation per supported language, not determine by customer's country or storefront language. The translation used in the store's checkout is determined by the store's single checkout language, which is configurable in the Shopify store admin under Settings->Checkout and accounts->Manage checkout language.

Payment method nameLanguage
CzechKlarna - Zaplať ve 3 splátkách
DanishKlarna - Betal nu eller senere
DutchKlarna - Betaal nu of betaal later
EnglishKlarna - Flexible payments
FinnishKlarna - Maksa heti tai myöhemmin
FrenchKlarna - Payer maintenant, ou plus tard
GermanKlarna - Sofort oder später bezahlen
GreekKlarna - 3 άτοκες δόσεις
GreekKlarna - Paga in 3 rate
ItalianKlarna - Paga in 3 rate
NorwegianKlarna - Betal nå eller senere
PolishKlarna - Kup teraz, zapłać później
PortugeseKlarna - 3 pagamentos sem juros
SpanishKlarna - Paga en 3 plazos sin intereses
SwedishKlarna - Betala nu eller senare

Note: related Known Constraint that currently payment methods cannot be renamed for Shopify Plus merchants via custom scripts.

(Previously to 2022-July, the payment method name was "Klarna".)

Klarna offers an app on the Shopify app store to enable you to easily promote Klarna on your store. The app can be installed from https://apps.shopify.com/klarna-on-site-messaging Additional details about the app available at: On-site messaging app for Shopify

The locale for Klarna Payments hosted payment page will be set based on the store's language concatenated with the customer's billing address country, e.g. English language selected for a customer with a US billing address entered in Shopify checkout would result in a request locale of 'en-US' when Klarna Payments is loaded. If the requested locale is supported by Klarna Payments, per: Available purchase countries, currencies and locales, the locale will be honored. If the locale is not supported, English is used as a fallback.

Locale is not configurable in Klarna; merchants can configure their store's language in their Shopify admin under Settings -> Languages.

One way to check a store's Shopify language is via browser developer tools, e.g. console:

  1. Single payment method: All Klarna payment offers (pay now, pay later, pay over time) will be supported within one payment method activated in the store admin (configured under Settings->Payments->Supported payment methods), with a translated name in checkout based on the shop's language. (Shopify Plus merchants that have custom Shopify scripts based on payment method name(s) will need to update their code to use the new payments integration method name: 'Klarna'; note: custom script code for renaming payment methods is not yet supported for new payments app integrations.)
  2. Shopify order id is not shared: the Shopify order number is not shared with Klarna.
  3. Order edits: are supported.
  4. Capture (and cancel): depending on the merchant's "Payment capture" configuration setting in their Shopify store admin (under Settings->Payments), the Shopify order, and the corresponding Klarna order, will be automatically or manually captured. The Klarna order capture is NOT tied to the fulfillment of the Shopify order (as was the case for the previous HPSDK integration). If the Payment capture is set to 'Automatically capture' when the order is placed in the Shopify store, cancel and partial captures are not supported since the order is already be captured immediately after placement.
  5. Order line data: Shopify shares limited order line data fields for product order lines via this new payments integration. Shopify does not share any order line data for non-product order lines, e.g. VAT/taxes, discounts, surcharges, tip, etc, so those will be grouped as a single other "Adjustment" order line data in the Klarna order. The Klarna order will not have full order line data (image URL, product URL, etc.) as previously for HPSDK orders (e.g. in Klarna Merchant Portal or consumer Klarna app) for Shopify orders. As the data shared with Klarna is limited, and cannot be customized to support additional data, Klarna Extra Merchant Data cannot be supported.
  6. Shipment tracking info: Shipment tracking information is no longer shared from Shopify to Klarna.
  7. Order tags: new payments integrations cannot currently set tags on a Shopify order. Stores that can use the Shopify Flow app could set order tags within a flow for Klarna orders.
  8. Fraud pending: Klarna fraud pending functionality is not currently supported for fraud decisioning after the order is placed. Orders are still reviewed by Klarna for fraud, but the fraud decision will be made when the order is placed.
  9. Oversells of stock inventory: this integration cannot query the store stock inventory to avoid oversells.
  10. Customizations of the Klarna payments page (locale, colors, logo, footer text) are not currently supported.
  11. Test mode: the way test mode is supported is different between HPSDK and new payment method app integration, more info at Test Mode.
  12. Phone number may be requested: Even if customers already previously entered their phone number in Shopify checkout, Shopify may not share that phone number with payments integrations when email is required in checkout, thus Klarna may request the consumer enter their phone number again..
  13. Logo not shown in footer: more info in Known Constraints.
  14. Authorization field: cannot be set by Klarna on Shopify orders, as could previously be set with the HPSDK integration. Merchants instead will need to use the "Payment" id. More info at: Shopify order number is not shared with Klarna.
  15. Hosted payment page URL: this new payments app integration uses a different hosted payment page URL (pay.klarna.com); the HPSDK uses (www.klarnapayments.com). Merchants that filter this domain in Google Analytics will need to update their GA configurations accordingly.

When the order is placed in Shopify, a payment id is set in the Shopify order Timeline information under the "payment was processed on Klarna." section, within the "Information from the gateway" subsection. This payment id is set in the Klarna order's merchant reference 1 and 2. (Shopify does not share the Shopify order id for this payments app integration for Klarna to be able to associate the Shopify order id or order name in the Klarna order. Additionally, Shopify no longer allows new payments app integrations to set the 'authorization' field on the Shopify order.) Related query about API access for this data: https://help.shopify.com/en/manual/orders/search-view-print-orders#match-third-party-payment-information-with-shopify-orders

Shopify payment id is available in the Payment section Shopify store admin order's Timeline: Information from the gateway.

Shopify payment id is available in the merchant_reference_1 field in the order in the Klarna merchant portal

If your store is Shopify Plus, it may also be helpful to find Klarna orders to run a custom report for orders by payment type (under Analytics -> Reports -> Create custom report, per: https://help.shopify.com/en/manual/reports-and-analytics/shopify-reports/report-types

When merchants integrate using their production Klarna merchant account, they can place test orders using "Test mode".

If you do check "Test mode" for the payment method, as soon as testing is done, make sure to uncheck "Enable test mode" as Klarna does NOT pay out for test / playground orders if a live customer places a real order while "Test mode" was checked.

Note: test orders will not be visible in your Klarna merchant portal (but test orders will show in the Shopify store admin if the order was completed); production orders will be visible in both the Klarna production merchant portal and your Shopify store admin.

For select merchants needing to test in a development store not using Klarna production credentials, Klarna is working to support custom apps specific to an individual development store to support testing with Klarna test / playground credentials.

Shopify restricts all alternative payment methods, such as Klarna Payments, to only process orders in the store’s base currency, as documented at: 


“Only Shopify Payments can process payments in a customer's local (presentment) currency. If your customer chooses a payment option from a different payment provider, then their payment is made in the currency of your store.”  

See also Known Issue: “Klarna Payments accepts orders only for customer billing addresses in the markets that match the store base currency”.

For Shopify Plus merchants, please also see: “Shopify Plus: custom scripts” section below if you would like to hide Klarna Payments in checkout based on certain cart data.

Shopify does not yet support alternative payment methods, like Klarna, to integrate into Shopify's POS sales channel. Customers in store can still easily pay with Klarna using Shopify draft orders. To do so:

  1. Create a Shopify draft order for a customer (with optional customer details prepopulated) with the desired products. (Do not check "Paid").
  2. Email the invoice to the customer from the Shopify draft order admin page using the "Send invoice" button (either from the draft order or "Payment due later" order).
  3. The customer then can pay for the draft order via your Shopify store's Online Store sales channel using your store's Shopify web checkout and choose Klarna (or any payment option available in checkout).