Klarna Docs - Shipping

Shipping

How we handle shipping in Klarna checkout.

There are several ways shipping can be added to an order and below we will explain the differences.

Creating an order without specifying the property options.allow_separate_shippingĀ will not have the shipping section of checkout visible and the shipping_address of the completed order will always be the same as the billing address.

With this order configuration Klarna Shipping Assistant (KSA) is disabled.

JSON
{
  "purchase_country": "GB",
  "purchase_currency": "GBP",
  "locale": "en-GB",
  "order_amount": 50000,
  "order_tax_amount": 4545,
  "order_lines": [
      {
        "type": "physical",
        "reference": "19-402-USA",

An order that is created withĀ allow_separate_shippingĀ Ā trueĀ will have theĀ Klarna Shipping Assistant (KSA)Ā visible in Checkout. This will allow the consumer to enter a separate shipping address.

JSON
{
  "purchase_country": "GB",
  "purchase_currency": "GBP",
  "locale": "en-GB",
  "order_amount": 50000,
  "order_tax_amount": 4545,
  "order_lines": [
      {
        "type": "physical",
        "reference": "19-402-USA",

As a merchant you can provide Klarna with shipping_options you want to present to the consumer. These are sent in using the propertyĀ shipping optionsĀ . This will enableĀ Klarna Shipping Assistant(KSA)Ā which will present a shipping selector in the checkout where the consumer can select a shipping option and the cart will be updated automatically.

JSON
{
  "purchase_country": "GB",
  "purchase_currency": "GBP",
  "locale": "en-GB",
  "order_amount": 50000,
  "order_tax_amount": 4545,
  "order_lines": [
      {
        "type": "physical",
        "reference": "19-402-USA",

If you specify both theĀ options.allow_separate_shippingĀ Ā property and send inĀ shipping_optionsĀ Ā the consumer will be able to choose a shipping option and a shipping address.

JSON
{
  "purchase_country": "GB",
  "purchase_currency": "GBP",
  "locale": "en-GB",
  "order_amount": 50000,
  "order_tax_amount": 4545,
  "order_lines": [
      {
        "type": "physical",
        "reference": "19-402-USA",

You can specify a shipping_option_update url to get a server-side callback whenever the consumer changes the shipping option.Ā Read moreĀ .

When this callback is used the shipping option cost will not be added automatically to the order_lines or the order_total of the order and this will be your responsibility.

If you want to use a transport management system (TMS), please seeĀ Klarna Shipping Assistant(KSA)Ā documentation.

Read more

Klarna Shipping Assistant have more documentation on the topic and aĀ special sectionĀ about Checkout integration,Ā read more about KSA.