worldline Direct
Sign up

Klarna

Intro

As Klarna offer various payment methods, multiple paymentProductId exist. Find all possible values in the table below.

Klarna offers a global payment solution, enabling customers to shop now and pay later.

Klarna's flexible options — Pay Now, Pay Later, and Financing — enhance the checkout experience, improving conversion rates and satisfaction.

By integrating Klarna, you offer a seamless, secure payment process that aligns with consumer preferences, reducing cart abandonment and increasing sales.

Offer this exceptional payment experience to all your customers all over the world:

Payment method
category
Description PaymentProductId Country availability
Pay Now

Combined (Direct Bank Transfer + Direct Debit) & Pay by Card

3301

Austria
Australia
Belgium
Canada
Switzerland
Czech Republic
Germany
Denmark
Spain
Finland
France
United Kingdom
Greece
Hungary
Ireland
Italy
Netherlands
Norway
New Zealand
Poland
Portugal
Romania
Sweden
United States

Pay Now

Direct Bank Transfer only

Your customers make a transfer to Klarna sometime after the purchase, but you will get the funds right away.

3304

Austria
Belgium
Switzerland
Germany
Denmark
Spain
Finland
Netherlands
Sweden

Pay Now

Direct Debit only

Klarna debits your customer’s bank account sometime after the purchase, but you will get the funds right away.

3305

Austria
Germany
Netherlands
Sweden

Pay Later

Pay in 30 days

Your customers will pay after the purchase, but you will get the funds right away.

3302

Austria
Australia
Belgium
Switzerland
Germany
Denmark
Spain
Finland
United Kingdom
Greece
Hungary
Italy
Netherlands
Norway
Poland
Sweden
United States

Pay Later B2B (Billie)

A B2B variant of Pay Later/Pay Later (Pay in 3).

Allow your B2B customers to split payments using various flexible options, but you will get the right away.
Although Billie shares the same paymentProductId with Pay Later, differences apply. Refer to the dedicated chapter to learn how to onboard for Billie and to process transactions.

3302

Austria
Germany
Finland
France
United Kingdom
Netherlands
Norway
Sweden

Pay in 3/4

Allow your customers to split payments into smaller interest-free payments.

Only available for merchants with a specific contractual agreement with Klarna.

-

-

Fair Financing (Instalments)

Financing (3, 6, 12, 24, 36 months)

Allow your customers to split payments over a 6 – 36 month-period using the Klarna app, but you will get the full amount right away.

3303

Austria
Canada
Germany
Spain
Finland
United Kingdom
Italy
Netherlands
Norway
Sweden
United States

During the payment process, Klarna suggests all available payment methods according to your customers' location and your contract with Klarna.
Populate field hostedCheckoutSpecificInput.locale to indicate the location and language with any of the values Klarna offers. Mind the following:

Overview

Payment group:
Payment product id:
3301
Key benefits
  • Low PCI requirements
  • Guaranteed payment
  • High variety of payment methods to adapt to your customers preferences

Countries & currencies

Supported countries

Supported currencies

  • Danish krone (DKK)
  • Euro (EUR)
  • Norwegian krone (NOK)
  • Polish zloty (PLN)
  • Pound sterling (GBP)
  • Swedish krona/kronor (SEK)
  • Swiss franc (CHF)

Integration

Redirect your customers to the Klarna payment portal via our Hosted Checkout Page. Find a high level overview in the "Process flows" chapter.

Add the following properties to a standard CreateHostedCheckout request:

{
"order":{
"amountOfMoney":{
"currencyCode":"EUR",
"amount":2980
},
"shipping":{
"address":{
"name":{
"title":"Miss",
"firstName":"Road",
"surname":"Runner"
},
"street":"Neptunusstraat",
"houseNumber":"13b",
"zip":"2132JA",
"city":"Hoofddorp",
"countryCode":"NL"
}
},
"customer":{
"personalInformation":{
"name":{
"title":"Mr.",
"firstName":"Wile",
"surnamePrefix":"E.",
"surname":"Coyote"
},
"dateOfBirth":"19490917"
},
"locale":"en-NL",
"billingAddress":{
"street":"Neptunusstraat",
"houseNumber":"13b",
"zip":"2132JA",
"city":"Hoofddorp",
"countryCode":"NL"
},
"contactDetails":{
"emailAddress":"Johnia.Doe@outlook.com",
"phoneNumber":"0636469107"
}
},
"shoppingCart":{
"items":[
{
"amountOfMoney":{
"currencyCode":"EUR",
"amount":2500
},
"invoiceData":{
"description":"ACME Super Outfit"
},
"orderLineDetails":{
"productName":"ACME12",
"discountAmount":0,
"productCode":"ASO45",
"productPrice":500,
"productType":"CLOTH",
"quantity":5,
"taxAmount":0,
"unit":"piece"
}
},
{
"amountOfMoney":{
"currencyCode":"EUR",
"amount":480
},
"invoiceData":{
"description":"Asperin"
},
"orderLineDetails":{
"productName":"ASPIRIN",
"discountAmount":0,
"productCode":"ASP01",
"productPrice":480,
"productType":"MEDIC",
"quantity":1,
"taxAmount":0,
"unit":"piece"
}
}
]
}
},
"hostedCheckoutSpecificInput":{
"returnUrl":"https://yourShopUrl.com"
},
"redirectPaymentMethodSpecificInput":{
"paymentProductId":3301
}
}
Properties Remarks

order.customer.contactDetails
     emailAddress
     phoneNumber

Your customer's e-mail address/phone number.

order.shipping.address.name
     name
          title
          firstName
          surname

     street
     houseNumber
     zip
     city
     countryCode

Your customer's shipping address.

order.customer
     personalInformation
          name
               title
               firstName
               surname
     dateOfBirth

