About Klarna Payments

General information about Klarna Payments

Klarna offers three different payment methods within the new Klarna KP API via : Invoice and hire purchase (Pay Later & Pay over time) as well as Sofort + secured direct debit (Pay Now). Merchants pass on all the invoice data during the order to the service provider, who then takes over the complete billing and debtor management. That than takes over the complete billing and downstream debtor management. As merchant you get a payment guarantee; no matter what payment method the customer chooses. Thereby your customers get financial flexibility with Klarna, as they can choose themselves between invoice purchase and hire purchase. In the case of purchase by instalment merchants can also specify the instalment amounts and dates of repayment. Merchants can use the billing solution also for their B2B commerce.

Rate payment at the online shop motivates your customers to order high value baskets. This also increases your turnover. Klarna guarantees online consents in seconds for purchases by instalment during the order process. A PostIdent-process is not necessary. Klarna transfers the invoice amount to the merchant and bears the non-payment risk themselves. As merchant you benefit from rapidly available liquidity.

All three payment methods with restrictions of secured direct debit are available in the following countries with their respective domestic currency: Germany, Austria, Netherlands, Danmark, Sweden, Norway, Finland, United Kingdom, USA, Switzerland, Australia, Belgium, Spain, Italy, Ireland, Poland, Portugal, France und Canada.


Logo

Info

can handle purchase on account and financing from Klarna. Merchants benefit from a payment guarantee and short payment due dates.

As third possibility Klarna integrated the payment with Sofort transfer and secured direct debit.

TypeMixed payment methods

 

Further information can be found on Klarna's website (https://www.klarna.de).

Klarna Payments distinguishes between direct connection and the Klarna Hosted Payment Page (HPP).

Please note that the capture (capture.aspx) has to be done manually in order to process the payment and to initiate the money flow.

Process flow chart direct connection

 

Process flow Klarna Payments direct connection

Process flow chart HPP

 

Process flow Klarna Payments HPP


With direct connection a separate JavaScript widget is included for each payment method. With the HPP a complete checkout page will be displayed where all or some selected payment methods are displayed. Widgets as well as the HPP are loaded from a Klarna server.



interface


Create Klarna session for direct connection

Before Klarna widgets can be loaded a Klarna session must be created which returns an AccessToken. This AccessToken has to be used for loading the widgets. In order to start a Klarna session via server-to-server communication, please use the following URL:

KlarnaPayments.aspx

 

Key

REST

Format

CND

Description

Beschreibung

TaxAmount

"amount": { "taxTotal": ...}

n..10

M

Gross amount of value added tax in the smallest currency unit (e.g. EUR Cent). The amount may not be negative.

Notice: The VAT included is calculated for 19% with the formula =gross prices / 1.19 * 0.19.

Please contact the , if you want to capture amounts < 100 (smallest currency unit).

Gesamtbetrag der MwSt. in der kleinsten Währungseinheit (z.B. EUR Cent). Der Betrag darf nicht negativ sein.

Hinweis: Die enthaltene MwSt. berechnet sich bei 19% mit der Formel =Bruttopreis / 1,19 * 0,19.

Bitte wenden Sie sich an den , wenn Sie Beträge < 100 (kleinste Währungseinheit) buchen möchten.

Key

REST

Format

CND

Description

Beschreibung

bdCountryCode

"billing": {"addressInfo": { "country": { "A2": "..." }}}

a2

M

Country code for the invoicing address, 2 characters according to ISO 3166-1. Allowed are Germany <DE>, Austria <AT>, Netherlands <NL>, Denmark <DK>, Sweden <SE>, Norway <NO>, Finland <FI>, Great Britain <GB>, USA <US>, Switzerland (CH), Australia (AU), Belgium <BE>, Spain (ES), Italy <IT>, Ireland <IE>, Poland <PL>, <PT> Portugal, <FR> France and <CA> Canada.

Ländercode der Rechnungsadresse zweistellig gemäß ISO-3166-1. Erlaubt sind Deutschland <DE>, Österreich <AT>, Niederlande <NL>, Dänemark <DK>, Schweden <SE>, Norwegen <NO>, Finnland <FI>, Großbritannien <GB>, USA <US>, Schweiz <CH>, Australien <AU>, Belgien <BE>, Spanien (ES), Italien <IT>, Irland <IE>, Polen <PL>, <PT> Portugal, <FR> Frankreich und <CA> Kanada.
bdFirstName"billing": {"consumer": { "firstName": "..." }}ans..30C

First name. Optional – if submitted, all parameters bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity must be submitted.

Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.

Vorname. Optional – wenn angegeben, müssen alle Parameter bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity übergeben werden.

Darf nicht nur aus Zahlen bestehen und muss aus mehr als 1 Zeichen bestehen. Erlaubte Sonderzeichen: -''.

bdLastName"billing": {"consumer": { "lastName": "..." }}ans..30C

Last name. Optional – if submitted, all parameters bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity must be submitted.

Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.

Nachname. Optional – wenn angegeben, müssen alle Parameter bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity übergeben werden.

Darf nicht nur aus Zahlen bestehen und muss aus mehr als 1 Zeichen bestehen. Erlaubte Sonderzeichen: -''.

bdEmail"billing": {"contactInfo": { "email": "..." }}ans..80C

Email address. Optional – if submitted, all parameters bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity must be submitted.

Must include @ and domain.

E-Mail-Adresse. Optional – wenn angegeben, müssen alle Parameter bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity übergeben werden.

Muss @ und Domain enthalten.

bdCompany"billing": {"business": { "companyLegalName": "..." }}ans..200CCompany name, mandatory for B2B, must be the same as sdCompany.Firmenname, Pflichtparameter für B2B, muss identisch sein mit sdCompany.
bdRegion"billing": {"addressInfo": { "region": "..." }}ans..40ORegionGebiet
bdTitle"billing": {"consumer": { "salutation": "..." }}ans..20OTitle of customer or contact person, e.g. Dr. or Prof.Titel des Kunden oder der Kontaktperson, z.B. Dr. oder Prof.
bdStreet"billing": {"addressInfo": { "addressLine1": {"street+streetNumber": "..." }}}a..32C

Street and street number. Optional – if submitted, all parameters bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity must be submitted.

Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \

Straße und Hausnummer. Optional – wenn angegeben, müssen alle Parameter bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity übergeben werden.

Erlaubte Sonderzeichen: -'´`",.:;#&/()+@ °ºᵃª_ \

bdZip"billing": {"addressInfo": { "postalCode": "..." }}n..5CPostal code. Optional – if submitted, all parameters bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity must be submitted.Postleitzahl. Optional – wenn angegeben, müssen alle Parameter bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity übergeben werden.
bdCity"billing": {"addressInfo": { "city": "..." }}a..32CTown/city. Optional – if submitted, all parameters bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity must be submitted.Ort. Optional – wenn angegeben, müssen alle Parameter bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity übergeben werden.
bdAddressAddition"billing": {"addressInfo": { "addressLine2": "..." }}ans..60OAdditional/supplementary address lineZusätzliche/ergänzende Adresszeile
sdCountryCode"shipping": {"addressInfo": { "country": { "A2": "..." }}}a2OCountry code for the delivery address, 2 characters according to ISO 3166-1. Allowed are Germany <DE>, Austria <AT>, Netherlands <NL>, Denmark <DK>, Sweden <SE>, Norway <NO>, Finland <FI>, Great Britain <GB>, USA <US>, Switzerland (CH), Australia (AU), Belgium <BE>, Spain (ES), Italy <IT>, Ireland <IE>, Poland <PL>, <PT> Portugal, <FR> France and <CA> Canada.Ländercode der Lieferadresse zweistellig gemäß ISO-3166-1. Erlaubt sind Deutschland <DE>, Österreich <AT>, Niederlande <NL>, Dänemark <DK>, Schweden <SE>, Norwegen <NO>, Finnland <FI>, Großbritannien <GB>, USA <US>, Schweiz <CH>, Australien <AU>, Belgien <BE>, Spanien (ES), Italien <IT>, Irland <IE>, Polen <PL>, <PT> Portugal, <FR> Frankreich und <CA> Kanada.
sdFirstName"shipping": {"consumer": { "firstName": "..." }}ans..30O

First name. Optional – if submitted, all parameters sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity must be submitted.

Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.

Vorname. Optional – wenn angegeben, müssen alle Parameter sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity übergeben werden.

Darf nicht nur aus Zahlen bestehen und muss aus mehr als 1 Zeichen bestehen. Erlaubte Sonderzeichen: -''.

sdLastName"shipping": {"consumer": { "lastName": "..." }}ans..30O

Last name. Optional – if submitted, all parameters sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity must be submitted.

Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.

Nachname. Optional – wenn angegeben, müssen alle Parameter sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity übergeben werden.

Darf nicht nur aus Zahlen bestehen und muss aus mehr als 1 Zeichen bestehen. Erlaubte Sonderzeichen: -''.

sdEmail"shipping": {"contactInfo": { "email": "..." }}ans..80O

Email address. Optional – if submitted, all parameters sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity must be submitted.

Must include @ and domain.

E-Mail-Adresse. Optional – wenn angegeben, müssen alle Parameter sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity übergeben werden.

Muss @ und Domain enthalten.

sdCompany"shipping": {"business": { "companyLegalName": "..." }}ans..200CCompany name, mandatory for B2B, must be the same as bdCompany.Firmenname, Pflichtparameter für B2B, muss identisch sein mit bdCompany.
sdRegion"shipping": {"addressInfo": { "region": "..." }}ans..40ORegionGebiet
sdTitle"shipping": {"consumer": { "salutation": "..." }}ans..20OTitle of customer or contact person, e.g. Dr. or Prof.Titel des Kunden oder der Kontaktperson, z.B. Dr. oder Prof.
sdStreet"shipping": {"addressInfo": { "addressLine1": {"street+streetNumber": "..." }}}a..32O

Street and street number. Optional – if submitted, all parameters sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity must be submitted.

Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \

Straße und Hausnummer. Optional – wenn angegeben, müssen alle Parameter sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity übergeben werden.

Erlaubte Sonderzeichen: -'´`",.:;#&/()+@ °ºᵃª_ \

sdZip"shipping": {"addressInfo": { "postalCode": "..." }}n..5OPostal code. Optional – if submitted, all parameters sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity must be submitted.Postleitzahl. Optional – wenn angegeben, müssen alle Parameter sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity übergeben werden.
sdCity"shipping": {"addressInfo": { "city": "..." }}a..32OTown/city. Optional – if submitted, all parameters sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity must be submitted.Ort. Optional – wenn angegeben, müssen alle Parameter sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity übergeben werden.
sdAddressAddition"shipping": {"addressInfo": { "addressLine2": "..." }}ans..60OAdditional/supplementary address lineZusätzliche/ergänzende Adresszeile
Language"language": "..."a2MLanguage for displaying the widgets: DE - German, DK - Danish, FI - Finnish, SE - Swedish, NO - Norwegian, NL - Dutsch, FR - French, IT - Italian, EN - English, ES - Spanish, CA - Catalan, PL - PolishSprache, in der die Widgets angezeigt werden sollen: DE - deutsch, DK - dänisch, FI - finnisch, SE - schwedisch, NO - norwegisch, NL - niederländisch, FR - französisch, IT - italienisch, EN - englisch, ES - Spanisch, CA - katalanisch, PL - polnisch

Key

REST

Format

CND

Description

Beschreibung
IPAddr"browserInfo": {"ipAddress": "..."}

ans..15

O

IP address of the client in the format IPv4 or IPv6

IP-Adresse des Clients im Format IPv4 oder IPv6
Account"payment": {"klarna": { "accountName": "..." }}

ans..12

M

Within several Klarna user names can be stored on one MerchantID and controlled by the parameter Account. By default, please use the value "0", if you have several Klarna accounts, the values must be agreed with .

Im können mehrere Klarna-Benutzernamen auf einer MerchantID hinterlegt und durch den Parameter Account angesteuert werden. Standardmäßig verwenden Sie bitte den Wert "0", bei mehreren Klarna-Accounts stimmen Sie die Werte bitte mit ab.

ArticleList"order": {"items": "..."}

ans..2048

M

Complete article list of the order. This parameter must be created in JSON format.


The individual parameters in JSON format are following:

name = Product name (mandatory)

quantity = item quantity. The value may not be negative. (mandatory)

unit_price = unit price inclusive taxes but without rebates. (mandatory)

total_amount = total amount of iarticles inclusive taxes and rebates. (mandatory)

image_url = URL for an image that can be embedded later in agreement with Klarna. (max. 1024 characters)

merchant_data = "pass-through parameter" (max. 255 characters). Merchant must agree with Klarna what will be transmitted here.

product_identifiers.brand = product brand

product_identifiers.category_path = path of product category. As separator '>' has to be used.

product_identifiers.global_trade_item_number = article number (e.g. EAN, ISBN or UPC).

product_identifiers.manufacturer_part_number = manufacturer’s number

product_url = URL to product image

quantity_unit = unit of quantity (e.g. kg)

reference = article number (e.g. SKU)

tax_rate = tax rate as percentage (e.g. 25%). The percent sign must be replaced with two zeros, thus for example 2500. The value may not be negative. (mandatory)

total_discount_amount = total amount of rebate. The value may not be negative.

total_tax_amount = total amount of taxes. The value may be negative, if type is 'discount'. (mandatory)

type = type of item position. Possible entries are <physical>, <discount>, <shipping_fee>, <sales_tax>, <digital>, <gift_card>, <store_credit>, <surcharge>

{
	"order_lines": [
		{
			"image_url": "https://www.exampleobjects.com/logo.png",
			"merchant_data": "",
			"name": "Battery Power Pack",
			"product_identifiers": {
				"brand": "Intel",
				"category_path": "Electronics Store > Computers & Tablets > Desktops",
				"global_trade_item-number": "735858293167",
				"manufacturer_part_number": "BOXNUC5CPYH"
			},
			"product_url": "https://www.estore.com/products/f2a8d7e34",
			"quantity": 1,
			"quantity_unit": "kg",
			"reference": "19-402-USA",
			"tax_rate": 0,
			"total_amount": 1000,
			"total_discount_amount": 0,
			"total_tax_amount": 0,
			"type": "physical",
			"unit_price": 1000
		}
	]
}

Afterwards the article list created in JSON format must be Base64 encoded.

Komplette Artikelliste der Bestellung. Dieser Parameter muss im JSON-Format erstellt werden.


Die einzelnen Parameter im JSON-Format sind folgende:

