Klarna Checkout – Introduction
If you are looking for documentation regarding Klarna Payments, you can find it here.
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.
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.
- Klarnas new platform transitions guide
Step-by-step guide on how to switch from old plugin to new Klarna Checkout for WooCommerce plugin.
- Order management
Read more about how to manage Klarna orders directly from WooCommerce.
- Klarna Checkout Hooks: Actions & Filters
Read more about available hooks in the Klarna Checkout plugin.
- Recurring payments
Klarna Checkout supports recurring payments via the WooCommerce Subscriptions plugin. Here is a guide to help you get started.
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.
- Your site must be able to handle anchor links (or URI fragments) correctly. This means that when an anchor link is triggered the browser should not trigger a full reload of the page. You can test this by navigating to one of your website pages, enter a following /#testhash to the url in the browser address bar and then hit Enter. This shall not trigger a full reload of the page.
- It is recommended to enable guest checkout (Enable guest checkout setting in WooCommerce > Settings > Payments).
- 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.
- You need to specify a terms page in WooCommerce's Settings.
Do not cache the cart and checkout pages as this can cause problems. Issues might be, but are not limited to, wrong prices showing, order numbers getting mixed up or even that one customer can see another customers information.
The cart and checkout pages are dynamic pages and if you cache these they will not be dynamic anymore, which can result in the problems above. You can read more about caching and optimization here.
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.
- Go to: WooCommerce > Settings > Payment > Klarna Checkout.
- Enable Klarna Checkout by checking the Enable Klarna Checkout checkbox.
- Title – Enter the title for the payment method displayed in the checkout and order confirmation emails.
- Description – Enter the description of the payment method displayed in the checkout page.
- 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.
- Add Klarna Urls to order email – This will add Klarna urls to the order emails that are sent. You can read more about this here: Klarna URLs
- Test mode – check the Enable Test Mode checkbox to place the payment gateway in test mode using test API keys
- Logging – check the Log debug messages to save debug messages to the WooCommerce System Status log
API Credentials Europe / United States
- Production Klarna API Username – Where you enter the API Username received in the Klarna Merchant Portal.
- Production Klarna API Password – Where you enter the API Password received in the Klarna Merchant Portal.
- Test Klarna API Username – Where you enter the API Test Username received in the Klarna Merchant Portal (if you have applied for a test account).
- Test Klarna API Password – Where you enter the API Test Password received in the Klarna Merchant Portal (if you have applied for a test account).
- 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.
- Shipping methods in iframe – If this option is checked, selection of shipping method is done in Klara iframe. Shipping price and name of the selected shipping method will be displayed in WooCommerce order review.
- Shipping details – Enter any additional shipping information you wish to be displayed to customers in Klarna Checkout iframe after they have placed an order.
- Product URLs – Tick the checkbox if you want to send product and product image URLs to Klarna.
- Date of birth mandatory – Tick this checkbox if you want to make it mandatory for customers to enter their date of birth during checkout.
- Terms and conditions checkbox – Add a terms and conditions checkbox inside Klarna checkout iframe
- Allowed Customer Types – Choose if your store is Business to Consumer (B2C) or Business to Business (B2B), or both.
- Title mandatory (GB) – Check this to make customer’s title mandatory, only works for customers based in GB.
- 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.
- Display quantity fields – Check this option if you want your customers to be able to change the number of products on the Checkout page in the same way as they would in the cart.
Multi currency support
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.