Klarna Docs - Order Management

The new Klarna payments app integration for Shopify provides integrated order management. Order management for Klarna orders should continue to be processed as part of your standard order management within your Shopify admin.  Orders marked as "Paid" or "Authorized" are guaranteed funds by Klarna and can be fulfilled when appropriate for the shop; orders marked as "Payment pending" should not be fulfilled yet, as payment has not been completed and is not guaranteed by Klarna.

(While order management could be done directly via the Klarna merchant portal, this will cause Klarna data and Shopify order data to be out of sync and could result in unintended updates, e.g. duplicated refunds.  Unless there is a problem, all order management should be done through the Shopify admin, not the Klarna merchant portal.)

Based on the "Payment capture" method configuration setting (in the Shopify store admin, under Settings -> Payments),

  • for "Automatically" captured orders, the Shopify payment status is first set to "Payment pending" and then after a small time delay, set to "Paid" and then after a different time delay (up to ~20 minutes), the corresponding Klarna order is automatically captured.
  • for "Manually" captured orders, the Shopify payment status is first set to "Payment pending" and then after a small time delay, after the Klarna order has been created, the Shopify order is set to "Authorized". The Shopify order can be manually captured once, which will trigger the corresponding capture of the Klarna order. The Klarna capture doesn't contain order line data (as capture order line data is not shared by Shopify). Note: Shopify currently adds the "Expiring" badge to Shopify orders at a defaulted time period (7 days), which doesn't match the Klarna order expiration date, as set by Klarna in the "authorizationExpiresAt" field when resolving the payment on Shopify. Even when a Shopify order has an Expiring badge, Klarna payment can still be captured from the Shopify order, as long as the Klarna order hasn't expired or already been captured. While Klarna orders could be captured directly in the Klarna merchant portal, it is recommended to keep Shopify and Klarna order data in sync whenever possible.

This "Payment capture" setting applies to ALL orders in a Shopify store.

With this new payments integration, the capture of the Klarna order is no longer based upon the Shopify order being fulfilled / shipped (as was previously dependent with the HPSDK integration). If you'd like have the Klarna order based on Shopify order fulfillment, you may be able to build that specific to your store using Shopify Flow. If you utilize a Shopify Flow to capture the orders, please be sure to note the recommendation here.

Note: based on your Klarna contract, Klarna charges merchant fees for captured orders. When Shopify orders are automatically captured (immediately after the order is placed), Klarna fees will apply for each order, even if the order is cancelled in the Shopify admin without being fulfilled.

This 'Payment capture' Shopify configuration setting will be supported with the new Klarna payment integration app; merchants can choose for ALL their Shopify orders to be automatically captured or manually captured.

If using the Shopify Flow app to trigger the capture of Shopify order (when "payment capture" method is set to "manually"), a time delay (~30 minutes) should be included after the "Check if" payment method is "Klarna" step, to avoid the Payment gateway sometimes set to null in some Shopify webhooks, e.g. for webhooks used by apps like Signifyd.

Shopify store admin order examples, showing the "Payment status" after the order is first placed for both manually capture and automatically capture payment methods.

Refunds made in Shopify (all types of Shopify refunds: before or after Shopify order fulfillment, full or partial refunds, order line based refunds or amount based refunds) will update the Klarna order after a short time delay of a few minutes (less than 10 minutes).

The Klarna refund does not include order line data (as refund order line data is not shared by Shopify).

  • If the order's payment capture method was set to "automatically capture" the order, the Klarna order would have already been captured, and thus cancelling the Shopify order will result in a refund for the Klarna order.
  • If the order's payment capture method was set to "manually capture" the order, cancelling the Shopify order (prior to manually setting the order as "Paid") will result in the Klarna order also being cancelled, if the payment was not yet captured. For orders already captured, a refund should be used instead, as a cancel call won't be accepted by Klarna.

For orders that are not automatically captured (based on your store's Payment capture setting), Klarna recommends manually capturing the order prior to the Klarna order expiration date (that expiration time frame depends on your Klarna contract, e.g. 28 days). The Klarna order's authorization time cannot be extended within the Shopify admin; Klarna orders may possibly be extended in the Klarna Merchant Portal, if applicable for the order.