name = Produktname (Pflicht)

quantity = Artikelmenge. Der Wert darf nicht negativ sein. (Pflicht)

unit_price = Einzelpreis inkl. Steuern aber exkl. Rabatte. (Pflicht)

total_amount = Gesamtbetrag der Artikel inkl. Steuern und Rabatte. (Pflicht)

image_url = URL zu einem Bild, welches später in Absprache mit Klarna eingebettet werden kann. (max. 1024 Zeichen)

merchant_data = "Durchreich-Parameter" (max. 255 Zeichen). Was hier übermittelt wird, muss mit Klarna abgestimmt werden.

product_identifiers.brand = Produktmarke

product_identifiers.category_path = Pfad der Produktkategorie. Als Trennzeichen muss '>' verwendet werden.

product_identifiers.global_trade_item_number = Artikelnummer (z.B. EAN, ISBN oder UPC).

product_identifiers.manufacturer_part_number = Herstellernummer

product_url = URL zum Produktbild

quantity_unit = Mengeneinheit (z.B. kg)

reference = Artikelnummer (z.B. SKU)

tax_rate = Steuersatz in Prozent (z.B. 25%). Das Prozentzeichen muss durch zwei Nullen ersetzt werden, also zum Beispiel 2500. Der Wert darf nicht negativ sein. (Pflicht)

total_discount_amount = Gesamtbetrag des Rabattes. Der Wert darf nicht negativ sein.

total_tax_amount = Gesamtbetrag der Steuern. Der Wert darf negativ sein, wenn der type 'discount' ist. (Pflicht)

type = Typ der Artikelposition. Mögliche Werte sind <physical>, <discount>, <shipping_fee>, <sales_tax>, <digital>, <gift_card>, <store_credit>, <surcharge>

{
	"order_lines": [
		{
			"image_url": "https://www.exampleobjects.com/logo.png",
			"merchant_data": "",
			"name": "Battery Power Pack",
			"product_identifiers": {
				"brand": "Intel",
				"category_path": "Electronics Store > Computers & Tablets > Desktops",
				"global_trade_item-number": "735858293167",
				"manufacturer_part_number": "BOXNUC5CPYH"
			},
			"product_url": "https://www.estore.com/products/f2a8d7e34",
			"quantity": 1,
			"quantity_unit": "kg",
			"reference": "19-402-USA",
			"tax_rate": 0,
			"total_amount": 1000,
			"total_discount_amount": 0,
			"total_tax_amount": 0,
			"type": "physical",
			"unit_price": 1000
		}
	]
}

Anschließend muss die im JSON-Format erstellte Artikelliste Base64 encodiert werden.

EnhancedData"payment": {"klarna": { "enhancedData": "..." }}

ans..2048

O

Additional customer and order information for Klarna risk management. Merchant must agree with Klarna which data will be transmitted here. This parameter must be created in JSON format.

{
	"marketplace_seller_info": [
		{
			"product_category": "Women's Fashion",
			"product_name": "Women Sweatshirt"
		}
	]
}

Afterwards the additional information created in JSON format must be Base64 encoded.

Zusätzliche Kunden- und Bestellinformationen für das Klarna Risikomanagement. Welche Daten hier übermittelt werden, muss mit Klarna vereinbart werden. Dieser Parameter muss im JSON-Format erstellt werden.

{
	"marketplace_seller_info": [
		{
			"product_category": "Women's Fashion",
			"product_name": "Women Sweatshirt"
		}
	]
}

Anschließend müssen die im JSON-Format erstellten Zusatzinformationen Base64 encodiert werden.

Layout"payment": {"klarna": { "layout": "..." }}

ans..2048

O

Layout parameters for Klarna widgets. This parameter must be created in JSON format.

{
	"options": {
		"color_border": "#FF9900",
		"color_border_selected": "#FF9900",
		"color_button": "#FF9900",
		"color_button_text": "#FF9900",
		"color_checkbox": "#FF9900",
		"color_checkbox_checkmark": "#FF9900",
		"color_details": "#FF9900",
		"color_header": "#FF9900",
		"color_link": "#FF9900",
		"color_text": "#FF9900",
		"color_text_secondary": "#FF9900",
		"radius_border": "5px"
	}
}

Afterwards the layout parameters created in JSON format must be Base64 encoded.

Layout-Parameter für die Klarna-Widgets. Dieser Parameter muss im JSON-Format erstellt werden.

{
	"options": {
		"color_border": "#FF9900",
		"color_border_selected": "#FF9900",
		"color_button": "#FF9900",
		"color_button_text": "#FF9900",
		"color_checkbox": "#FF9900",
		"color_checkbox_checkmark": "#FF9900",
		"color_details": "#FF9900",
		"color_header": "#FF9900",
		"color_link": "#FF9900",
		"color_text": "#FF9900",
		"color_text_secondary": "#FF9900",
		"radius_border": "5px"
	}
}

Anschließend müssen die im JSON-Format erstellten Layout-Parameter Base64 encodiert werden.

URLConfirm"urls": {"confirm": "..."}

ans..256

M

Final URL for order confirmation to which Klarna forwards the customer after the order is successfully created within the Klarna system

Finale Bestellbestätigungs-URL, auf die Klarna den Kunden leitet, nachdem die Bestellung im Klarna-System erfolgreich angelegt wurde.
URLNotify"urls": {"notify": "..."}

ans..256

O

Complete URL which  calls up in order to notify the shop about the payment result, if a PENDING transaction was finalized. The URL may be called up only via port 443 It may not contain parameters: Use the UserData parameter instead.

Processing of PENDING transactions must be activated at  as well as Klarna. URLNotify can also be stored with .

Vollständige URL, die das  aufruft, um den Shop zu benachrichtigen, wenn eine PENDING-Transaktion finalisiert wurde. Die URL darf nur über Port 443 aufgerufen werden. Sie darf keine Parameter enthalten: Nutzen Sie stattdessen den Parameter UserData.

Die Verarbeitung von PENDING-Transaktionen muss sowohl bei also auch bei Klarna freigeschaltet sein. Die URLNotify kann auch bei  hinterlegt werden.

PayType"payment": {"klarna": { "paymentType": "..." }}

as..32

M

Customer selected Klarna payment method. Possible entries are Pay immediately (pay_now, direct_debit or direct_bank_transfer), Pay later (pay_later), Pay in installments (pay_over_time) or One Klarna (klarna).

Vom Kunden ausgewählte Klarna-Zahlungsart. Mögliche Werte sind Sofort bezahlen (pay_now, direct_debit oder direct_bank_transfer), Später bezahlen (pay_later), In Raten bezahlen (pay_over_time) oder One Klarna (klarna).
Key

Format

CND

Personal details of customer

Personendaten des Kunden
DateOfBirth"billing": {"consumer": { "birthdate": "..." }}

dttm

O

Date of birth in the format YYYY-MM-DD

Geburtsdatum im Format JJJJ-MM-TT
Gender"billing": {"consumer": { "gender": "..." }}

a..15

O

Gender <female> for female, <male> for male

Geschlecht <female> für weiblich, <male> für männlich
Title"billing": {"consumer": { "salutation": "..." }}

a..12

O

Salutation

Anrede
SocialSecurityNumber"billing": {"consumer": { "socialSecurityNumber": "..." }}

a..5

O

Private individuals: The last four or five digits of the social security number. Not in DE, AT and NL. Obligatory field in SE, FI, DK with 4-digit value (NNNN). Obligatory field in NO with 5-digit value (NNNNN).

Bei Privatpersonen: Die letzten vier bis fünf Stellen der Sozialversicherungsnummer. Nicht in DE, AT und NL. Pflichtfeld in SE, FI, DK mit 4-stelligem Wert (NNNN). Pflichtfeld in NO mit 5-stelligem Wert (NNNNN).
PersonID"billing": {"consumer": { "consumerId": "..." }}

ans..15

O

National identity number. Is necessary for example for a visa to entry the USA. For that purpose the serial number on the upper right side of the iodentity card may be used.

Nationale Identitätsnummer. Wird zum Beispiel für das Visum für die Einreise in die USA benötigt. Hierfür kann die Seriennummer rechts oben auf dem Personalausweis verwendet werden.
LegalForm"payment": {"klarna": { "legalForm": "..." }}

ans..50

C

Type of company. Mandatory for B2B. Following values are possible:

  • LIMITED_COMPANY
  • PUBLIC_LIMITED_COMPANY
  • ENTREPRENEURIAL_COMPANY
  • LIMITED_PARTNERSHIP_LIMITED_COMPANY
  • LIMITED_PARTNERSHIP
  • GENERAL_PARTNERSHIP
  • REGISTERED_SOLE_TRADER
  • SOLE_TRADER
  • CIVIL_LAW_PARTNERSHIP
  • PUBLIC_INSTITUTION
  • OTHER

Firmentyp. Pflichtparameter für B2B. Folgende Werte sind möglich:

  • LIMITED_COMPANY
  • PUBLIC_LIMITED_COMPANY
  • ENTREPRENEURIAL_COMPANY
  • LIMITED_PARTNERSHIP_LIMITED_COMPANY
  • LIMITED_PARTNERSHIP
  • GENERAL_PARTNERSHIP
  • REGISTERED_SOLE_TRADER
  • SOLE_TRADER
  • CIVIL_LAW_PARTNERSHIP
  • PUBLIC_INSTITUTION
  • OTHER
CompanyID"billing": {"business": { "companyRegistrationNumber": "..." }}

ans..15

O

For companies: Register of Companies number, only relevant but not mandatory for B2B.

Bei Unternehmen: Handelsregisternummer, nur für B2B von Bedeutung, aber kein Pflichtparameter.
CompanyOrPerson

a2

O

Indication whether it is e company or a person.

<C> for companies, <P> for persons

Please note that Klarna does not allow B2B transactions by default. Please contact Klarna if you also want to use the payment method for B2B transactions.

Angabe, ob es sich um eine Firma oder eine Person handelt.

<C> für Firmen, <P> für Personen

Bitte beachten Sie, dass seitens Klarna standardmäßig keine B2B-Transaktionen möglich sind. Bitte wenden Sie sich an Klarna, falls Sie die Zahlart auch für B2B-Transaktionen verwenden möchten.

VatID"payment": {"klarna": { "vatId": "..." }}

ans..15

O

VAT identification number, only relevant but not mandatory for B2B.

Umsatzsteuer-Identifikationsnummer, nur für B2B von Bedeutung, aber kein Pflichtparameter.

Parameters for creating a session with Klarna Payments


Key

REST

Format

CND

Description

Beschreibung

Status

"status": "AUTHORIZE_REQUEST"

"status": "FAILED"

a..50

M

AUTHORIZE_REQUEST (URLSuccess) and FAILED (URLFailure)

AUTHORIZE_REQUEST (URLSuccess) und FAILED (URLFailure)

Key

REST

Format

CND

Description

Beschreibung
Code"code": ...n1..8M

Error code according to  Response Codes (A4 Error codes). Code "0": Please make now the authorisation via Klarna widget within the frontend.

Fehlercode gemäß  Antwort-Codes (A4 Fehlercodes). Code "0": Führen Sie nun die Autorisierung über das Klarna Widget im Frontend durch.

CodeExt

"externalErrorCode": ...

ans..50

O

Error code from Klarna, if agreed with

Fehlercode von Klarna, wenn mit  abgesprochen

ErrorText

"errorText": "..."

ans..1024

O

Error text from Klarna, if agreed with

Fehlertext von Klarna, wenn mit  abgesprochen

AccessToken

"payment": { "accessToken": "..." }

ans..2048

O

Client token from Klarna. In order to be able to subsequently show the Klarna widgets, the Klarna JavaScript-API must be initialized with this token.

Client-Token von Klarna. Um anschließend die entsprechenden Klarna-Widgets anzeigen zu können, muss die Klarna JavaScript-API mit diesem Token initialisiert werden.

PayType

"payment": { "paymentType": "..." }

enum

O

Customer selected Klarna payment method. Possible entries are Pay immediately (pay_now, direct_debit and direct_bank_transfer), Pay later (pay_later), Pay in installments (pay_over_time) or One Klarna (klarna). The returned value determines which widgets are allowed to be loaded.

Vom Kunden ausgewählte Klarna-Zahlungsart. Mögliche Werte sind Sofort bezahlen (pay_now, direct_debit und direct_bank_transfer), Später bezahlen (pay_later), In Raten bezahlen (pay_over_time) oder One Klarna (klarna). Der zurückgegebene Wert entscheidet darüber, welche Widgets geladen werden dürfen.

Response parameters for creating a session with Klarna Payments



Show Klarna widgets

Klarna uses widgets in order to show customers the possible payment methods. The available payment methods for selecting depend on the previously selected category (see Create Klarna Session, PayType). The widget integration is done with the AccessToken (see Create Klarna Session, AccessToken) and the Klarna JavaScript SDK. How to integrate and initialise the Klarna JavaScript SDK and how to load the widgets is described on Klarna webpage:

https://docs.klarna.com/klarna-payments/integrate-with-klarna-payments/step-2-check-out/21-display-the-klarna-widget/

After successful authorisation you will get an authorisation token (TokenExt) which has to be used for creating an order.


Create Klarna session for the HPP

In order to process a payment via Klarna HPP, please use the following URL:

KlarnaPaymentsHPP.aspx

 

Key

REST

Format

CND

Description

Beschreibung

TaxAmount

"amount": { "taxTotal": ...}

n..10

M

Gross amount of value added tax in the smallest currency unit (e.g. EUR Cent). The amount may not be negative.

Notice: The VAT included is calculated for 19% with the formula =gross prices / 1.19 * 0.19.

Please contact the helpdesk, if you want to capture amounts < 100 (smallest currency unit).

Gesamtbetrag der MwSt. in der kleinsten Währungseinheit (z.B. EUR Cent). Der Betrag darf nicht negativ sein.

Hinweis: Die enthaltene MwSt. berechnet sich bei 19% mit der Formel =Bruttopreis / 1,19 * 0,19.

Bitte wenden Sie sich an den Helpdesk, wenn Sie Beträge < 100 (kleinste Währungseinheit) buchen möchten.

Key

REST

Format

CND

Description

Beschreibung
RTF---a1O

For repeat payments (subscriptions): I = Initial payment of a new subscription, R = Routine payment (Recurring).

Due to the call of the HPP is always an initial payment of a subscription the value I must be transferred.

Bei wiederkehrenden Zahlungen (Abos): I = Initialzahlung eines neuen Abos, R = Wiederkehrende Zahlung (Recurring).

