Get started
Customization
Troubleshooting
- Embedded checkouts in WooCommerce
- Checkout blocks in WooCommerce
- Error codes
- Compatible plugins and themes
- Known compatibility issues
- Files to exclude from optimization
- Shipping Methods in iframe
- FAQ
- Optimizing your checkout when using an Iframe-based checkout
- Callbacks
- Troubleshooting the checkout flow
- Troubleshooting the Pay for order/Hosted Payment Page flow
- Troubleshooting WooCommerce Subscriptions and KCO
- Kustom Developer logs
- Pending payment orders and held stock
Additional related plugins
Introduction
As Klarna Checkout transitions to Kustom Checkout, please note that parts of this documentation are still being updated. You may come across references to Klarna, outdated screenshots, or broken links.
We’re working continuously to revise all content, and we appreciate your patience during this process.
Kustom Checkout for WooCommerce is a plugin that extends WooCommerce, allowing you to take payments via Kustom.
- You need an agreement with Kustom to be able to use this plugin.
- A SSL Certificate is required.
- Kustom Checkout for WooCommerce support High-Performance Order Storage (HPOS).
Kustom Checkout does not support the Checkout block in WooCommerce.
You can read more about this here.
Related Documentation
- Order management
Read more about how to manage Klarna orders directly from WooCommerce. - Kustom Checkout Hooks: Actions & Filters
Read more about available hooks in the Kustom Checkout plugin. - Recurring payments
Kustom Checkout supports recurring payments via the WooCommerce Subscriptions plugin. Here is a guide to help you get started.
Required WordPress/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 > 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. - A valid SSL Certificate
- Your checkout page must use the Classic Shortcode block. Kustom Checkout does not support the Checkout block at this point. You can read more about this here.
Required Klarna settings
- You must have Kustom 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.
More documentation on KCO Global.
Configuration
Before you get started you need to make sure you are using the Classic Shortcode block on your set Checkout Page.
The Checkout block is the default for new WooCommerce installations as of version 8.3. Kustom Checkout for WooCommerce does not yet support this.
Go to Pages → your set Checkout Page and transform the Checkout block to the Classic Shortcode block.

Basic settings
- Go to: WooCommerce → Settings → Payment → Kustom Checkout.
- Enable Kustom Checkout by checking the Enable Kustom 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 Kustom Checkout. Leave blank to use the default (and translatable) text.
- Add Klarna Post Purchase info to order email – This will add Klarnas Post Purchase information to the order emails that are sent. You can read more about this here: Klarna Docs: Post-purchase experiece
- 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
- Checkout layout – select the Checkout layout. Choose between One column checkout, Two column checkout (Kustom Checkout in right column), Two column checkout (Kustom Checkout in left column) and Two column checkout (Kustom Checkout in left column) – Storefront light
- API Endpoint – Select the API endpoint to use for Klarna Checkout. For stores that have created their API credentials through the Kustom portal, the API endpoint needs to be set to kustom.co instead of klarna.com. If you use the default option, the plugin will attempt to determine this automatically. But you can force the endpoint by using this setting if this is incorrect.

API Credentials Europe / United States
Based on your store base location and the countries you are selling to, you will use one of these sections. By adding merchant credentials to a specific region (Europe or the United States) you also enable Kustom Checkout as an available payment method for that region. Note that you need an agreement with Klarna for each region enabled.
- Production Kustom API Username – Where you enter the API Username received in the Kustom Merchant Portal.
- Production Kustom API Password – Where you enter the API Password received in the Kustom Merchant Portal.
- Test Kustom API Username – Where you enter the API Test Username received in the Kustom Merchant Portal (if you have applied for a test account).
- Test Kustom API Password – Where you enter the API Test Password received in the Kustom Merchant Portal (if you have applied for a test account).

Shipping settings
- 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.
This option should not be checked if you use a shipping plugin with additional shipping options for the customer – see Troubleshooting Shipping Methods in iframe - Shipping details – Enter any additional shipping information you wish to be displayed to customers in Kustom Checkout iframe after they have placed an order.

Checkout settings
- 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.
- National identification number mandatory – If this is checked the customer have to complete a validation process for the national identification number (SE, NO, FI and DK only).
- Checkout privacy policy text – Choose if, or where, the Checkout privacy policy text should be displayed
- 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.
- Display subtotal details – Select how you want to show the subtotal details on the checkout page. Choose between In the WooCommerce order review, In the Kustom Checkout iFrame or In Both.

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

Checkout flow setting
You can use the filter below to enable an additional setting for Checkout flow.
add_filter('kco_enable_redirected_flow', '__return_true');
When activated the Checkout flow setting will appear below the Checkout layout setting (see Configuration) with the following options:
- Embedded – The checkout is embedded in the WooCommerce checkout page and partially replace the checkout form.
- Redirect – The customer is redirected to a payment page hosted by Klarna.
You can add the filter through the Code Snippets plugin, or something similar of your choice.
Set up Kustom Checkout for test purchases
Find your test credentials and set up your WooCommerce store for test purchases:
- Sign up for a Playground (test) environment at Kustom, or log in if you already have signed up for this, at the Kustom Merchant Portal.
- Go to Integrations and click on Add API Key
- Copy and save your key. The password will only be revealed at the time of creation and will disappear after you close the “Kustom API Key generated” window.
- Go to the Kustom Checkout settings in WooCommerce.
- Enable the Test Mode and make sure that you also Log debug messages.
- Enter your test Username and Password created in step 3.
- Save the settings.
Make a test purchase
In your shop Checkout you should now see a green “Test drive” banner, confirming that you are in test mode.
You can now make test purchases using the sample data from Kustom.
B2B – Specify tax on invoices
Kustom has an add-on B2B service for invoices with specified tax for Swedish merchants.
For this service to work the tax needs to be specified in the "create_order"
call and the order has to be activated per orderline.
This is already handled in our plugin, so you as a merchant just need to activate this service with Kustom.
Contact Kustom Merchant Support via their Knowledge Bank or support@kustom.co.
Make sure that you do not have Force capture full order activated in the Klarna Order Management settings.
If this setting is active, the plugin will ignore sending the specific order lines to Kustom and only send the full amount. This will cause the B2B Tax feature to not work as it should.
Subscription support
Kustom Checkout is compatible with the WooCommerce Subscriptions extension for handling of recurring payments.
Please note that Kustom supports subscriptions only for some regions. Please check with Kustom Merchant Support via their Knowledge Bank or support@kustom.co for supported regions.
Read more about recurring payments with Kustom here.
Multi currency support
Kustom Checkout can be used with the following currencies: AUD, CAD, CHF, DKK, EUR, GBP, NOK, SEK, USD. The currency accepted by Kustom Checkout is dependent on your site and your specific agreement with Klarna. For every new currency you want to add to your store, you both need a separate agreement with Klarna and add the new currency to your store via a separate multi currency plugin.
To avoid any issues related to currencies we strongly recommend that you activate KCO Global for each currency you offer in your store. Read more about KCO Global here.
Before you Go Live
- When the installation is done and you are ready to go live you need to contact Kustom integration support. Kustom will then verify the integration before the shop goes live.
- Kustom 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.