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 for new merchants

Here are steps to integrate for migrating merchants (who previously installed Klarna as an HPSDK alternative payment method, as HPSDK integrations will be deprecated by Shopify by 2022-June-30, and will no longer be able to process payments, per: https://shopify.dev/docs/hosted-payment-sdk).

Klarna Payments requires that 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.  To require email in Shopify Checkout, under Shopify admin →  Settings →  Checkout →  Customer contact, choose the “Customers can only check out using email”. 

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'

The locale for Klarna Payments locale will be set based on the store's locale concatenated with the customer's billing address country and are not currently configurable, 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.

  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). (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 does not currently work for new payments app integrations.)
  2. Order edits (including Pending payment draft orders): are supported.
  3. 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.
  4. Order line data: Shopify will share limited (3) order line data fields (name, quantity, unit price) via this new payments integration. The Klarna order will not have full order line data (image url, product url) 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.
  5. Shipment tracking info: Shipment tracking information is no longer shared from Shopify to Klarna.
  6. Order tags: new payments integrations cannot currently set tags on a Shopify order.
  7. Pending: Klarna fraud pending orders is not supported; Shopify orders cannot be placed in pending status.
  8. Oversells of stock inventory: this integration cannot query the store stock inventory to avoid oversells.
  9. Customizations of the Klarna payments page (locale, colors, logo, footer text); some customizations may be supported in the future. Customizations reliant on the Shopify HPSDK (e.g. Shopify Flow) will not be supported with new payments app integration.
  10. Test mode: the way test mode is supported is different between HPSDK and new payment method app integration, more info at Test Mode.
  11. 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..
  12. Shopify order number is not shared: with Shopify's new payments app integration, the Shopify order number is not shared with Klarna..
  13. Logo not shown in footer: more info in Known Constraints.

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

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

Currently only production Klarna merchant accounts are supported for placing test orders. (Klarna's playground environment is NOT yet supported but is coming soon.)

If you do check "Test mode" for the payment method, as soon as testing is done, make sure to uncheck "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.