Da es sich beim Aufruf der HPP immer um die Initialzahlung eines Abos handelt, muss der Wert I übergeben werden.

bdCountryCode

"billing": {"addressInfo": { "country": { "A2": "..." }}}

a2

M

Country code for the invoicing address, 2 characters according to ISO 3166-1. Allowed are Germany <DE>, Austria <AT>, Netherlands <NL>, Denmark <DK>, Sweden <SE>, Norway <NO>, Finland <FI>, Great Britain <GB>, USA <US>, Switzerland (CH), Australia (AU), Belgium <BE>, Spain (ES), Italy <IT>, Ireland <IE>, Poland <PL>, <PT> Portugal, <FR> France and <CA> Canada.

Ländercode der Rechnungsadresse zweistellig gemäß ISO-3166-1. Erlaubt sind Deutschland <DE>, Österreich <AT>, Niederlande <NL>, Dänemark <DK>, Schweden <SE>, Norwegen <NO>, Finnland <FI>, Großbritannien <GB>, USA <US>, Schweiz <CH>, Australien <AU>, Belgien <BE>, Spanien (ES), Italien <IT>, Irland <IE>, Polen <PL>, <PT> Portugal, <FR> Frankreich und <CA> Kanada.
bdFirstName"billing": {"consumer": { "firstName": "..." }}ans..30M

First name. Optional – if submitted, all parameters bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity must be submitted.

Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.

Vorname. Optional – wenn angegeben, müssen alle Parameter bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity übergeben werden.

Darf nicht nur aus Zahlen bestehen und muss aus mehr als 1 Zeichen bestehen. Erlaubte Sonderzeichen: -''.

bdLastName"billing": {"consumer": { "lastName": "..." }}ans..30M

Last name. Optional – if submitted, all parameters bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity must be submitted.

Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.

Nachname. Optional – wenn angegeben, müssen alle Parameter bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity übergeben werden.

Darf nicht nur aus Zahlen bestehen und muss aus mehr als 1 Zeichen bestehen. Erlaubte Sonderzeichen: -''.

bdEmail"billing": {"contactInfo": { "email": "..." }}ans..80M

Email address. Optional – if submitted, all parameters bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity must be submitted.

Must include @ and domain.

E-Mail-Adresse. Optional – wenn angegeben, müssen alle Parameter bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity übergeben werden.

Muss @ und Domain enthalten.

bdCompany"billing": {"business": { "companyLegalName": "..." }}ans..200CCompany name, mandatory for B2B, must be the same as sdCompany.Firmenname, Pflichtparameter für B2B, muss identisch sein mit sdCompany.
bdRegion"billing": {"addressInfo": { "region": "..." }}ans..40ORegionRegion
bdTitle"billing": {"consumer": { "salutation": "..." }}ans..20OTitle of customer or contact person, e.g. Dr. or Prof.Titel des Kunden oder der Kontaktperson, z.B. Dr. oder Prof.
bdStreet"billing": {"addressInfo": { "addressLine1": {"street+streetNumber": "..." }}}a..32M

Street and street number. Optional – if submitted, all parameters bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity must be submitted.

Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \

Straße und Hausnummer. Optional – wenn angegeben, müssen alle Parameter bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity übergeben werden.

Erlaubte Sonderzeichen: -'´`",.:;#&/()+@ °ºᵃª_ \

bdZip"billing": {"addressInfo": { "postalCode": "..." }}n..5MPostal code. Optional – if submitted, all parameters bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity must be submitted.Postleitzahl. Optional – wenn angegeben, müssen alle Parameter bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity übergeben werden.
bdCity"billing": {"addressInfo": { "city": "..." }}a..32MTown/city. Optional – if submitted, all parameters bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity must be submitted.Ort. Optional – wenn angegeben, müssen alle Parameter bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity übergeben werden.
bdAddressAddition"billing": {"addressInfo": { "addressLine2": "..." }}ans..60OAdditional/supplementary address lineZusätzliche/ergänzende Adresszeile
sdCountryCode"shipping": {"addressInfo": { "country": { "A2": "..." }}}a2OCountry code for the delivery address, 2 characters according to ISO 3166-1. Allowed are Germany <DE>, Austria <AT>, Netherlands <NL>, Denmark <DK>, Sweden <SE>, Norway <NO>, Finland <FI>, Great Britain <GB>, USA <US>, Switzerland (CH), Australia (AU), Belgium <BE>, Spain (ES), Italy <IT>, Ireland <IE>, Poland <PL>, <PT> Portugal, <FR> France and <CA> Canada.Ländercode der Lieferadresse zweistellig gemäß ISO-3166-1. Erlaubt sind Deutschland <DE>, Österreich <AT>, Niederlande <NL>, Dänemark <DK>, Schweden <SE>, Norwegen <NO>, Finnland <FI>, Großbritannien <GB>, USA <US>, Schweiz <CH>, Australien <AU>, Belgien <BE>, Spanien (ES), Italien <IT>, Irland <IE>, Polen <PL>, <PT> Portugal, <FR> Frankreich und <CA> Kanada.
sdFirstName"shipping": {"consumer": { "firstName": "..." }}ans..30C

First name. Optional – if submitted, all parameters sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity must be submitted.

Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.

Vorname. Optional – wenn angegeben, müssen alle Parameter sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity übergeben werden.

Darf nicht nur aus Zahlen bestehen und muss aus mehr als 1 Zeichen bestehen. Erlaubte Sonderzeichen: -''.

sdLastName"shipping": {"consumer": { "lastName": "..." }}ans..30C

Last name. Optional – if submitted, all parameters sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity must be submitted.

Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.

Nachname. Optional – wenn angegeben, müssen alle Parameter sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity übergeben werden.

Darf nicht nur aus Zahlen bestehen und muss aus mehr als 1 Zeichen bestehen. Erlaubte Sonderzeichen: -''.

sdEmail"shipping": {"contactInfo": { "email": "..." }}ans..80C

E-mail address. Optional – if submitted, all parameters sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity must be submitted.

Must include @ and domain.

E-Mail-Adresse. Optional – wenn angegeben, müssen alle Parameter sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity übergeben werden.

Muss @ und Domain enthalten.

sdCompany"shipping": {"business": { "companyLegalName": "..." }}ans..200CCompany name, mandatory for B2B, must be the same as bdCompany.Firmenname, Pflichtparameter für B2B, muss identisch sein mit bdCompany.
sdRegion"shipping": {"addressInfo": { "region": "..." }}ans..40ORegionGebiet
sdTitle"shipping": {"consumer": { "salutation": "..." }}ans..20OTitle of customer or contact person, e.g. Dr. or Prof.Titel des Kunden oder der Kontaktperson, z.B. Dr. oder Prof.
sdStreet"shipping": {"addressInfo": { "addressLine1": {"street+streetNumber": "..." }}}a..32C

Street name and street number. Optional – if submitted, all parameters sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity must be submitted.

Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \

Straße und Hausnummer. Optional – wenn angegeben, müssen alle Parameter sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity übergeben werden.

Erlaubte Sonderzeichen: -'´`",.:;#&/()+@ °ºᵃª_ \

sdZip"shipping": {"addressInfo": { "postalCode": "..." }}n..5C

Postcode. Optional – if submitted, all parameters sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity must be submitted.

Postleitzahl. Optional – wenn angegeben, müssen alle Parameter sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity übergeben werden.
sdCity"shipping": {"addressInfo": { "city": "..." }}a..32C

City. Optional – if submitted, all parameters sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity must be submitted.

Ort. Optional – wenn angegeben, müssen alle Parameter sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity übergeben werden.
sdAddressAddition"shipping": {"addressInfo": { "addressLine2": "..." }}ans..60OAdditional/supplementary address lineZusätzliche/ergänzende Adresszeile
Language"language": "..."a2MLanguage for displaying the widgets: DE - German, DK - Danish, FI - Finnish, SE - Swedish, NO - Norwegian, NL - Dutsch, FR - French, IT - Italian, EN - English, ES - Spanish, CA - Catalan, PL - PolishSprache, in der die Widgets angezeigt werden sollen: DE - deutsch, DK - dänisch, FI - finnisch, SE - schwedisch, NO - norwegisch, NL - niederländisch, FR - französisch, IT - italienisch, EN - englisch, ES - Spanisch, CA - katalanisch, PL - polnisch

Key

REST

Format

CND

Description

Beschreibung
IPAddr"browserInfo": {"ipAddress": "..."}

ans..15

O

IP address of the client in the format IPv4 or IPv6

IP-Adresse des Clients im Format IPv4 oder IPv6
Account"payment": {"klarna": { "accountName": "..." }}

ans..12

M

Within several Klarna user names can be stored on one MerchantID and controlled by the parameter Account. By default, please use the value "0", if you have several Klarna accounts, the values must be agreed with .

Im können mehrere Klarna-Benutzernamen auf einer MerchantID hinterlegt und durch den Parameter Account angesteuert werden. Standardmäßig verwenden Sie bitte den Wert "0", bei mehreren Klarna-Accounts stimmen Sie die Werte bitte mit ab.

ArticleList"order": {"items": "..."}

ans..2048

M

Complete article list of the order. This parameter must be created in JSON format.


The individual parameters in JSON format are following:

name = Product name (mandatory)

quantity = item quantity. The value may not be negative. (mandatory)

unit_price = unit price inclusive taxes but without rebates. (mandatory)

total_amount = total amount of iarticles inclusive taxes and rebates. (mandatory)

image_url = URL for an image that can be embedded later in agreement with Klarna. (max. 1024 characters)

merchant_data = "pass-through parameter" (max. 255 characters). Merchant must agree with Klarna what will be transmitted here.

product_identifiers.brand = product brand

product_identifiers.category_path = path of product category. As separator '>' has to be used.

product_identifiers.global_trade_item_number = article number (e.g. EAN, ISBN or UPC).

product_identifiers.manufacturer_part_number = manufacturer’s number

product_url = URL to product image

quantity_unit = unit of quantity (e.g. kg)

reference = article number (e.g. SKU)

tax_rate = tax rate as percentage (e.g. 25%). The percent sign must be replaced with two zeros, thus for example 2500. The value may not be negative. (mandatory)

total_discount_amount = total amount of rebate. The value may not be negative.

total_tax_amount = total amount of taxes. The value may be negative, if type is 'discount'. (mandatory)

type = type of item position. Possible entries are <physical>, <discount>, <shipping_fee>, <sales_tax>, <digital>, <gift_card>, <store_credit>, <surcharge>

{
	"order_lines": [
		{
			"image_url": "https://www.exampleobjects.com/logo.png",
			"merchant_data": "",
			"name": "Battery Power Pack",
			"product_identifiers": {
				"brand": "Intel",
				"category_path": "Electronics Store > Computers & Tablets > Desktops",
				"global_trade_item-number": "735858293167",
				"manufacturer_part_number": "BOXNUC5CPYH"
			},
			"product_url": "https://www.estore.com/products/f2a8d7e34",
			"quantity": 1,
			"quantity_unit": "kg",
			"reference": "19-402-USA",
			"tax_rate": 0,
			"total_amount": 1000,
			"total_discount_amount": 0,
			"total_tax_amount": 0,
			"type": "physical",
			"unit_price": 1000
		}
	]
}

Afterwards the article list created in JSON format must be Base64 encoded.

Komplette Artikelliste der Bestellung. Dieser Parameter muss im JSON-Format erstellt werden.


Die einzelnen Parameter im JSON-Format sind folgende:

name = Produktname (Pflicht)

quantity = Artikelmenge. Der Wert darf nicht negativ sein. (Pflicht)

unit_price = Einzelpreis inkl. Steuern aber exkl. Rabatte. (Pflicht)

total_amount = Gesamtbetrag der Artikel inkl. Steuern und Rabatte. (Pflicht)

image_url = URL zu einem Bild, welches später in Absprache mit Klarna eingebettet werden kann. (max. 1024 Zeichen)

merchant_data = "Durchreich-Parameter" (max. 255 Zeichen). Was hier übermittelt wird, muss mit Klarna abgestimmt werden.

product_identifiers.brand = Produktmarke

product_identifiers.category_path = Pfad der Produktkategorie. Als Trennzeichen muss '>' verwendet werden.

product_identifiers.global_trade_item_number = Artikelnummer (z.B. EAN, ISBN oder UPC).

product_identifiers.manufacturer_part_number = Herstellernummer

product_url = URL zum Produktbild

quantity_unit = Mengeneinheit (z.B. kg)

reference = Artikelnummer (z.B. SKU)

tax_rate = Steuersatz in Prozent (z.B. 25%). Das Prozentzeichen muss durch zwei Nullen ersetzt werden, also zum Beispiel 2500. Der Wert darf nicht negativ sein. (Pflicht)

total_discount_amount = Gesamtbetrag des Rabattes. Der Wert darf nicht negativ sein.

total_tax_amount = Gesamtbetrag der Steuern. Der Wert darf negativ sein, wenn der type 'discount' ist. (Pflicht)

type = Typ der Artikelposition. Mögliche Werte sind <physical>, <discount>, <shipping_fee>, <sales_tax>, <digital>, <gift_card>, <store_credit>, <surcharge>

{
	"order_lines": [
		{
			"image_url": "https://www.exampleobjects.com/logo.png",
			"merchant_data": "",
			"name": "Battery Power Pack",
			"product_identifiers": {
				"brand": "Intel",
				"category_path": "Electronics Store > Computers & Tablets > Desktops",
				"global_trade_item-number": "735858293167",
				"manufacturer_part_number": "BOXNUC5CPYH"
			},
			"product_url": "https://www.estore.com/products/f2a8d7e34",
			"quantity": 1,
			"quantity_unit": "kg",
			"reference": "19-402-USA",
			"tax_rate": 0,
			"total_amount": 1000,
			"total_discount_amount": 0,
			"total_tax_amount": 0,
			"type": "physical",
			"unit_price": 1000
		}
	]
}

Anschließend muss die im JSON-Format erstellte Artikelliste Base64 encodiert werden.

EnhancedData"payment": {"klarna": { "enhancedData": "..." }}

ans..2048

O

Additional customer and order information for Klarna risk management. Merchant must agree with Klarna which data will be transmitted here. This parameter must be created in JSON format.

{
	"marketplace_seller_info": [
		{
			"product_category": "Women's Fashion",
			"product_name": "Women Sweatshirt"
		}
	]
}

Afterwards the additional information created in JSON format must be Base64 encoded.

