Klarna Checkout – Introduction

Since of version 2.0.0 of the KCO plugin, the WooCommerce order will now be created first (in Pending status), then the Klarna order is placed, and finally the WooCommerce order is updated to Processing status. This update is more compatible with other WooCommerce plugins.

The new checkout flow also means that Pending orders can be visible in WooCommerce, where the payment has not been finalized in Klarna (for example card payment where there was not enough funds on the card). This is part of the general WooCommerce checkout flow, and it does not implicate that something is wrong. It is just a new scenario for the Klarna Checkout payment gateway. Read more about the checkout flow rewrite here.

Klarna Checkout for WooCommerce is a plugin that extends WooCommerce, allowing you to take payments via Klarna.
This plugin integrates with Klarnas latest platform (v3). You need an agreement with Klarna specific to the new platform to use this plugin.
  • Klarna Checkout is available in Austria, Denmark, Finland, Germany, The Netherlands, Norway, Sweden, United Kingdom and the United States.
  • You need an agreement with Klarna to be able to use this plugin.
  • WooCommerce 3.0 or newer is required.
  • PHP 5.6 or higher is required.
  • A SSL Certificate is required.

Related Documentation

Required WooCommerce Settings

  • Make sure that you have enabled pretty permalinks in your WordPress installation. Otherwise callbacks from Klarna back to your store won’t work and orders will not be updated with the correct order status/information.
  • It is recommended to enable guest checkout  (Enable guest checkout setting in WooCommerce > Settings > Checkout). If you don’t allow guest checkout you must check both Automatically generate username from customer email and Automatically generate customer password in WooCommerce > Settings > Accounts setting page.
  • To get the order total to match between WooCommerce and Klarna you need to configure WooCommerce to display prices with 2 decimals. More information about displaying of prices and how it can cause rounding issues can be found in this article.

Required Klarna settings

  • You must have Klarna Checkout Global activated in your Klarna account. Otherwise customers from other countries than the store base country will see a Bad value: purchase_currency error message instead of the KCO iframe in the checkout.


  1. Go to: WooCommerce > Settings > Checkout > Klarna Checkout.
  2. Enable Klarna Checkout by checking the Enable Klarna Checkout checkbox.
  3. Title – Enter the title for the payment method displayed in the checkout and order confirmation emails
  4. Description – Enter the description of the payment method displayed in the checkout page.
  5. Separate shipping address – Tick this checkbox if you want to allow customers to use a shipping address that is not the same as their billing address.
  6. Other payment method button text – Customize the Select another payment method button text that is displayed in checkout if using other payment methods than Klarna Checkout. Leave blank to use the default (and translatable) text.
  7. Shipping details – Additional shipping information that will be displayed to customers in Klarna Checkout iframe after they have placed an order.
  8. Allowed Customer Types – Select if you want to sell both to consumers and companies or only to one of them (available for SE, NO and FI).
  9. Product URLs – Tick the checkbox if you want to send product and product image URLs to Klarna.
  10. Logging – Logging events in the module. The log can be found by navigating to → WooCommerce → System Status → Logs.
  11. Test mode – Tick the checkbox if you make purchases using a test account.
  12. Date of birth mandatory – Tick this checkbox if you want to make it mandatory for customers to enter their date of birth during checkout.

Europe / United States

Based on your store base location and the countries you are selling to, you will use one or both of these sections. By adding merchant credentials to a specific region (Europe or the United States) you also enable Klarna Checkout as an available payment method for that region. Note that you need an agreement with Klarna for each region enabled.
  1. Production username – Username that you received from Klarna.
  2. Production password – Password that you received from Klarna
  3. Test username – Username for test purchases that you received from Klarna (if you have applied for a test account).
  4. Test password – Password for test purchases that you received from Klarna (if you have applied for a test account).
  5. Title mandatory (GB) – Check this to make customer’s title mandatory, only works for customers based in GB.
  6. Show prefill consent notice – Check this to prevent logged-in customers’ data from being sent to Klarna, only applicable for customers from Germany and Austria.
  7. Offer local payment methods for AT/DE/FI/NL customers – Checking this will offer local payment method to customers from each of these countries. If these options remain unchecked, only card payments will be available for customers from these countries, when checkout out with Klarna Checkout.

Color settings

With the Color settings section, you have the possibility to alter the appearance of the Klarna Checkout iframe displayed in the checkout. Here you can change things like background colors, button colors and text colors.

Subscription support

Klarna Checkout is compatible (in Sweden, Norway, Finland, Germany & Austria) with the WooCommerce Subscriptions extension for handling of recurring payments.

Before you Go Live

  • When the installation is done and you are ready to go live you need to contact Klarna integration support. Klarna will then verify the integration before the shop goes live.
  • Klarna Checkout should be the first/default payment method (if multiple payment methods are active). This can be adjusted in the section Payment methods in → WooCommerce → Settings → Payments.
  • The Klarna logotype should be visible on the website (for example in the footer). More info and logos can be found here.

Compatibility with themes & plugins

  • Klarna Checkout uses its own template file for displaying the checkout page and should work with most themes. However, the plugin is only tested with the Storefront theme and we do not guarantee that it will work with other themes. Common situations when errors occur are:
    – Themes/plugins with customized template files for WooCommerce checkout page.
    – Themes/plugins that modifies the checkout into a multi step checkout.
  • The plugin and Klarna only handle product quantity that is specified as an integer. For instance you can’t send 1.5 as the product quantity to Klarna. If you sell products where you charge by length or dimension we recommend that you use the Measurement Price Calculator plugin.
  • WooCommerce does not offer multi currency support. This can be handled via several different plugins. This plugin is compatible with the Currency Switcher for WooCommerce plugin from Aelia. We do not guarantee that other multi currency plugins will work together with the Klarna plugin.
Krokedil and Klarna do not offer help with adapting your theme or plugin within regular support.

About fallback order creation

With an embedded checkout like Klarna Checkout, the order is created in Klarnas system first and in the next step the order is created in WooCommerce. To follow the standard WooCommerce order creation process as much as possible, the WooCommerce checkout form is being submitted even with purchases made via Klarna Checkout.
If something goes wrong during this process, there are 2 different types of fallback routines that might get triggered.
  1. Checkout error
    An error is triggered when the checkout form is being posted. Similar to when a user tries to place the order but have forgot to check the terms and condition checkbox. If the checkout_error js event is triggered by WooCommerce, the KCO plugin creates the WooCommerce order programatically (with the cart as the reference). An order note is created with the following message: This order was made as a fallback due to an error in the checkout. Please verify the order with Klarna. 
  2. Backup order creation via API
    If no order is being created in WooCommerce at all during the checkout process, Klarna sends an API callback 2 minutes later. If the corresponding Klarna order ID doesn’t exist in WooCommerce an order is created programatically (with order lines in the Klarna order as the reference). An order note is created with the following message: Order created via Klarna Checkout API callback. Please verify the order in Klarnas system.
Both of these scenarios indicates that something is not configured correctly. Do not rely on a setup where the orders are created in either of these routines. If you want to take a closer look at how many orders are being created via the Backup order creation via API you can navigate to → WooCommerce→ Status→ System Status and the Klarna Checkout section. There you will find stats for the last 30 days, like this:

More detailed information about the entire checkout and order creation process can be found in the Integration flow cart here.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.