Klarna Checkout v3

Klarna Checkout is a service from Klarna which gathers all your payment options into one agreement. You only have one supplier, one integration, one agreement, one payout, one settlement and one customer support. Plus, Klarna assumes the customer risk, meaning you get paid even if the customer doesn't pay Klarna. Klarna Checkout is rendered through an iframe where all popular payment methods are included.

This checkout handler integrates with Klarna Checkout v3 – at the time of writing (Oct ’19) the most recent Klarna product on offer. Support for older Klarna products is set to end at the end of September 2020 - for more information please see the Klarna migration FAQ.

Please note that:

  • You must select a valid combination of country and currency in order for Klarna to accept payment. See Klarna documentation for details about currently valid combinations.
  • Klarna does not handle order line quantities which are not integers (1, 2, 3, etc.) - avoid decimals

To set up a Klarna Checkout v3 payment method you need an API username (UID) and an API password – if you don’t have these apply for a test account.

When you have the API username & password you can configure the checkout handler:

  • Go to Settings > Ecommerce > Orders > Payments and create a new payment method
  • Select the Klarna Checkout v3 checkout handler
  • Fill in the parameters section (Figure 1.1)
Figure 1.1 The Klarna v3 checkout handler

For a basic configuration:

  • Supply the API username (UID) and API password from Klarna
  • Select a page on your solution which contains terms & conditions – the payment widget links to this page
  • Select or create templates:
    • The payment template is used to frame the payment form supplied by Klarna
    • The confirmation template is used to frame the receipt supplied by Klarna
    • The cancel template is shown if the user cancels payment at some point during the process
    • The error template is shown if an error occurs, usually due to a combination of currency & country which is not supported by Klarna

In addition, you have access to the following parameters:


What it does


Allow separate shipping addresses

Allows the customer to ship to a different shipping address than the billing address.

At the time of writing only available for Germany and Austria

Update billing info

Updates the billing address stored by Klarna


Update shipping info

Updates the shipping address stored by Klarna


Exclude shipping address



Allow choice between B2C and B2B flows

Let’s the customer choose between the B2C and B2B payment flows from Klarna

Cannot be tested on playground account, only works on a live account

Set default flow to B2B instead of B2C

Sets the default payment flow to B2B

Cannot be tested on playground account, only works on a live account

Use Klarna receipt instead of cart module receipt

Shows the Klarna receipt instead of the standard Shopping Cart receipt


Test mode

Enables test mode

Use this to simulate transactions

To test the card payment flow from end user perspective, use the following card details in the loaded Klarna widget:

  • Credit card number: 4111 1111 1111 1111
  • CVV: 123
  • Expiry date: 12/25 (Or any other valid date in the future)

Remember to test with a combination of currency & country supported by Klarna, see the start of this article.