Zusätzliche Kunden- und Bestellinformationen für das Klarna Risikomanagement. Welche Daten hier übermittelt werden, muss mit Klarna vereinbart werden. Dieser Parameter muss im JSON-Format erstellt werden.

{
	"marketplace_seller_info": [
		{
			"product_category": "Women's Fashion",
			"product_name": "Women Sweatshirt"
		}
	]
}

Anschließend müssen die im JSON-Format erstellten Zusatzinformationen Base64 encodiert werden.

Layout"payment": {"klarna": { "layout": "..." }}

ans..2048

O

Layout parameters for Klarna HPP. This parameter must be created in JSON format.

{
  "options": {
    "payment_method_category": "PAY_LATER",
    "show_subtotal_detail": "HIDE"
  }
}

Afterwards the layout parameters created in JSON format must be Base64 encoded.

Following Klarna parameters are supported:

  • payment_method_category (controls the payment method to be displayed on the HPP)
  • payment_method_categories (controls the payment types to be displayed on the HPP)
  • show_subtotal_detail (hides the item positions on the HPP)
  • logo_url (controls the logo to be displayed on the HPP)
  • page_title (controls the title to be displayed on the HPP)

Layout-Parameter für die Klarna-HPP. Dieser Parameter muss im JSON-Format erstellt werden.

{
  "options": {
    "payment_method_category": "PAY_LATER",
    "show_subtotal_detail": "HIDE"
  }
}

Anschließend müssen die im JSON-Format erstellten Layout-Parameter Base64 encodiert werden.

Folgende Klarna-Parameter werden unterstützt:

  • payment_method_category (steuert die auf der HPP anzuzeigende Zahlungsart)
  • payment_method_categories (steuert die auf der HPP anzuzeigenden Zahlungsarten)
  • show_subtotal_detail (blendet die Artikelpositionen auf der HPP aus)
  • logo_url (steuert das auf der HPP anzuzeigende Logo)
  • page_title (steuert den auf der HPP anzuzeigenden Titel)

Order

"payment": {"klarnaHpp": { "automaticOrderCreation": "..." }}

ans..6

O

Activates the automatic order creation. If this parameter is used an explicit order creation is not necessary. If a BillingAgreementID for recurring payments should be created, also the parameter RTF=I must be submitted. Only possible value: AUTO

If you would like to use the automatic order processing direct through  (request parameter does not have to be sent), please contact the  Merchant Service directly () and our team will store the required setting directly at your account.|

Aktiviert die automatische Auftragsanlage. Wird dieser Parameter benutzt, muß keine explizite Auftragsanlage mehr erfolgen. Wenn auch eine BillingAgreementID für wiederkehrende Zahlungen erzeugt werden soll, muß auch der Parameter RTF=I mitgesendet werden. Einziger möglicher Wert: AUTO.

Möchten Sie das automatische Order processing direkt durch das  nutzen (Request-Parameter muss nicht gesendet werden), wenden Sie sich bitte direkt an den  Merchant Service () und unser Team wird für Sie die benötigte Einstellung direkt am Account hinterlegen.

Key

REST

Format

CND

Description

Beschreibung
URLNotify"urls": {"notify": "..."}

ans..256

O

Complete URL which  calls up in order to notify the shop about the payment result, if a PENDING transaction was finalized. The URL may be called up only via port 443 It may not contain parameters: Use the UserData parameter instead.

Processing of PENDING transactions must be activated at  as well as Klarna. URLNotify can also be stored with .

Vollständige URL, die das  aufruft, um den Shop zu benachrichtigen, wenn eine PENDING-Transaktion finalisiert wurde. Die URL darf nur über Port 443 aufgerufen werden. Sie darf keine Parameter enthalten: Nutzen Sie stattdessen den Parameter UserData.

Die Verarbeitung von PENDING-Transaktionen muss sowohl bei also auch bei Klarna freigeschaltet sein. Die URLNotify kann auch bei  hinterlegt werden.

Key

Format

CND

Personal details of customer

Personendaten des Kunden
DateOfBirth"billing": {"consumer": { "birthdate": "..." }}

dttm

O

Date of birth in the format YYYY-MM-DD

Geburtsdatum im Format JJJJ-MM-TT
Gender"billing": {"consumer": { "gender": "..." }}

a..15

O

Gender <female> for female, <male> for male

Geschlecht <female> für weiblich, <male> für männlich
Title"billing": {"consumer": { "salutation": "..." }}

a..12

O

Salutation

Anrede
SocialSecurityNumber"billing": {"consumer": { "socialSecurityNumber": "..." }}

a..5

O

Private individuals: The last four or five digits of the social security number. Not in DE, AT and NL. Obligatory field in SE, FI, DK with 4-digit value (NNNN). Obligatory field in NO with 5-digit value (NNNNN).

Bei Privatpersonen: Die letzten vier bis fünf Stellen der Sozialversicherungsnummer. Nicht in DE, AT und NL. Pflichtfeld in SE, FI, DK mit 4-stelligem Wert (NNNN). Pflichtfeld in NO mit 5-stelligem Wert (NNNNN).
PersonID"billing": {"consumer": { "consumerId": "..." }}

ans..15

O

National identity number. Is necessary for example for a visa to entry the USA. For that purpose the serial number on the upper right side of the iodentity card may be used.

Nationale Identitätsnummer. Wird zum Beispiel für das Visum für die Einreise in die USA benötigt. Hierfür kann die Seriennummer rechts oben auf dem Personalausweis verwendet werden.
LegalForm"payment": {"klarna": { "legalForm": "..." }}

ans..50

C

Type of company. Mandatory for B2B. Following values are possible:

  • LIMITED_COMPANY
  • PUBLIC_LIMITED_COMPANY
  • ENTREPRENEURIAL_COMPANY
  • LIMITED_PARTNERSHIP_LIMITED_COMPANY
  • LIMITED_PARTNERSHIP
  • GENERAL_PARTNERSHIP
  • REGISTERED_SOLE_TRADER
  • SOLE_TRADER
  • CIVIL_LAW_PARTNERSHIP
  • PUBLIC_INSTITUTION
  • OTHER

Firmentyp. Pflichtparameter für B2B. Folgende Werte sind möglich:

  • LIMITED_COMPANY
  • PUBLIC_LIMITED_COMPANY
  • ENTREPRENEURIAL_COMPANY
  • LIMITED_PARTNERSHIP_LIMITED_COMPANY
  • LIMITED_PARTNERSHIP
  • GENERAL_PARTNERSHIP
  • REGISTERED_SOLE_TRADER
  • SOLE_TRADER
  • CIVIL_LAW_PARTNERSHIP
  • PUBLIC_INSTITUTION
  • OTHER
CompanyID"billing": {"business": { "companyRegistrationNumber": "..." }}

ans..15

O

For companies: Register of Companies number, only relevant but not mandatory for B2B.

Bei Unternehmen: Handelsregisternummer, nur für B2B von Bedeutung, aber kein Pflichtparameter.
CompanyOrPerson

a2

O

Indication whether it is e company or a person.

<C> for companies, <P> for persons

Please note that Klarna does not allow B2B transactions by default. Please contact Klarna if you also want to use the payment method for B2B transactions.

Angabe, ob es sich um eine Firma oder eine Person handelt.

<C> für Firmen, <P> für Personen

Bitte beachten Sie, dass seitens Klarna standardmäßig keine B2B-Transaktionen möglich sind. Bitte wenden Sie sich an Klarna, falls Sie die Zahlart auch für B2B-Transaktionen verwenden möchten.

VatID"payment": {"klarna": { "vatId": "..." }}

ans..15

O

VAT identification number, only relevant but not mandatory for B2B.

Umsatzsteuer-Identifikationsnummer, nur für B2B von Bedeutung, aber kein Pflichtparameter.

Parameters for calling the Klarna HPP

Key

Format

CND

Description

Beschreibung
Coden1..8M

Error code according to  Response Codes (A4 Error codes). Code "0": Please make now the authorisation via Klarna widget within the frontend.

Fehlercode gemäß  Antwort-Codes (A4 Fehlercodes). Code "0": Führen Sie nun die Autorisierung über das Klarna Widget im Frontend durch.

BillingAgreementIDans..50OToken-ID (Consumer Token) from Klarna which must be additionally transferred for recurring payments. The value is returned only if request was made with RTF=I.Token-ID (Consumer Token) von Klarna, welche bei wiederkehrenden Zahlungen (Recurring) mitgesendet werden muss. Der Wert wird nur zurückgegeben, wenn der Aufruf mit RTF=I erfolgt ist.

CodeExt

ans..50

O

Error code from Klarna, if agreed with

Fehlercode von Klarna, wenn mit  abgesprochen

ErrorText

ans..1024

O

Error text from Klarna, if agreed with

Fehlertext von Klarna, wenn mit  abgesprochen

TokenExt

ans..36

M

Authorisation token which is needed for creating an order

Autorisierungs-Token, der für die Auftragsanlage benötigt wird

Result parameters for URLNotify, URLSuccess and URLFailure


Create order with Klarna

In order to create the order within Klarna system via a server-to-server connection, please use the following URL:

KlarnaPayments.aspx

If this is an initial order if a recurring order (RTF=I), then only the billing address can be submitted, not the delivery adress.

If the address data differs from the address data transferred from the JavaScript widget during authorization, the order will be rejected.

Key

REST

Format

CND

Description

Beschreibung
TaxAmount"amount": { "taxTotal": ...}n..10M

Gross amount of value added tax in the smallest currency unit (e.g. EUR Cent). The amount may not be negative.

Notice: The VAT included is calculated for 19% with the formula =gross prices / 1.19 * 0.19.

Please contact the helpdesk, if you want to capture amounts < 100 (smallest currency unit).

Gesamtbetrag der MwSt. in der kleinsten Währungseinheit (z.B. EUR Cent). Der Betrag darf nicht negativ sein.

Hinweis: Die enthaltene MwSt. berechnet sich bei 19% mit der Formel =Bruttopreis / 1,19 * 0,19.

Bitte wenden Sie sich an den Helpdesk, wenn Sie Beträge < 100 (kleinste Währungseinheit) buchen möchten.

Key

REST

Format

CND

Description

Beschreibung
TokenExt
ans..36MAuthorisation token which is returned from Klarna within JavaScript Authorize-Call. Please note, the authorization token from the previous step is valid for 60 minutes. If you attempt to place an order with this after that time has passed, it will be rejected by Klarna.Autorisierungs-Token, welchen Klarna im JavaScript Authorize-Call zurückgibt. Bitte beachten Sie, der erhaltene Authorization-Token eine Gültigkeit von 60 Minuten hat. Wird dieser > 60min. gesendet, wird die Anfrage seitens Klarna abgelehnt.
EventToken"payment": {"klarna": { "eventType": "..." }}enumM

Defines which Klarna API-Call request will be initiated.

For creating a Klarna order the value CNO must be transferred.

Definiert welcher Klarna API-Call Request angestoßen wird.

Beim Anlegen der Klarna Bestellung muss der Wert CNO übergeben werden.

RTF---a1O

For repeat payments (subscriptions): I = Initial payment of a new subscription, R = Routine payment (Recurring).

If this is an initial payment of a subscription the value I must be transferred.

Bei wiederkehrenden Zahlungen (Abos): I = Initialzahlung eines neuen Abos, R = Wiederkehrende Zahlung (Recurring).

Wenn es sich um die Initialzahlung eines Abos handelt, muss der Wert I übergeben werden.

RequestReason
a..20O

Intended usage of „Consumer Token“.

Possible value is SUBSCRIPTION.

Beabsichtigte Nutzung des „Consumer Tokens“.

Möglicher Wert ist SUBSCRIPTION.

Note
ans..50ODescription for the purpose of token (e.g. Abo)Beschreibung für den Zweck des Tokens (z.B. Abo)
ArticleList"order": {"items": "..."}ans..2048M

Complete article list of the order. This parameter must be created in JSON format.


The individual parameters in JSON format are following:

name = Product name (mandatory)

quantity = item quantity. The value may not be negative. (mandatory)

unit_price = unit price inclusive taxes but without rebates. (mandatory)

total_amount = total amount of iarticles inclusive taxes and rebates. (mandatory)

image_url = URL for an image that can be embedded later in agreement with Klarna. (max. 1024 characters)

merchant_data = "pass-through parameter" (max. 255 characters). Merchant must agree with Klarna what will be transmitted here.

product_identifiers.brand = product brand

product_identifiers.category_path = path of product category. As separator '>' has to be used.

product_identifiers.global_trade_item_number = article number (e.g. EAN, ISBN or UPC).

product_identifiers.manufacturer_part_number = manufacturer’s number

product_url = URL to product image

quantity_unit = unit of quantity (e.g. kg)

reference = article number (e.g. SKU)

tax_rate = tax rate as percentage (e.g. 25%). The percent sign muss be replaced with two zeros, thus for example 2500. The value may not be negative. (mandatory)

total_discount_amount = total amount of rebate. The value may not be negative.

total_tax_amount = total amount of taxes. The value may be negative, if type is 'discount'. (mandatory)

type = type of item position. Possible entries are <physical>, <discount>, <shipping_fee>, <sales_tax>, <digital>, <gift_card>, <store_credit>, <surcharge>

{
	"order_lines": [
		{
			"image_url": "https://www.exampleobjects.com/logo.png",
			"merchant_data": "",
			"name": "Battery Power Pack",
			"product_identifiers": {
				"brand": "Intel",
				"category_path": "Electronics Store > Computers & Tablets > Desktops",
				"global_trade_item-number": "735858293167",
				"manufacturer_part_number": "BOXNUC5CPYH"
			},
			"product_url": "https://www.estore.com/products/f2a8d7e34",
			"quantity": 1,
			"quantity_unit": "kg",
			"reference": "19-402-USA",
			"tax_rate": 0,
			"total_amount": 1000,
			"total_discount_amount": 0,
			"total_tax_amount": 0,
			"type": "physical",
			"unit_price": 1000
		}
	]
}

Afterwards the article list created in JSON format must be Base64 encoded.

Komplette Artikelliste der Bestellung. Dieser Parameter muss im JSON-Format erstellt werden.


Die einzelnen Parameter im JSON-Format sind folgende:

name = Produktname (Pflicht)

quantity = Artikelmenge. Der Wert darf nicht negativ sein. (Pflicht)

unit_price = Einzelpreis inkl. Steuern aber exkl. Rabatte. (Pflicht)

total_amount = Gesamtbetrag der Artikel inkl. Steuern und Rabatte. (Pflicht)

