Klarna Checkout – FAQ

A collection of Frequently Asked Questions

I see the error "Klarna Checkout error (Bad value: merchant_urls.terms (must be a valid http or https URI))." on my checkout page, what is wrong?

This means that you have not set a terms and condition page in WooCommerce. 

Go to  WooCommerce ---> Settings ---> Advanced and then go to the Page Setup section and make sure you have set a Terms and Condition page there.

If you do have set a page there, go and check (under your  Pages section in the WordPress dashboard) that your page that contains your terms and condition information has the Status: Published.

Customers can not make a purchase in my store and receives the error "Sorry, this purchase cannot be processed."

Since of version 1.10.2 we require all validation callbacks from Klarna to succeed and result in a 200 HTTP response from your server. If the callback fails Klarna will not proceed with the payment and the customer will not be able to create the order in WooCommerce.

Information about why this is happening and how you can solve it, can be found in the Callback docs article here

As this is a communication issue between your website and Klarna there isn't much we (Krokedil) can troubleshoot around this. 
For more information contact  your regions Klarna Merchant contact.

I'm trying to change status on some of my orders to Completed but it automatically changes back to On Hold. In the status it says: Klarna order could not be captured at this time. Why is this happening?

Often when this happen it's due to the fact that the order has already been captured manually in your Klarna Online account. The easiest way to solve this is to temporarily de-activate the Klarna Order Management plugin, change the order status on the orders to Completed and then activate the Klarna Order Management plugin again. 

If you always manually captures the orders in Klarna and handles the orders separately in WooCommerce and not want to use the functionality that the Klarna Order Management offers you don't need the Order Management plugin activated.

I'm using Cloudflare CDN and WAF and it is blocking the validation call from Klarna, how do I fix this?

If you are using Cloudflare CDN and their WAF Firewall (or any other WAF/CDN/Firewall too) you need to create a specific Page Rule in your Cloudflare account to whitelist the API-calls that is needed for the Klarna plugin to work properly you can read more about callbacks here.

Thanks to Niclas Skarnes for reporting this. 

What is the reason why the order is created via API callback?

In some cases an error happen in the same sequence as the customer clicks the Pay button in Klarna Checkout, before the order is created in WooCommerce. This might happen if the customers browser crashes, if the internet connection drops or the web server goes down/reboots in this exact moment.

Error: Bad value: order_amount

When seeing this error:   Bad value: order_amount in the checkout we recommend you to check your tax settings and rules and make sure there aren’t 0% tax rules being applied incorrectly (as in this screen shot).

The customers see the error message “Please try again, something went wrong with processing your order.”

This indicates that they have hit the timeout that we have for the events. This can be increased using the following code: 

add_filter( 'kco_checkout_timeout_duration', 'kco_set_custom_timeout' );
        function kco_set_custom_timeout( $time ) {
    	return 30;

The “return 30;” can be changed to whatever time they need to make this work. Default is 20 from the plugin.

When I click on the Place Order button it just reloads the page, what is wrong?

The cases we have seen so far when this is happening is a plugin compatible issue with another plugin. The plugin we have seen when troubleshooting this is the multilingual plugin WeGlot.

To get the checkout to work properly you need to exclude the checkout url in the WeGlot settings:

After this has been done you will see the Klarna modal window pop-up again when clicking on the Place Order button..

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