Your customer's personal information.

hostedCheckoutSpecificInput.locale

The language version of our Hosted Checkout Page and the Klarna portal. Mind that Klarna supports different languages than our Hosted Checkout Page.

 billingAddress
     street
     houseNumber
     zip
     city
     countryCode

Your customer's billing address.

shoppingCart.items
     amountOfMoney
          currencyCode
          amount
     invoiceData.description
     orderLineDetails
          productName
          discountAmount
          productCode
          productPrice
          productType
          quantity
          taxAmount
          unit

The content of the shopping cart as an array of items objects.

amountOfMoney.amount: The full amount of the items, calculated as orderLineDetails.productPrice X orderLineDetails.quantity

. Make sure to calculate the value for order.amountOfMoney.amount by adding up all instances of shoppingCart.items.amountOfMoney.amount .

.hostedCheckoutSpecificInput.returnUrl

returnUrl : The URL we redirect your customers to after the payment has been finalised.

redirectPaymentMethodSpecificInput.paymentProductId

The numeric identifier of the payment method on our platform. It instructs our platform to send your customers directly to the Klarna portal. If omitted, our platform sends your customers to the Hosted Checkout Page instead, allowing them to choose this or any other payment method that is active in your account.

Find detailed information about this object and its properties in our CreateHostedCheckoutAPI.

When processing Klarna transactions, keep the following in mind:

Process flows

  1. Your customers finalise an order in your shop and select Klarna.
  2. You send this CreateHostedCheckout to our platform.
  3. You redirect your customers via the redirectUrl to the Klarna portal. They select their preferred payment method and confirm the order with their credentials.
  4. We receive the transaction result.
  5. We redirect your customer to your returnUrl.
  6. You request the transaction result from our platform via GetHostedCheckout or receive the result via webhooks.
  7. If the transaction was successful, you can deliver the goods / services.
This graphic shows the individual steps in the payment flow of an Klarna transaction.

Testing

Refer to our Test cases for test data and detailed instructions.

Make sure to use the right endpoint and switch back to the live URL as soon as you have finished your tests.

Additional information

Integration with Billie

Billie is a B2B variant of Pay Later/Pay Later (Pay in 3), offering both you and your customers various benefits (i.e. individual payment arrangements, protection from payment defaults).

The integration is almost identical to other Klarna payment methods, but requires you to add property order.customer.companyInformation.name to your CreateHostedCheckout request: 

{
  "hostedCheckoutSpecificInput": {
    "locale": "de_DE",
    "returnUrl": "https://yourReturnUrl.com"
  },
  "order": {
    "amountOfMoney": {
      "amount": 6108,
      "currencyCode": "EUR",
      "taxAmount": 0
    },    
    "customer": {
      "type": "organization",
      "organization_entity_type": "REGISTERED_SOLE_TRADER",
      "organization_registration_id": "HRB 934855",
      "vat_id": "DE812345678",
      "companyInformation": {
        "name": "Zeta Electronics Gold GmbH"
      },
      "billingAddress": {
        "city": "Haslach im Kinzigtal",
        "countryCode": "DE",
        "houseNumber": "4",
        "street": "Tannenweg",
        "zip": "77716"        
      },
      "personalInformation": {
        "name": {
          "title": "Mr.",
          "firstName": "Wile",
          "surnamePrefix": "E.",
          "surname": "Coyote"
        }
      },
      "contactDetails": {
        "emailAddress": "test@test.de",
        "mobilePhoneNumber": "+43123456789"
      },
      "locale": "de_AT",
      "personalInformation": {
        "name": {
          "firstName": "Jack",
          "surname": "Black",
          "title": "Male"
        }
      }
    },
    "discount": {
      "amount": 0
    },
    "shipping": {
      "address": {
        "city": "Haslach im Kinzigtal",
        "countryCode": "DE",
        "houseNumber": "4",
        "name": {
          "firstName": "Test",
          "surname": "Test",
          "title": "Male"
        },
        "street": "Tannenweg",
        "zip": "77716"
      },
      "emailAddress": "test@test.de",
      "method": {
        "name": "DELIVERY"
      },
      "shippingCost": 500
    },
    "shoppingCart": {
      "items": [
        {
          "amountOfMoney": {
            "amount": 1018,
            "taxAmount": 0,
            "currencyCode": "EUR"
          },
          "invoiceData": {
            "description": "+20% Reservierung"
          },
          "orderLineDetails": {
            "productName": "+20% Reservierung",
            "productPrice": 1018,
            "productType": "+20% Reservierung",
            "quantity": 1,
            "taxAmount": 0,
            "taxRate": 0
          }
        },
        {
          "amountOfMoney": {
            "amount": 4590,
            "taxAmount": 0,
            "currencyCode": "EUR"
          },
          "invoiceData": {
            "description": "Your-description"
          },
          "orderLineDetails": {
            "productCode": "00-636234",
            "productName": "Hendrick's Gin",
            "productPrice": 4590,
            "productType": "Getränke",
            "quantity": 1,
            "unit": "Flasche",
            "taxAmount": 0,
            "taxRate": 0
          }
        }
      ]
    }
  }
}
  • Mind that Billie shares the same paymentProductId=3302 with Pay Later/Pay Later (Pay in 3).
  • If any of the Billie-specific properties are missing or incorrect, our platform will process your request as a standard Pay Later/Pay Later (Pay in 3) transaction.

Testing

  • To perform test transactions, you need to have an agreement with Klarna to use Billie.
  • Use the JSON sample in the "Integration with Billie" chapter to perform tests.

Make sure to use the right endpoint and switch back to the live URL as soon as you have finished your tests.

Was this page helpful?

Do you have any comments?

Thank you for your response.
New Feature

Try out our new chatbot and find answers to all your questions.