image_url = URL zu einem Bild, welches später in Absprache mit Klarna eingebettet werden kann. (max. 1024 Zeichen)

merchant_data = "Durchreich-Parameter" (max. 255 Zeichen). Was hier übermittelt wird, muss mit Klarna abgestimmt werden.

product_identifiers.brand = Produktmarke

product_identifiers.category_path = Pfad der Produktkategorie. Als Trennzeichen muss '>' verwendet werden.

product_identifiers.global_trade_item_number = Artikelnummer (z.B. EAN, ISBN oder UPC).

product_identifiers.manufacturer_part_number = Herstellernummer

product_url = URL zum Produktbild

quantity_unit = Mengeneinheit (z.B. kg)

reference = Artikelnummer (z.B. SKU)

tax_rate = Steuersatz in Prozent (z.B. 25%). Das Prozentzeichen muss durch zwei Nullen ersetzt werden, also zum Beispiel 2500. Der Wert darf nicht negativ sein. (Pflicht)

total_discount_amount = Gesamtbetrag des Rabattes. Der Wert darf nicht negativ sein.

total_tax_amount = Gesamtbetrag der Steuern. Der Wert darf negativ sein, wenn der type 'discount' ist. (Pflicht)

type = Typ der Artikelposition. Mögliche Werte sind <physical>, <discount>, <shipping_fee>, <sales_tax>, <digital>, <gift_card>, <store_credit>, <surcharge>

{
	"order_lines": [
		{
			"image_url": "https://www.exampleobjects.com/logo.png",
			"merchant_data": "",
			"name": "Battery Power Pack",
			"product_identifiers": {
				"brand": "Intel",
				"category_path": "Electronics Store > Computers & Tablets > Desktops",
				"global_trade_item-number": "735858293167",
				"manufacturer_part_number": "BOXNUC5CPYH"
			},
			"product_url": "https://www.estore.com/products/f2a8d7e34",
			"quantity": 1,
			"quantity_unit": "kg",
			"reference": "19-402-USA",
			"tax_rate": 0,
			"total_amount": 1000,
			"total_discount_amount": 0,
			"total_tax_amount": 0,
			"type": "physical",
			"unit_price": 1000
		}
	]
}

Anschließend muss die im JSON-Format erstellte Artikelliste Base64 encodiert werden.

bdCountryCode

"billing": {"addressInfo": { "country": { "A2": "..." }}}

a2MCountry code for the invoicing address, 2 characters according to ISO 3166-1. Allowed are Germany <DE>, Austria <AT>, Netherlands <NL>, Denmark <DK>, Sweden <SE>, Norway <NO>, Finland <FI>, Great Britain <GB>, USA <US>, Switzerland (CH), Australia (AU), Belgium <BE>, Spain (ES), Italy <IT>, Ireland <IE>, Poland <PL>, <PT> Portugal, <FR> France and <CA> Canada.Ländercode der Rechnungsadresse zweistellig gemäß ISO-3166-1. Erlaubt sind Deutschland <DE>, Österreich <AT>, Niederlande <NL>, Dänemark <DK>, Schweden <SE>, Norwegen <NO>, Finnland <FI>, Großbritannien <GB>, USA <US>, Schweiz <CH>, Australien <AU>, Belgien <BE>, Spanien (ES), Italien <IT>, Irland <IE>, Polen <PL>, <PT> Portugal, <FR> Frankreich und <CA> Kanada.
bdFirstName"billing": {"consumer": { "firstName": "..." }}ans..30C

First name. Optional – if submitted, all parameters bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity must be submitted.

Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.

Vorname. Optional – wenn angegeben, müssen alle Parameter bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity übergeben werden.

Darf nicht nur aus Zahlen bestehen und muss aus mehr als 1 Zeichen bestehen. Erlaubte Sonderzeichen: -''.

bdLastName"billing": {"consumer": { "lastName": "..." }}ans..30C

Last name. Optional – if submitted, all parameters bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity must be submitted.

Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.

Nachname. Optional – wenn angegeben, müssen alle Parameter bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity übergeben werden.

Darf nicht nur aus Zahlen bestehen und muss aus mehr als 1 Zeichen bestehen. Erlaubte Sonderzeichen: -''.

bdEmail"billing": {"contactInfo": { "email": "..." }}ans..80C

Email address. Optional – if submitted, all parameters bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity must be submitted.

Must include @ and domain.

E-Mail-Adresse. Optional – wenn angegeben, müssen alle Parameter bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity übergeben werden.

Muss @ und Domain enthalten.

bdCompany"billing": {"business": { "companyLegalName": "..." }}ans..200CCompany name, mandatory for B2B, must be the same as sdCompany.Firmenname, Pflichtparameter für B2B, muss identisch sein mit sdCompany.
bdRegion"billing": {"addressInfo": { "region": "..." }}ans..40ORegionGebiet
bdTitle"billing": {"consumer": { "salutation": "..." }}ans..20OTitle of customer or contact person, e.g. Dr. or Prof.Titel des Kunden oder der Kontaktperson, z.B. Dr. oder Prof.
bdStreet"billing": {"addressInfo": { "addressLine1": {"street+streetNumber": "..." }}}a..32C

Street name and street number. Optional – if submitted, all parameters bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity must be submitted.

Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \

Straße und Hausnummer. Optional – wenn angegeben, müssen alle Parameter bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity übergeben werden.

Erlaubte Sonderzeichen: -'´`",.:;#&/()+@ °ºᵃª_ \

bdZip"billing": {"addressInfo": { "postalCode": "..." }}n..5CPostcode. Optional – if submitted, all parameters bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity must be submitted.Postleitzahl. Optional – wenn angegeben, müssen alle Parameter bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity übergeben werden.
bdCity"billing": {"addressInfo": { "city": "..." }}a..32CCity. Optional – if submitted, all parameters bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity must be submitted.Ort. Optional – wenn angegeben, müssen alle Parameter bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity übergeben werden.
bdAddressAddition"billing": {"addressInfo": { "addressLine2": "..." }}ans..60OAdditional/supplementary address lineOrt. Optional – wenn angegeben, müssen alle Parameter bdFirstName, bdLastName, bdEmail, bdStreet, bdZip, bdCity übergeben werden.
sdCountryCode"shipping": {"addressInfo": { "country": { "A2": "..." }}}a2OCountry code for the delivery address, 2 characters according to ISO 3166-1. Allowed are Germany <DE>, Austria <AT>, Netherlands <NL>, Denmark <DK>, Sweden <SE>, Norway <NO>, Finland <FI>, Great Britain <GB>, USA <US>, Switzerland (CH), Australia (AU), Belgium <BE>, Spain (ES), Italy <IT>, Ireland <IE>, Poland <PL>, <PT> Portugal, <FR> France and <CA> Canada.Ländercode der Lieferadresse zweistellig gemäß ISO-3166-1. Erlaubt sind Deutschland <DE>, Österreich <AT>, Niederlande <NL>, Dänemark <DK>, Schweden <SE>, Norwegen <NO>, Finnland <FI>, Großbritannien <GB>, USA <US>, Schweiz <CH>, Australien <AU>, Belgien <BE>, Spanien <ES>, Italien <IT>, Irland <IE>, Polen <PL>, <PT> Portugal, <FR> Frankreich und <CA> Kanada.
sdFirstName"shipping": {"consumer": { "firstName": "..." }}ans..30C

First name. Optional – if submitted, all parameters sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity must be submitted.

Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.

Vorname. Optional – wenn angegeben, müssen alle Parameter sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity übergeben werden.

Darf nicht nur aus Zahlen bestehen und muss aus mehr als 1 Zeichen bestehen. Erlaubte Sonderzeichen: -''.

sdLastName"shipping": {"consumer": { "lastName": "..." }}ans..30C

Last name. Optional – if submitted, all parameters sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity must be submitted.

Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.

Nachname. Optional – wenn angegeben, müssen alle Parameter sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity übergeben werden.

Darf nicht nur aus Zahlen bestehen und muss aus mehr als 1 Zeichen bestehen. Erlaubte Sonderzeichen: -''.

sdEmail"shipping": {"contactInfo": { "email": "..." }}ans..80C

Email address. Optional – if submitted, all parameters sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity must be submitted.

Must include @ and domain.

E-Mail-Adresse. Optional – wenn angegeben, müssen alle Parameter sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity übergeben werden.

Muss @ und Domain enthalten.

sdCompany"shipping": {"business": { "companyLegalName": "..." }}ans..200CConpany name, mandatory for B2B, must be the same as bdCompany.Firmenname, Pflichtparameter für B2B, muss identisch sein mit bdCompany.
sdRegion"shipping": {"addressInfo": { "region": "..." }}ans..40ORegionGebiet
sdTitle"shipping": {"consumer": { "salutation": "..." }}ans..20OTitle of customer or contact person, e.g. Dr. or Prof.Titel des Kunden oder der Kontaktperson, z.B. Dr. oder Prof.
sdStreet"shipping": {"addressInfo": { "addressLine1": {"street+streetNumber": "..." }}}a..32C

Street name and street number. Optional – if submitted, all parameters sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity must be submitted.

Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \

Straße und Hausnummer. Optional – wenn angegeben, müssen alle Parameter sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity übergeben werden.

Erlaubte Sonderzeichen: -'´`",.:;#&/()+@ °ºᵃª_ \

sdZip"shipping": {"addressInfo": { "postalCode": "..." }}n..5CPostcode. Optional – if submitted, all parameters sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity must be submitted.Postleitzahl. Optional – wenn angegeben, müssen alle Parameter sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity übergeben werden.
sdCity"shipping": {"addressInfo": { "city": "..." }}a..32CCity. Optional – if submitted, all parameters sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity must be submitted.Ort. Optional – wenn angegeben, müssen alle Parameter sdFirstName, sdLastName, sdEmail, sdStreet, sdZip, sdCity übergeben werden.
sdAddressAddition"shipping": {"addressInfo": { "addressLine2": "..." }}ans..60OAdditional/supplementary address lineZusätzliche/ergänzende Adresszeile

Parameters for creating an order with Klarna

 

Key

REST

Format

CND

Description

Beschreibung

TransactionID


an12

O

Reference number from Klarna system

Referenznummer aus dem Klarna-System

BillingAgreementID


ans..50

O

Token-ID (Consumer Token) from Klarna which must be additionally transferred for recurring payments. The value is returned only if request was made with RTF=I.

Token-ID (Consumer Token) von Klarna, welche bei wiederkehrenden Zahlungen (Recurring) mitgesendet werden muss. Der Wert wird nur zurückgegeben, wenn der Aufruf mit RTF=I erfolgt ist.

RedirectURL

"_links.redirect.href": "..."

ans..256

O

The customer must be forwarded to this URL so that Klarna can place a Cookie. The customer remains unaware of this process.

Damit Klarna ein Cookie setzen kann, muss der Kunde auf diese URL weitergeleitet werden. Der Kunde bekommt hiervon nichts mit.

CodeExt

"externalErrorCode": ...

ans..50

O

Error code from Klarna, if agreed with

Fehlercode von Klarna, wenn mit  abgesprochen

ErrorText

"errorText": "..."

ans..1024

O

Error text from Klarna, if agreed with

Fehlertext von Klarna, wenn mit  abgesprochen

Response parameters for creating an order with Klarna



Create recurring order (Abo) with Klarna

In order to create a recurring order (e.g. Abo) with Klarna, please use the following URL:

KlarnaPayments.aspx

 

Key

REST

Format

CND

Description

Beschreibung
TaxAmount"amount": { "taxTotal": ...}n..10M

Gross amount of value added tax in the smallest currency unit (e.g. EUR Cent). The amount may not be negative.

Notice: The VAT included is calculated for 19% with the formula =gross prices / 1.19 * 0.19.

Please contact the helpdesk, if you want to capture amounts < 100 (smallest currency unit).

Gesamtbetrag der MwSt. in der kleinsten Währungseinheit (z.B. EUR Cent). Der Betrag darf nicht negativ sein.

Hinweis: Die enthaltene MwSt. berechnet sich bei 19% mit der Formel =Bruttopreis / 1,19 * 0,19.

Bitte wenden Sie sich an den Helpdesk, wenn Sie Beträge < 100 (kleinste Währungseinheit) buchen möchten.

Key

REST

Format

CND

Description

Beschreibung

EventToken

"payment": {"klarna": { "eventType": "..." }}

enum

M

Defines which Klarna API-Call request will be initiated.

For creating a Klarna order the value CNO must be transferred.

Definiert, welcher Klarna API-Call Request angestoßen wird.

Beim Anlegen der Klarna-Bestellung muss der Wert CNO übergeben werden.

BillingAgreementID


ans..50

M

Token-ID (Consumer Token) from Klarna which must be additionally transferred for recurring payments.

Token-ID (Consumer Token) von Klarna, welche bei wiederkehrenden Zahlungen (Recurring) mitgesendet werden muss.

RTF

---

a1

M

For repeat payments (subscriptions): I = Initial payment of a new subscription, R = Routine payment (Recurring).

For this request the value R must be transferred.

Bei wiederkehrenden Zahlungen (Abos): I = Initialzahlung eines neuen Abos, R = Wiederkehrende Zahlung (Recurring).

Bei diesem Request muss der Wert R übergeben werden.

Account

"payment": {"klarna": { "accountName": "..." }}

ans..12

M

Within several Klarna user names can be stored on one MerchantID and controlled by the parameter Account. By default, please use the value "0", if you have several Klarna accounts, the values must be agreed with .

Im können mehrere Klarna-Benutzernamen auf einer MerchantID hinterlegt und durch den Parameter Account angesteuert werden. Standardmäßig verwenden Sie bitte den Wert "0", bei mehreren Klarna-Accounts stimmen Sie die Werte bitte mit ab.

ArticleList

"order": {"items": "..."}

ans..2048

M

Complete article list of the order. This parameter must be created in JSON format.


The individual parameters in JSON format are following:

name = Product name (mandatory)

quantity = item quantity. The value may not be negative. (mandatory)

unit_price = unit price inclusive taxes but without rebates. (mandatory)

total_amount = total amount of iarticles inclusive taxes and rebates. (mandatory)

image_url = URL for an image that can be embedded later in agreement with Klarna. (max. 1024 characters)

merchant_data = "pass-through parameter" (max. 255 characters). Merchant must agree with Klarna what will be transmitted here.

product_identifiers.brand = product brand

product_identifiers.category_path = path of product category. As separator '>' has to be used.

product_identifiers.global_trade_item_number = article number (e.g. EAN, ISBN or UPC).

