Klarna Docs - Known Issues

1. Klarna Payments accepts orders only for customer billing addresses in the markets that match the store base currency

Klarna Payments accepts orders only for customers with billing addresses in the markets that match the currency of the order, per: https://docs.klarna.com/klarna-payments/in-depth-knowledge/puchase-countries-currencies-locales/

Klarna Payments integration is an alternative payment provider in Shopify, and Shopify limits Klarna Payments, as for all alternative payments methods, to always using only the store’s base currency, per: https://help.shopify.com/en/manual/payments/shopify-payments/multi-currency/conversions#shopify-payments-and-other-payment-providers

As such, if the store base currency is SEK, Klarna Payments will be able to accept orders for customers whose billing country is Sweden.  Customers with addresses in other countries will receive an error message, e.g. as shown in the screenshot below.  The exact error message may be dependent upon region & Klarna product, i.e. such as “Option not available” or “You need a US billing address to use Klarna”.

The exact error message may differ based on region and other data.

2. Updating Klarna API credentials or the Klarna Payment app can impact order management for previously placed orders

In the Klarna Merchant Portal Settings app, merchants can generate new Klarna API credentials and/or disable previous API credentials, as shown below:

If changing API credentials are necessary, updated credentials must be changed both for 1) the Klarna Payments app (under Apps in your Shopify store) and 2) the Klarna alternative payment method(s) (under Settings->Payments in your Shopify store). If the API credentials don’t exactly match between the app and the payment method, order updates will fail to update Klarna.  You can verify order updates or manually update orders in the Klarna Merchant Portal, as needed, but note there may be a small time delay (~ 5 minutes) for Klarna to be updated after the Shopify order has been updated so take care to not duplicate order management updates (such as partial refunds).  

When API credentials are changed but credentials use the same Klarna merchant id (i.e. K100123_26712af8ef91 to K100123_1d2d9e478472), pending fraud status notifications from Klarna (e.g. fraud pending to accepted) will not be able to modify previously placed orders in the Shopify store; those Shopify orders will stay stuck in Pending status. Other order management updates can still be successful as long as the API credentials match between both the Klarna Payments app and alternative payment methods (including inactive alternative payment methods).  

If a store is required to change the Klarna contract  (e.g. change in store ownership) resulting in a new Klarna merchant id (i.e. K100123_26712af8ef91 to K100789_83e99c12023), all order management updates will be unsuccessful for previously placed orders, and all order management for those orders must be done in the Klarna Merchant Portal. 

Removing the Klarna Payments app from a Shopify store will prevent capture or cancel order management updates automatically from Shopify to Klarna; refunds should update Klarna (without refund order line items though as refund order line item data is not accessible without the Klarna Payments app).

3. Oops error - If you are a Shopify administrator for this store ...

If choosing Klarna from the Shopify checkout results in an Oops error page, per screenshot below, verify that the Klarna API credentials for the payment method (at Shopify admin Settings->Payments->Alternative Payment Methods) exactly match the Klarna API credentials used for the Klarna Payments app in the store (under Apps menu in Shopify Admin).  The Klarna API credentials are entered in 2 places and both those entries must match exactly (without any extra whitespace, upper vs. lower case must match, etc.).

4. Stock inventory oversells

After Shopify redirects to a HPSDK alternative payment integration, such as Klarna Payments, when a customer places an order, stock inventory can no longer be guaranteed as the inventory is not locked in the Shopify store.  To avoid oversells, the Klarna Payments integration again checks Shopify inventory when the Klarna Payments hosted payments page is loaded, reloaded, and when the customer places the order (if the Klarna Payments app is up to date with the required read_inventory scope).  (To verify that the app is up to date, click the Klarna Payments app within the Shopify admin, and if an update is required, the update will be requested.)  Even with these additional inventory checks, depending on store traffic and timing, oversells can still possibly occur. 

To further prevent oversells, Klarna Payments offers a merchant-configurable setting “Minimum quantity of product's stock inventory required for a Klarna order” (accessible either via the Klarna Payments app in the Shopify store OR via https://www.klarnapayments.com/install) for merchants to limit Klarna orders based on stock inventory availability.

Additionally, each Shopify app, such as the Klarna Payments app, are limited for the rate of Shopify API calls that can be made during a time period, as documented at: https://shopify.dev/concepts/about-apis/rate-limits  For stores with high volume flash sales in a small time period, alternative payment methods, like Klarna, could result in rate limit errors for customers.

5. Shopify app incompatibilities

Klarna Payments on Shopify is not compatible with the following apps:

  • OneClickUpsell by Zipify - as this replaces standard Shopify checkout, a Klarna Payments integration would require code in Zipify to integrate with Klarna Payments
  • Subscriptions by ReCharge - as ReCharge replaces standard Shopify checkout, a Klarna Payments integration would require ReCharge to integrate with Klarna Payments
  • Gooten: Print On Demand -  fulfillments within Shopify for Gooten orders currently don't trigger the necessary Shopify webhook to inform Klarna to capture the order; merchants could manually capture in the Klarna merchant portal as a workaround

6. Refunds stuck in pending for orders older than 60 days

This issue is applicable for stores that installed Klarna Payments prior to July 2018.

Refunds older than 60 days require the read_all_orders scope, as noted at https://help.shopify.com/en/api/reference/orders/order.  If some refunds are stuck in pending in your Shopify store and the order is older than 60 days, please make sure that the Klarna Payments app is up to date in your Shopify store to be able to access orders older than 60 days.  To do so, a Shopify admin user with full admin permissions to the Shopify store, within the Shopify admin web page, can go to the Apps menu on the left hand side and click the "Klarna Payments" app.   If the Klarna Payments app doesn’t have the necessary permissions, a web page will be presented stating "You are about to update Klarna Payments".   After clicking "Update unlisted app" from the bottom right of the screen, future refunds should again update the corresponding Klarna order, including orders older than 60 days.  For already processed refunds, the order can be updated through the Klarna Merchant Portal.

7. Editing Klarna orders in Shopify admin not supported for Shopify HPSDK integrations

The Klarna Payments for Shopify integration does not yet support Shopify’s edit orders functionality: https://help.shopify.com/en/manual/orders/edit-orders 

For edited orders, Klarna will block Klarna as a payment method upon redirect, and the customer can instead pay with a different supported payment method for the store.  

Orders edited in Shopify will NOT update Klarna, and any order updates must be manually edited in the Klarna order via the Klarna Merchant Portal, separately from the Shopify order.