product_identifiers.manufacturer_part_number = manufacturer’s number

product_url = URL to product image

quantity_unit = unit of quantity (e.g. kg)

reference = article number (e.g. SKU)

tax_rate = tax rate as percentage (e.g. 25%). The percent sign muss be replaced with two zeros, thus for example 2500. The value may not be negative. (mandatory)

total_discount_amount = total amount of rebate. The value may not be negative.

total_tax_amount = total amount of taxes. The value may be negative, if type is 'discount'. (mandatory)

type = type of item position. Possible entries are <physical>, <discount>, <shipping_fee>, <sales_tax>, <digital>, <gift_card>, <store_credit>, <surcharge>

{
	"order_lines": [
		{
			"image_url": "https://www.exampleobjects.com/logo.png",
			"merchant_data": "",
			"name": "Battery Power Pack",
			"product_identifiers": {
				"brand": "Intel",
				"category_path": "Electronics Store > Computers & Tablets > Desktops",
				"global_trade_item-number": "735858293167",
				"manufacturer_part_number": "BOXNUC5CPYH"
			},
			"product_url": "https://www.estore.com/products/f2a8d7e34",
			"quantity": 1,
			"quantity_unit": "kg",
			"reference": "19-402-USA",
			"tax_rate": 0,
			"total_amount": 1000,
			"total_discount_amount": 0,
			"total_tax_amount": 0,
			"type": "physical",
			"unit_price": 1000
		}
	]
}

Afterwards the article list created in JSON format must be Base64 encoded.

Komplette Artikelliste der Bestellung. Dieser Parameter muss im JSON-Format erstellt werden.


Die einzelnen Parameter im JSON-Format sind folgende:

name = Produktname (Pflicht)

quantity = Artikelmenge. Der Wert darf nicht negativ sein. (Pflicht)

unit_price = Einzelpreis inkl. Steuern aber exkl. Rabatte. (Pflicht)

total_amount = Gesamtbetrag der Artikel inkl. Steuern und Rabatte. (Pflicht)

image_url = URL zu einem Bild, welches später in Absprache mit Klarna eingebettet werden kann. (max. 1024 Zeichen)

merchant_data = "Durchreich-Parameter" (max. 255 Zeichen). Was hier übermittelt wird, muss mit Klarna abgestimmt werden.

product_identifiers.brand = Produktmarke

product_identifiers.category_path = Pfad der Produktkategorie. Als Trennzeichen muss '>' verwendet werden.

product_identifiers.global_trade_item_number = Artikelnummer (z.B. EAN, ISBN oder UPC).

product_identifiers.manufacturer_part_number = Herstellernummer

product_url = URL zum Produktbild

quantity_unit = Mengeneinheit (z.B. kg)

reference = Artikelnummer (z.B. SKU)

tax_rate = Steuersatz in Prozent (z.B. 25%). Das Prozentzeichen muss durch zwei Nullen ersetzt werden, also zum Beispiel 2500. Der Wert darf nicht negativ sein. (Pflicht)

total_discount_amount = Gesamtbetrag des Rabattes. Der Wert darf nicht negativ sein.

total_tax_amount = Gesamtbetrag der Steuern. Der Wert darf negativ sein, wenn der type 'discount' ist. (Pflicht)

type = Typ der Artikelposition. Mögliche Werte sind <physical>, <discount>, <shipping_fee>, <sales_tax>, <digital>, <gift_card>, <store_credit>, <surcharge>

{
	"order_lines": [
		{
			"image_url": "https://www.exampleobjects.com/logo.png",
			"merchant_data": "",
			"name": "Battery Power Pack",
			"product_identifiers": {
				"brand": "Intel",
				"category_path": "Electronics Store > Computers & Tablets > Desktops",
				"global_trade_item-number": "735858293167",
				"manufacturer_part_number": "BOXNUC5CPYH"
			},
			"product_url": "https://www.estore.com/products/f2a8d7e34",
			"quantity": 1,
			"quantity_unit": "kg",
			"reference": "19-402-USA",
			"tax_rate": 0,
			"total_amount": 1000,
			"total_discount_amount": 0,
			"total_tax_amount": 0,
			"type": "physical",
			"unit_price": 1000
		}
	]
}

Anschließend muss die im JSON-Format erstellte Artikelliste Base64 encodiert werden.

Parameters for a recurring order (Abo) with Klarna Payments


Key

REST

Format

CND

Description

Beschreibung

TransactionID


an12

O

Reference number from Klarna system

Referenznummer aus dem Klarna-System

CodeExt

"externalErrorCode": ...

ans..50

O

Error code from Klarna, if agreed with

Fehlercode von Klarna, wenn mit  abgesprochen

ErrorText

"errorText": "..."

ans..1024

O

Error text from Klarna, if agreed with

Fehlertext von Klarna, wenn mit  abgesprochen

Response parameters for a recurring order (Abo) with Klarna Payments



Modify invoice and delivery address

Invoice and delivery information was transferred within Klarna widget. As long as no capture is made invoice and/or delivery address can be modified subsequently. For this purpose please use the following URL:

KlarnaPayments.aspx

 

Key

REST

Format

CND

Description

Beschreibung
EventToken"payment": {"klarna": { "eventType": "..." }}enumM

Defines which Klarna API-Call request will be initiated.

For updating invoice and/or delivery address the value UCA must be transferred.

Definiert, welcher Klarna API-Call Request angestoßen wird.

Für das Update der Rechnungs- und/oder Lieferadresse muss der Wert UCA übergeben werden.

Key
FormatCNDInvoicing adressRechnungsadresse
bdTitle"billing": {"consumer": { "salutation": "..." }}a..12OSalutationAnrede
bdFirstName"billing": {"consumer": { "firstName": "..." }}ans..30O

First name.

Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.

Vorname.

Darf nicht nur aus Zahlen bestehen und muss aus mehr als 1 Zeichen bestehen. Erlaubte Sonderzeichen: -''.

bdLastName"billing": {"consumer": { "lastName": "..." }}ans..30O

Last name.

Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.

Nachname.

Darf nicht nur aus Zahlen bestehen und muss aus mehr als 1 Zeichen bestehen. Erlaubte Sonderzeichen: -''.

bdCompany"billing": {"business": { "companyLegalName": "..." }}ans..30OCompany. Only for B2B relevant, must be the same as sbCompany.Firma. Nur für B2B von Bedeutung, muss identisch sein mit sdCompany.
bdStreet"billing": {"addressInfo": { "addressLine1": {"street+streetNumber": "..." }}}a..32O

Street name and street number.

Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \

Straße und Hausnummer.

Erlaubte Sonderzeichen: -'´`",.:;#&/()+@ °ºᵃª_ \

bdAddressAddition"billing": {"addressInfo": { "addressLine2": "..." }}ans..50OAddress line 2Adresszusatz
bdZip"billing": {"addressInfo": { "postalCode": "..." }}n..5OPostcodePostleitzahl
bdCity"billing": {"addressInfo": { "city": "..." }}a..32OCityOrt
bdRegion"billing": {"addressInfo": { "region": "..." }}a..32ORegionRegion
bdCountryCode

"billing": {"addressInfo": { "country": { "A2": "..." }}}

a2OCountry code for the invoicing address, 2 characters according to ISO 3166-1. Allowed are Germany <DE>, Austria <AT>, Netherlands <NL>, Denmark <DK>, Sweden <SE>, Norway <NO>, Finland <FI>, Great Britain <GB>, USA <US>, Switzerland <CH>, Australia <AU>, Belgium <BE>, Spain <ES>, Italy <IT>, Ireland <IE>, Poland <PL>, <PT> Portugal, <FR> France and <CA> Canada.Ländercode der Rechnungsadresse zweistellig gemäß ISO-3166-1. Erlaubt sind Deutschland <DE>, Österreich <AT>, Niederlande <NL>, Dänemark <DK>, Schweden <SE>, Norwegen <NO>, Finnland <FI>, Großbritannien <GB>, USA <US>, Schweiz <CH>, Australien <AU>, Belgien <BE>, Spanien <ES>, Italien <IT>, Irland <IE>, Polen <PL>, <PT> Portugal, <FR> Frankreich und <CA> Kanada.
bdEmail"billing": {"contactInfo": { "email": "..." }}ans..80O

E-mail address.

Must include @ and domain.

E-Mail-Adresse.

Muss @ und Domain enthalten.

bdPhone"billing": {"contactInfo": { "phone": "..." }}n..20OPhone number or mobile phone numberTelefon- oder Mobilfunknummer
Key
FormatCNDDelivery addressLieferadresse
sdTitle"shipping": {"consumer": { "salutation": "..." }}a..12OSalutationAnrede
sdFirstName"shipping": {"consumer": { "firstName": "..." }}ans..30O

First name.

Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.

Vorname.

Darf nicht nur aus Zahlen bestehen und muss aus mehr als 1 Zeichen bestehen. Erlaubte Sonderzeichen: -''.

sdLastName"shipping": {"consumer": { "lastName": "..." }}ans..30O

Last name.

Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.

Nachname.

Darf nicht nur aus Zahlen bestehen und muss aus mehr als 1 Zeichen bestehen. Erlaubte Sonderzeichen: -''.

sdCompany"shipping": {"business": { "companyLegalName": "..." }}ans..50OCompany. Only for B2B relevant, must be the same as bdCompany.Firma. Nur für B2B von Bedeutung, muss identisch sein mit bdCompany.
sdStreet"shipping": {"addressInfo": { "addressLine1": {"street+streetNumber": "..." }}}a..32O

Street name and street number.

Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \

Straße und Hausnummer.

Erlaubte Sonderzeichen: -'´`",.:;#&/()+@ °ºᵃª_ \

sdAddressAddition"shipping": {"addressInfo": { "addressLine2": "..." }}ans..50OAddress line 2Adresszusatz
sdZip"shipping": {"addressInfo": { "postalCode": "..." }}n..5OPostcodePostleitzahl
sdCity"shipping": {"addressInfo": { "city": "..." }}a..32OCityOrt
sdRegion"shipping": {"addressInfo": { "region": "..." }}a..32ORegionRegion
sdCountryCode"shipping": {"addressInfo": { "country": { "A2": "..." }}}a2OCountry code for the delivery address, 2 characters according to ISO 3166-1. Allowed are Germany <DE>, Austria <AT>, Netherlands <NL>, Denmark <DK>, Sweden <SE>, Norway <NO>, Finland <FI>, Great Britain <GB>, USA <US>, Switzerland <CH>, Australia <AU>, Belgium <BE>, Spain <ES>, Italy <IT>, Ireland <IE>, Poland <PL>, <PT> Portugal, <FR> France and <CA> Canada.Ländercode der Rechnungsadresse zweistellig gemäß ISO-3166-1. Erlaubt sind Deutschland <DE>, Österreich <AT>, Niederlande <NL>, Dänemark <DK>, Schweden <SE>, Norwegen <NO>, Finnland <FI>, Großbritannien <GB>, USA <US>, Schweiz <CH>, Australien <AU>, Belgien <BE>, Spanien <ES>, Italien <IT>, Irland <IE>, Polen <PL>, <PT> Portugal, <FR> Frankreich und <CA> Kanada.
sdEmail"shipping": {"contactInfo": { "email": "..." }}ans..80O

E-mail address.

Must include @ and domain.

E-Mail-Adresse.

Muss @ und Domain enthalten.

sdPhone"shipping": {"contactInfo": { "phone": "..." }}n..20OPhone number or mobile phone numberTelefon- oder Mobilfunknummer

Parameters for address modification with Klarna Payments


Key

REST

Format

CND

Description

Beschreibung

CodeExt

"externalErrorCode": ...

ans..50

O

Error code from Klarna, if agreed with

Fehlercode von Klarna, wenn mit  abgesprochen

ErrorText

"errorText": "..."

ans..1024

O

Error text from Klarna, if agreed with

Fehlertext von Klarna, wenn mit  abgesprochen

Response parameters for address modification with Klarna Payments



Modify unique reference number

As long as no capture is made the unique reference number which already was sent along within parameter RefNr for creating the Klarna session can be modified subsequently. For this purpose please use the following URL:

KlarnaPayments.aspx


Key

REST

Format

CND

Description

Beschreibung

EventToken

"payment": {"klarna": { "eventType": "..." }}

enum

M

Defines which Klarna API-Call request will be initiated.

For updating the unique reference number the value UMR must be transferred.

Definiert, welcher Klarna API-Call Request angestoßen wird.

Für das Update der eindeutigen Referenznummer muss der Wert UMR übergeben werden.

Parameters for modification of reference number with Klarna Payments


Key

REST

Format

CND

Description

Beschreibung

CodeExt

"externalErrorCode": ...

ans..50

O

Error code from Klarna, if agreed with

Fehlercode von Klarna, wenn mit  abgesprochen

ErrorText

"errorText": "..."

ans..1024

O

Error text from Klarna, if agreed with

Fehlertext von Klarna, wenn mit  abgesprochen

Response parameters for modification of reference number with Klarna Payments



Modify order amount and article list

As long as no capture is made the order amount as well as the whole article list can be modified subsequently. For this purpose please use the following URL:

KlarnaPayments.aspx

 

Key

REST

Format

CND

Description

Beschreibung

Amount

"amount": { "value": ...}

n..10

M

New total amount in the smallest currency unit (e.g. EUR Cent) The amount may not be negative.

Please contact the helpdesk, if you want to capture amounts < 100 (smallest currency unit).

Notice: The new amount may not be higher than the amount transferred within the initial request.

Neuer Gesamtbetrag in der kleinsten Währungseinheit (z.B. EUR Cent). Der Betrag darf nicht negativ sein.

Bitte wenden Sie sich an den Helpdesk, wenn Sie Beträge < 100 (kleinste Währungseinheit) buchen möchten.

Hinweis: Der neue Betrag darf nicht höher sein, als der im anfänglichen Request mitgegebene Betrag.

Key

REST

Format

CND

Description

Beschreibung

EventToken

"payment": {"klarna": { "eventType": "..." }}

enum

M

Defines which Klarna API-Call request will be initiated.

For modifying of order amount and article list the value UEO must be transferred.

Definiert, welcher Klarna API-Call Request angestoßen wird.

Für das Ändern des Bestellbetrages und der Artikelliste muss der Wert UEO übergeben werden.

ArticleList

"order": {"items": "..."}

ans..2048

M

New article list of the order. This parameter must be created in JSON format.


The individual parameters in JSON format are following:

name = Product name (mandatory)

quantity = item quantity. The value may not be negative. (mandatory)

unit_price = unit price inclusive taxes but without rebates. (mandatory)

total_amount = total amount of iarticles inclusive taxes and rebates. (mandatory)

image_url = URL for an image that can be embedded later in agreement with Klarna. (max. 1024 characters)

merchant_data = "pass-through parameter" (max. 255 characters). Merchant must agree with Klarna what will be transmitted here.

product_identifiers.brand = product brand

product_identifiers.category_path = path of product category. As separator '>' has to be used.

product_identifiers.global_trade_item_number = article number (e.g. EAN, ISBN or UPC).

product_identifiers.manufacturer_part_number = manufacturer’s number

product_url = URL to product image

quantity_unit = unit of quantity (e.g. kg)

reference = article number (e.g. SKU)

tax_rate = tax rate as percentage (e.g. 25%). The percent sign muss be replaced with two zeros, thus for example 2500. The value may not be negative. (mandatory)

total_discount_amount = total amount of rebate. The value may not be negative.

total_tax_amount = total amount of taxes. The value may be negative, if type is 'discount'. (mandatory)

type = type of item position. Possible entries are <physical>, <discount>, <shipping_fee>, <sales_tax>, <digital>, <gift_card>, <store_credit>, <surcharge>

{
	"order_lines": [
		{
			"image_url": "https://www.exampleobjects.com/logo.png",
			"merchant_data": "",
			"name": "Battery Power Pack",
			"product_identifiers": {
				"brand": "Intel",
				"category_path": "Electronics Store > Computers & Tablets > Desktops",
				"global_trade_item-number": "735858293167",
				"manufacturer_part_number": "BOXNUC5CPYH"
			},
			"product_url": "https://www.estore.com/products/f2a8d7e34",
			"quantity": 1,
			"quantity_unit": "kg",
			"reference": "19-402-USA",
			"tax_rate": 0,
			"total_amount": 1000,
			"total_discount_amount": 0,
			"total_tax_amount": 0,
			"type": "physical",
			"unit_price": 1000
		}
	]
}

Afterwards the article list created in JSON format must be Base64 encoded.

Neue Artikelliste der Bestellung. Dieser Parameter muss im JSON-Format erstellt werden.


Die einzelnen Parameter im JSON-Format sind folgende:

name = Produktname (Pflicht)

quantity = Artikelmenge. Der Wert darf nicht negativ sein. (Pflicht)

unit_price = Einzelpreis inkl. Steuern aber exkl. Rabatte. (Pflicht)

total_amount = Gesamtbetrag der Artikel inkl. Steuern und Rabatte. (Pflicht)

image_url = URL zu einem Bild, welches später in Absprache mit Klarna eingebettet werden kann. (max. 1024 Zeichen)

merchant_data = "Durchreich-Parameter" (max. 255 Zeichen). Was hier übermittelt wird, muss mit Klarna abgestimmt werden.

product_identifiers.brand = Produktmarke

product_identifiers.category_path = Pfad der Produktkategorie. Als Trennzeichen muss '>' verwendet werden.

product_identifiers.global_trade_item_number = Artikelnummer (z.B. EAN, ISBN oder UPC).

product_identifiers.manufacturer_part_number = Herstellernummer

product_url = URL zum Produktbild

quantity_unit = Mengeneinheit (z.B. kg)

reference = Artikelnummer (z.B. SKU)

tax_rate = Steuersatz in Prozent (z.B. 25%). Das Prozentzeichen muss durch zwei Nullen ersetzt werden, also zum Beispiel 2500. Der Wert darf nicht negativ sein. (Pflicht)

total_discount_amount = Gesamtbetrag des Rabattes. Der Wert darf nicht negativ sein.

total_tax_amount = Gesamtbetrag der Steuern. Der Wert darf negativ sein, wenn der type 'discount' ist. (Pflicht)

type = Typ der Artikelposition. Mögliche Werte sind <physical>, <discount>, <shipping_fee>, <sales_tax>, <digital>, <gift_card>, <store_credit>, <surcharge>

{
	"order_lines": [
		{
			"image_url": "https://www.exampleobjects.com/logo.png",
			"merchant_data": "",
			"name": "Battery Power Pack",
			"product_identifiers": {
				"brand": "Intel",
				"category_path": "Electronics Store > Computers & Tablets > Desktops",
				"global_trade_item-number": "735858293167",
				"manufacturer_part_number": "BOXNUC5CPYH"
			},
			"product_url": "https://www.estore.com/products/f2a8d7e34",
			"quantity": 1,
			"quantity_unit": "kg",
			"reference": "19-402-USA",
			"tax_rate": 0,
			"total_amount": 1000,
			"total_discount_amount": 0,
			"total_tax_amount": 0,
			"type": "physical",
			"unit_price": 1000
		}
	]
}

Anschließend muss die im JSON-Format erstellte Artikelliste Base64 encodiert werden.

Parameters for modifying order amount and article list with Klarna Payments


Key

REST

Format

CND

Description

Beschreibung

CodeExt

"externalErrorCode": ...

ans..50

O

Error code from Klarna, if agreed with

Fehlercode von Klarna, wenn mit  abgesprochen

ErrorText

"errorText": "..."

ans..1024

O

Error text from Klarna, if agreed with

Fehlertext von Klarna, wenn mit  abgesprochen

Response parameters for modification of order amount and article list with Klarna Payments



Capture

Captures are possible via a Server-to-Server connection. To carry out a complete or partial capture for Klarna Payments via a Server-to-Server connection, please use the following URL:

capture.aspx

 

Key

REST

Format

CND

Description

Beschreibung

Amount

"amount": { "value": ...}

n..10

M

Amount to be captured in the smallest currency unit including taxes and rebates (e.g. EUR Cent).

Please contact the helpdesk, if you want to capture amounts < 100 (smallest currency unit).

Notice: It depends on the amount whether a full or partial capture is made.

Betrag, der gebucht werden soll, in der kleinsten Währungseinheit (z.B. EUR Cent) inkl. Steuern und Rabatte.

Bitte wenden Sie sich an den Helpdesk, wenn Sie Beträge < 100 (kleinste Währungseinheit) buchen möchten.

Hinweis: Ob eine Teil- oder Vollbuchung durchgeführt wird, ist vom Betrag abhängig.

Currency"amount": { "currency": "..."}a..3MCurrency, three characters DIN / ISO 4217, permitted are: AUD, CHF, DKK, EUR, GBP, NOK, SEK, USD.Währung, drei Zeichen DIN / ISO 4217, zulässig sind: AUD, CHF, DKK, EUR, GBP, NOK, SEK, USD.

Key

REST

Format

CND

Description

Beschreibung

ShippingData

"payment": {"klarna": { "shippingInfoCapture": "..." }}

ans..2048

O

Delivery information (e.g. tracking data). This parameter must be created in JSON format.

{
	"shipping_info": [
		{
			"shipping_company": "DHL US",
			"shipping_method": "Home",
			"tracking_number": "63456415674545679074",
			"tracking_url": "http://shipping.example/findmypackage?63456415674545679074",
			"return_shipping_company": "DHL US",
			"return_tracking_number": "93456415674545679000",
			"return_tracking_url": "http://shipping.example/findmypackage?93456415674545679000"
		}
	]
}

Afterwards the delivery information created in JSON format must be Base64 encoded.

Lieferinformationen (z.B. Tracking-Daten). Dieser Parameter muss im JSON-Format erstellt werden.

{
	"shipping_info": [
		{
			"shipping_company": "DHL US",
			"shipping_method": "Home",
			"tracking_number": "63456415674545679074",
			"tracking_url": "http://shipping.example/findmypackage?63456415674545679074",
			"return_shipping_company": "DHL US",
			"return_tracking_number": "93456415674545679000",
			"return_tracking_url": "http://shipping.example/findmypackage?93456415674545679000"
		}
	]
}

Anschließend müssen die im JSON-Format erstellten Lieferinformationen Base64 encodiert werden.

ArticleList

"order": {"items": "..."}

ans..2048

O

Complete article list of the order. This parameter must be created in JSON format.


The individual parameters in JSON format are following:

name = Product name (mandatory)

quantity = item quantity. The value may not be negative. (mandatory)

unit_price = unit price inclusive taxes but without rebates. (mandatory)

total_amount = total amount of iarticles inclusive taxes and rebates. (mandatory)

image_url = URL for an image that can be embedded later in agreement with Klarna. (max. 1024 characters)

merchant_data = "pass-through parameter" (max. 255 characters). Merchant must agree with Klarna what will be transmitted here.

product_identifiers.brand = product brand

product_identifiers.category_path = path of product category. As separator '>' has to be used.

product_identifiers.global_trade_item_number = article number (e.g. EAN, ISBN or UPC).

product_identifiers.manufacturer_part_number = manufacturer’s number

product_url = URL to product image

quantity_unit = unit of quantity (e.g. kg)

reference = article number (e.g. SKU)

tax_rate = tax rate as percentage (e.g. 25%). The percent sign muss be replaced with two zeros, thus for example 2500. The value may not be negative. (mandatory)

total_discount_amount = total amount of rebate. The value may not be negative.

total_tax_amount = total amount of taxes. The value may be negative, if type is 'discount'. (mandatory)

type = type of item position. Possible entries are <physical>, <discount>, <shipping_fee>, <sales_tax>, <digital>, <gift_card>, <store_credit>, <surcharge>

{
	"order_lines": [
		{
			"image_url": "https://www.exampleobjects.com/logo.png",
			"merchant_data": "",
			"name": "Battery Power Pack",
			"product_identifiers": {
				"brand": "Intel",
				"category_path": "Electronics Store > Computers & Tablets > Desktops",
				"global_trade_item-number": "735858293167",
				"manufacturer_part_number": "BOXNUC5CPYH"
			},
			"product_url": "https://www.estore.com/products/f2a8d7e34",
			"quantity": 1,
			"quantity_unit": "kg",
			"reference": "19-402-USA",
			"tax_rate": 0,
			"total_amount": 1000,
			"total_discount_amount": 0,
			"total_tax_amount": 0,
			"type": "physical",
			"unit_price": 1000
		}
	]
}

Afterwards the article list created in JSON format must be Base64 encoded.

Komplette Artikelliste der Bestellung. Dieser Parameter muss im JSON-Format erstellt werden.


Die einzelnen Parameter im JSON-Format sind folgende:

name = Produktname (Pflicht)

quantity = Artikelmenge. Der Wert darf nicht negativ sein. (Pflicht)

unit_price = Einzelpreis inkl. Steuern aber exkl. Rabatte. (Pflicht)

total_amount = Gesamtbetrag der Artikel inkl. Steuern und Rabatte. (Pflicht)

image_url = URL zu einem Bild, welches später in Absprache mit Klarna eingebettet werden kann. (max. 1024 Zeichen)

merchant_data = "Durchreich-Parameter" (max. 255 Zeichen). Was hier übermittelt wird, muss mit Klarna abgestimmt werden.

product_identifiers.brand = Produktmarke

product_identifiers.category_path = Pfad der Produktkategorie. Als Trennzeichen muss '>' verwendet werden.

product_identifiers.global_trade_item_number = Artikelnummer (z.B. EAN, ISBN oder UPC).

product_identifiers.manufacturer_part_number = Herstellernummer

product_url = URL zum Produktbild

quantity_unit = Mengeneinheit (z.B. kg)

reference = Artikelnummer (z.B. SKU)

tax_rate = Steuersatz in Prozent (z.B. 25%). Das Prozentzeichen muss durch zwei Nullen ersetzt werden, also zum Beispiel 2500. Der Wert darf nicht negativ sein. (Pflicht)

total_discount_amount = Gesamtbetrag des Rabattes. Der Wert darf nicht negativ sein.

total_tax_amount = Gesamtbetrag der Steuern. Der Wert darf negativ sein, wenn der type 'discount' ist. (Pflicht)

type = Typ der Artikelposition. Mögliche Werte sind <physical>, <discount>, <shipping_fee>, <sales_tax>, <digital>, <gift_card>, <store_credit>, <surcharge>

{
	"order_lines": [
		{
			"image_url": "https://www.exampleobjects.com/logo.png",
			"merchant_data": "",
			"name": "Battery Power Pack",
			"product_identifiers": {
				"brand": "Intel",
				"category_path": "Electronics Store > Computers & Tablets > Desktops",
				"global_trade_item-number": "735858293167",
				"manufacturer_part_number": "BOXNUC5CPYH"
			},
			"product_url": "https://www.estore.com/products/f2a8d7e34",
			"quantity": 1,
			"quantity_unit": "kg",
			"reference": "19-402-USA",
			"tax_rate": 0,
			"total_amount": 1000,
			"total_discount_amount": 0,
			"total_tax_amount": 0,
			"type": "physical",
			"unit_price": 1000
		}
	]
}

Anschließend muss die im JSON-Format erstellte Artikelliste Base64 encodiert werden.

CompleteType

"payment": {"klarna": { "completeType": "..." }}

a3

O

With this parameter during a partial capture it is possible to reverse the remaining amount simultaneously. Possible value <YES>. If the order was processed completely this parameter will cause an error, because a remaining amount of 0 cannot be reversed.

Mit diesem Parameter kann bei einer Teilbuchung gleichzeitig der noch verbleibende Restbetrag storniert werden. Möglicher Wert <YES>. Wurde der Auftrag vollständig gebucht, führt dieser Parameter zu einem Fehler, da ein Restbetrag von 0 nicht storniert werden kann.

Parameters for captures with Klarna Payments

 

Key

REST

Format

CND

Description

Beschreibung
InvoiceNr"payment": {"klarnaInvoiceNumber": "..." }ans..30MInvoice/booking number from Klarna. This number is needed for example for resending the E-Mail with payment and order information.Rechnungs-/Buchungsnummer von Klarna. Diese Nummer wird beispielsweise benötigt, um das Versenden der E-Mail mit den Zahlungs- und Bestellinformationen erneut anzustoßen.

CodeExt

"externalErrorCode": ...

ans..50

O

Error code from Klarna, if agreed with

Fehlercode von Klarna, wenn mit  abgesprochen

ErrorText

"errorText": "..."

ans..1024

O

Error text from Klarna, if agreed with

Fehlertext von Klarna, wenn mit  abgesprochen

Response parameters for captures with Klarna Payments



Resending an activated invoice

It may happen that a customer hasn’t received the E-Mail with payment and order information. This request is possible only if a capture was already made. For resending this E-Mail, please use the following URL:

KlarnaPayments.aspx

 

Key

REST

Format

CND

Description

Beschreibung

EventToken

"payment": {"klarna": { "eventType": "..." }}

enum

M

Defines which Klarna API-Call request will be initiated.

For resending the E-Mail the value RCC must be transferred.

Definiert, welcher Klarna API-Call Request angestoßen wird.

Für das erneute Versenden der E-Mail muss der Wert RCC übergeben werden.

InvoiceNr

"payment": {"klarnaInvoiceNumber": "..." }

ans..30

M

Invoice/booking number from Klarna which is returned for all captures within response parameter InvoiceNr

Rechnungs-/Buchungsnummer von Klarna, welche bei jeder Buchung im Antwortparameter InvoiceNr zurückgegeben wird

Parameters for resending an activated invoice with Klarna Payments


Key

REST

Format

CND

Description

Beschreibung

CodeExt

"externalErrorCode": ...

ans..50

O

Error code from Klarna, if agreed with

Fehlercode von Klarna, wenn mit  abgesprochen

ErrorText

"errorText": "..."

ans..1024

O

Error text from Klarna, if agreed with

Fehlertext von Klarna, wenn mit  abgesprochen

Response parameters for resending an activated invoice with Klarna Payments



Credit with reference and partial credit

Credits (refunds) are possible via a Server-to-Server connection. To carry out a partal or full credit with a reference transaction, please use the following URL:

credit.aspx

 

Key

REST

Format

CND

Description

Beschreibung

Amount

"amount": { "value": ...}

n..10

M

Total amount to be credited in the smallest currency unit including taxes and rebates (e.g. EUR Cent).

Please contact the helpdesk, if you want to capture amounts < 100 (smallest currency unit).

Notice: It depends on the amount whether a full or partial credit is made.

Gesamtbetrag, der gutgeschrieben werden soll, in der kleinsten Währungseinheit (z.B. EUR Cent) inkl. Steuern und Rabatten.

Bitte wenden Sie sich an den Helpdesk, wenn Sie Beträge < 100 (kleinste Währungseinheit) buchen möchten.

Hinweis: Ob eine Teil- oder Vollgutschrift durchgeführt wird, ist vom Betrag abhängig.

Currency

"amount": { "currency": "..."}

a..3

M

Currency, three characters DIN / ISO 4217, permitted are: AUD, CHF, DKK, EUR, GBP, NOK, SEK, USD.Währung, drei Zeichen DIN / ISO 4217, zulässig sind: AUD, CHF, DKK, EUR, GBP, NOK, SEK, USD.

Key

REST

Format

CND

Description

Beschreibung

ArticleList

"order": {"items": "..."}

ans..2048

O

Complete article list of the order. This parameter must be created in JSON format.


The individual parameters in JSON format are following:

name = Product name (mandatory)

quantity = item quantity. The value may not be negative. (mandatory)

unit_price = unit price inclusive taxes but without rebates. (mandatory)

total_amount = total amount of iarticles inclusive taxes and rebates. (mandatory)

image_url = URL for an image that can be embedded later in agreement with Klarna. (max. 1024 characters)

merchant_data = "pass-through parameter" (max. 255 characters). Merchant must agree with Klarna what will be transmitted here.

product_identifiers.brand = product brand

product_identifiers.category_path = path of product category. As separator '>' has to be used.

product_identifiers.global_trade_item_number = article number (e.g. EAN, ISBN or UPC).

product_identifiers.manufacturer_part_number = manufacturer’s number

product_url = URL to product image

quantity_unit = unit of quantity (e.g. kg)

reference = article number (e.g. SKU)

tax_rate = tax rate as percentage (e.g. 25%). The percent sign muss be replaced with two zeros, thus for example 2500. The value may not be negative. (mandatory)

total_discount_amount = total amount of rebate. The value may not be negative.

total_tax_amount = total amount of taxes. The value may be negative, if type is 'discount'. (mandatory)

type = type of item position. Possible entries are <physical>, <discount>, <shipping_fee>, <sales_tax>, <digital>, <gift_card>, <store_credit>, <surcharge>

{
	"order_lines": [
		{
			"image_url": "https://www.exampleobjects.com/logo.png",
			"merchant_data": "",
			"name": "Battery Power Pack",
			"product_identifiers": {
				"brand": "Intel",
				"category_path": "Electronics Store > Computers & Tablets > Desktops",
				"global_trade_item-number": "735858293167",
				"manufacturer_part_number": "BOXNUC5CPYH"
			},
			"product_url": "https://www.estore.com/products/f2a8d7e34",
			"quantity": 1,
			"quantity_unit": "kg",
			"reference": "19-402-USA",
			"tax_rate": 0,
			"total_amount": 1000,
			"total_discount_amount": 0,
			"total_tax_amount": 0,
			"type": "physical",
			"unit_price": 1000
		}
	]
}

Afterwards the article list created in JSON format must be Base64 encoded.

Komplette Artikelliste der Bestellung. Dieser Parameter muss im JSON-Format erstellt werden.


Die einzelnen Parameter im JSON-Format sind folgende:

name = Produktname (Pflicht)

quantity = Artikelmenge. Der Wert darf nicht negativ sein. (Pflicht)

unit_price = Einzelpreis inkl. Steuern aber exkl. Rabatte. (Pflicht)

total_amount = Gesamtbetrag der Artikel inkl. Steuern und Rabatte. (Pflicht)

image_url = URL zu einem Bild, welches später in Absprache mit Klarna eingebettet werden kann. (max. 1024 Zeichen)

merchant_data = "Durchreich-Parameter" (max. 255 Zeichen). Was hier übermittelt wird, muss mit Klarna abgestimmt werden.

product_identifiers.brand = Produktmarke

product_identifiers.category_path = Pfad der Produktkategorie. Als Trennzeichen muss '>' verwendet werden.

product_identifiers.global_trade_item_number = Artikelnummer (z.B. EAN, ISBN oder UPC).

product_identifiers.manufacturer_part_number = Herstellernummer

product_url = URL zum Produktbild

quantity_unit = Mengeneinheit (z.B. kg)

reference = Artikelnummer (z.B. SKU)

tax_rate = Steuersatz in Prozent (z.B. 25%). Das Prozentzeichen muss durch zwei Nullen ersetzt werden, also zum Beispiel 2500. Der Wert darf nicht negativ sein. (Pflicht)

total_discount_amount = Gesamtbetrag des Rabattes. Der Wert darf nicht negativ sein.

total_tax_amount = Gesamtbetrag der Steuern. Der Wert darf negativ sein, wenn der type 'discount' ist. (Pflicht)

type = Typ der Artikelposition. Mögliche Werte sind <physical>, <discount>, <shipping_fee>, <sales_tax>, <digital>, <gift_card>, <store_credit>, <surcharge>

{
	"order_lines": [
		{
			"image_url": "https://www.exampleobjects.com/logo.png",
			"merchant_data": "",
			"name": "Battery Power Pack",
			"product_identifiers": {
				"brand": "Intel",
				"category_path": "Electronics Store > Computers & Tablets > Desktops",
				"global_trade_item-number": "735858293167",
				"manufacturer_part_number": "BOXNUC5CPYH"
			},
			"product_url": "https://www.estore.com/products/f2a8d7e34",
			"quantity": 1,
			"quantity_unit": "kg",
			"reference": "19-402-USA",
			"tax_rate": 0,
			"total_amount": 1000,
			"total_discount_amount": 0,
			"total_tax_amount": 0,
			"type": "physical",
			"unit_price": 1000
		}
	]
}

Anschließend muss die im JSON-Format erstellte Artikelliste Base64 encodiert werden.

Parameters for credits of payments with Klarna Payments

 

Key

REST

Format

CND

Description

Beschreibung
InvoiceNr"payment": {"klarnaInvoiceNumber": "..." }ans..30MNumber of invoice/credit note from Klarna PaymentsRechnungs-/Gutschriftsnummer von Klarna Payments

CodeExt

"externalErrorCode": ...

ans..50

O

Error code from Klarna, if agreed with

Fehlercode von Klarna, wenn mit  abgesprochen

ErrorText

"errorText": "..."

ans..1024

O

Error text from Klarna, if agreed with

Fehlertext von Klarna, wenn mit  abgesprochen

Response parameters for credits of payments with Klarna Payments



Reversal

Reversals are possible via a Server-to-Server connection. With this request merchants can reverse the total authorisation amount in case of no capture was made or can reverse the remaining authorisation amount if a partial capture was already made. For this purpose please use the following URL:

reverse.aspx

 

Key

REST

Format

CND

Description

Beschreibung

Amount

"amount": { "value": ...}

n..10

M

Amount to be reversed in the smallest currency unit including taxes and rebates (e.g. EUR Cent).

Please contact the helpdesk, if you want to capture amounts < 100 (smallest currency unit).

Notice: If no capture was made the amount must equals the previously authorised amount. If a partial capture already was made the amount must equals the remaining authorised amount. A reversal for an already completely captured order will be refused with an error also if an amount 0 is used.

Betrag, der storniert werden soll, in der kleinsten Währungseinheit (z.B. EUR Cent) inkl. Steuern und Rabatten.

Bitte wenden Sie sich an den Helpdesk, wenn Sie Beträge < 100 (kleinste Währungseinheit) buchen möchten.

Hinweis: Wenn noch keine Buchung erfolgt ist, muss der Betrag dem vorher autorisierten Betrag entsprechen. Wenn bereits eine Teilbuchung erfolgt ist, muss der Betrag dem Restbetrag der Autorisierung entsprechen. Eine Stornierung auf einem bereits vollständig gebuchtem Auftrag wird mit einem Fehler abgelehnt, auch wenn als Betrag 0 verwendet wird.

Currency

"amount": { "currency": "..."}

a..3

M

Currency, three characters DIN / ISO 4217, permitted are: AUD, CHF, DKK, EUR, GBP, NOK, SEK, USD.Währung, drei Zeichen DIN / ISO 4217, zulässig sind: AUD, CHF, DKK, EUR, GBP, NOK, SEK, USD.

Parameters for reversal of payments with Klarna Payments

 

Key

REST

Format

CND

Description

Beschreibung

CodeExt

"externalErrorCode": ...

ans..50

O

Error code from Klarna, if agreed with

Fehlercode von Klarna, wenn mit  abgesprochen

ErrorText

"errorText": "..."

ans..1024

O

Error text from Klarna, if agreed with

Fehlertext von Klarna, wenn mit  abgesprochen

Response parameters for reversal of payments with Klarna Payments



Batch processing via the interface

This section describes the parameters which must be transferred within the data set (Record) for executing a payment with Klarna Payments and which information can be found within the response file about the payment status.

When capturing there is a need to differentiate between complete and partial activation requests. In the case of part capturing you need also to transfer the article list with <ArticleList>. The <ArticleList> parameter is also required if a partial credit is made on a full activation. The two parameters <ArticleList> and <InvNo> are also required in the case of a partial credit on a partial activation. All additional parameters are also returned in the response file.

Following table gives an overview of all batch versions that are possible for a specific action and their specialities:

Action

Version

Description

Beschreibung
Capture1.0 / 2.0Standard version without return of parameter CodeStandardversion ohne Rückgabe von Parameter Code

1.x / 2.xwith RefNr (valid for all versions other than 1.0)mit RefNr (gilt für alle Versionen außer 1.0)

Credit

1.0 / 2.0

Standard version without return of parameter Code

Standardversion ohne Rückgabe von Parameter Code


1.x / 2.x

with RefNr (valid for all versions other than 1.0)

mit RefNr (gilt für alle Versionen außer 1.0)
Reverse1.0 / 2.0Standard version without return of parameter CodeStandardversion ohne Rückgabe von Parameter Code

1.x / 2.xwith RefNr (valid for all versions other than 1.0)mit RefNr (gilt für alle Versionen außer 1.0)

Description of the possible batch versions


The structure for a payment with Klarna Payments within a Batch file to be submitted is the following:

HEAD,<MerchantID>,<Date>,<Version>
KLARNAPM,CAPTURE,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>
KLARNAPM,CAPTURE,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>,<ArticleList>
KLARNAPM,CREDIT,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>
KLARNAPM,CREDIT,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>,<ArticleList>
KLARNAPM,REVERSE,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>
FOOT,<CountRecords>,<SumAmount>


Example for Master MID function:

HEAD,[Master]MerchantID,Date,2.x
Type,Action,[Slave]MID,Amount,Currency,TransID,Data (depends on Action)
FOOT,CountRecords,SumAmount


Key

Format

CND

Description

Beschreibung

Type

a..11

M

HEAD for Header, FOOT for Footer, KLARNAPM for Klarna Payments

HEAD für Header, FOOT für Footer, KLARNAPM für Klarna Payments

Action

a..20

M

The parameter Action defines the type of transaction:

Capture

Credit

Reverse (cancellation)

Der Action-Parameter definiert die Art der Transaktion:

Capture (Buchung)

Credit (Gutschrift)

Reverse (Storno)

Key

Format

CND

Description

Beschreibung

Currency

a3

M

Currency, three characters DIN / ISO 4217, permitted are: AUD, CHF, DKK, EUR, GBP, NOK, SEK, USD.Währung, drei Zeichen DIN / ISO 4217, zulässig sind: AUD, CHF, DKK, EUR, GBP, NOK, SEK, USD.

Key

Format

CND

Description

Beschreibung

InvNo

ans..30

O

Invoice number for a part activation or part credit. Longest InvNo so far had 17 digits.Rechnungsnummer für eine Teil-Aktivierung oder Teil-Gutschrift. Längste InvNo bisher war 17stellig.

Description of fields within the record for Batch files

 

The record area within the response file for Batch transactions looks as follows:

HEAD,<MerchantID>,<Date>,<Version>
KLARNAPM,CAPTURE,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>,<Status>,<Code>
KLARNAPM,CAPTURE,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>,<ArticleList>,<InvNo>,<Status>,<Code>
KLARNAPM,CREDIT,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>,<Status>,<Code>
KLARNAPM,CREDIT,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>,<ArticleList>,<InvNo>,<Status>,<Code>
KLARNAPM,REVERSE,<Amount>,<Currency>,<TransID>,(<RefNr>,)<PayID>,<Status>,<Code>
FOOT,<CountRecords>,<SumAmount>


Key

Format

CND

Description

Beschreibung

Action

a..20

M

The parameter Action defines the type of transaction:

Capture

Credit

Reverse (cancellation)

Der Action-Parameter definiert die Art der Transaktion:

Capture (Buchung)

Credit (Gutschrift)

Reverse (Storno)

Description of result parameters within the record for Batch files