This section describes the customer data we require to place an order, depending on the purchase country.
As we offer credit to your customers, we need to have enough data to do a proper risk and fraud assessment. This is only possible if we have high-quality customer data in a standardized format.
Klarna’s services may not be used by businesses registered or operating in some jurisdictions. Additionally, Klarna’s services may not be used to process payments for the sale of goods or services shipping from, or for the purchase of goods that would be shipped to consumers with a billing or shipping address in the specific regions.
See full list of Prohibited Jurisdictions and Regions here
Finally, but not less important, we also need to manage customer data to ensure the best customer experience in the order management process.
Ensure customer information is not sent before confirming the intention to pay with Klarna to remain GDPR compliant. This confirmation typically occurs at the time of authorization.
Klarna payments API can handle both billing and shipping addresses separately. If you don't provide a shipping address, we duplicate the billing address and use it as the shipping address in our customer data.
During our assessment, the fraud risk might be higher if:
The customer data you send us in later calls after authorize()
is merged with the data you entered previously.
Depending on the data standards of each country, we require different information per country market. To ensure a friendly customer experience, you need to properly provide the customer details in the mandatory fields.
street_address2
is only to add extra details to the address, such as the floor and the apartment number. Send the main address information in the regular street_address
field.
The following Unicode blocks are supported for all markets except Greek
BASIC_LATIN
LATIN_1_SUPPLEMENT
LATIN_EXTENDED_A
PHONETIC_EXTENSIONS
The following Unicode blocks are supported for the Greek market
BASIC_LATIN
GREEK
GREEK_EXTENDED
Additionally, characters are also matched against the following Unicode categories
Li (Lower case characters)
Lu (Upper case characters)
Nd (Decimal digit number characters)
Note that any characters that don't belong to the categories above are considered special characters. The characters allowed in each field are listed in the market overview tables below.
Customer details | Requierement level | Comment |
---|---|---|
Optional for authorize() operation | Must include @ and domain. Pattern: (?<local>^[a-zA-Z0-9!#$%&'+/=?^_`{}~-]+(?:\.[a-zA-Z0-9!#$%&'+/=?^_`{}~-]+)*)@(?<domain>(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+(?<tld>[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$)) | |
postal_code | Optional for authorize() operation | Validation according to Universal Postal Union addressing systems. |
national_identification_number | Depending on the payment method. If not added, Klarna will collect the details in the purchase flow. | Necessary for all credit payment methods and Pay Now. |
given_name | Optional for authorize() operation | Customers given name in UTF-8 encoding. Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.°ºᵃª |
family_name | Optional for authorize() operation | Customers family name in UTF-8 encoding. Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.°ºᵃª |
street_address | Optional for authorize() operation | Street name and number following Universal Postal Union addressing systems Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \ |
care_of | Optional for authorize() operation | To address the order to another recipient. B2C purchases only. |
city | Optional for authorize() operation | City field according to the market. |
phone | Optional for authorize() operation | Follow the standards defined in https://github.com/googlei18n/libphonenumber |
gender | Derived | Derived from PNO |
date_of_birth | Derived | Derived from PNO |
Customer details | Requierement level | Comment |
---|---|---|
Optional for authorize() operation | Must include @ and domain. Pattern: (?<local>^[a-zA-Z0-9!#$%&'+/=?^_`{}~-]+(?:\.[a-zA-Z0-9!#$%&'+/=?^_`{}~-]+)*)@(?<domain>(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+(?<tld>[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$)) | |
- postal_code | Optional for authorize() operation | Validation according to Universal Postal Union addressing systems. |
- title | Optional for authorize() operation | Mr, Ms |
date_of_birth | Depending on the payment method. If not added, Klarna will collect the details in the purchase flow. | Necessary for all credit payment methods and Pay Now. |
given_name | Optional for authorize() operation | Customers given name in UTF-8 encoding. Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.°ºᵃª |
family_name | Optional for authorize() operation | Customers family name in UTF-8 encoding. Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.°ºᵃª |
street_address | Optional for authorize() operation | Street name and number following Universal Postal Union addressing systems Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \ |
street_address2 | Optional for authorize() operation | Second address line. Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \ |
city | Optional for authorize() operation | City field according to the market. |
phone | Optional for authorize() operation | Follow the standards defined in https://github.com/googlei18n/libphonenumber |
gender | Derived | Derived from title |
Customer details | Requierement level | Comment |
---|---|---|
Optional for authorize() operation | Must include @ and domain. Pattern: (?<local>^[a-zA-Z0-9!#$%&'+/=?^_`{}~-]+(?:\.[a-zA-Z0-9!#$%&'+/=?^_`{}~-]+)*)@(?<domain>(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+(?<tld>[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$)) | |
postal_code (eircode) | Optional for authorize() operation | Validation according to Universal Postal Union addressing systems |
date_of_birth | Depending on the payment method. If not added, Klarna will collect the details in the purchase flow. | Necessary for all credit payment methods and Pay Now. |
given_name | Optional for authorize() operation | Customers given name in UTF-8 encoding. Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.°ºᵃª |
family_name | Optional for authorize() operation | Customers family name in UTF-8 encoding. Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.°ºᵃª |
street_address | Optional for authorize() operation | Street name and number following Universal Postal Union addressing systems Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \ |
street_address2 | Optional for authorize() operation | Second address line. Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \ |
city | Optional for authorize() operation | City field according to the market. |
region | Optional for authorize() operation | County, E.G "Antrim". |
phone | Optional for authorize() operation | Follow the standards defined in https://github.com/googlei18n/libphonenumber |
Customer details | Requierement level | Comment |
---|---|---|
Optional for authorize() operation | Must include @ and domain. Pattern: (?<local>^[a-zA-Z0-9!#$%&'+/=?^_`{}~-]+(?:\.[a-zA-Z0-9!#$%&'+/=?^_`{}~-]+)*)@(?<domain>(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+(?<tld>[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$)) | |
postal_code | Optional for authorize() operation | Validation according to Universal Postal Union addressing systems. |
date_of_birth | Depending on the payment method. If not added, Klarna will collect the details in the purchase flow. | Necessary for all credit payment methods. |
title | Optional for authorize() operation | de:“Herr”, “Frau”; de_CH: “Herr, “Frau”; it_CH: “Sig.", “Sig.ra”; fr_CH: “M", “Mme”; nl: “Dhr.", “Mevr.”; nl_BE: “Dhr”, “Mevr”; fr_BE: “M", “Mme” |
given_name | Optional for authorize() operation | Customers given name in UTF-8 encoding. Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.°ºᵃª |
family_name | Optional for authorize() operation | Customers family name in UTF-8 encoding. Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.°ºᵃª |
street_address | Optional for authorize() operation | Street name and number following Universal Postal Union addressing systems Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \ |
care_of | Optional for authorize() operation | To address the order to another recipient. B2C purchases only. |
city | Optional for authorize() operation | City field according to the market. |
phone | Optional for authorize() operation | Follow the standards defined in https://github.com/googlei18n/libphonenumber |
> gender | Derived from title. |
Customer details | Requierement level | Comment |
---|---|---|
Optional for authorize() operation | Must include @ and domain. Pattern: (?<local>^[a-zA-Z0-9!#$%&'+/=?^_`{}~-]+(?:\.[a-zA-Z0-9!#$%&'+/=?^_`{}~-]+)*)@(?<domain>(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+(?<tld>[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$)) | |
postal_code | Optional for authorize() operation | Validation according to Universal Postal Union addressing systems. |
date_of_birth | Depending on the payment method. If not added, Klarna will collect the details in the purchase flow. | Necessary for all credit payment methods. |
place_of_birth | Depending on the payment method. If not added, Klarna will collect the details in the purchase flow. | Necessary for all credit payment methods. |
given_name | Optional for authorize() operation | Customers given name in UTF-8 encoding. Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.°ºᵃª |
family_name | Optional for authorize() operation | Customers family name in UTF-8 encoding. Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.°ºᵃª |
street_address | Optional for authorize() operation | Street name and number following Universal Postal Union addressing systems Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \ |
street_address2 | Optional for authorize() operation | Second address line. Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \ |
city | Optional for authorize() operation | City field according to the market. |
phone | Optional for authorize() operation | Follow the standards defined in https://github.com/googlei18n/libphonenumber |
Customer details | Requierement level | Comment |
---|---|---|
Optional for authorize() operation | Must include @ and domain. Pattern: (?<local>^[a-zA-Z0-9!#$%&'+/=?^_`{}~-]+(?:\.[a-zA-Z0-9!#$%&'+/=?^_`{}~-]+)*)@(?<domain>(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+(?<tld>[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$)) | |
postal_code | Optional for authorize() operation | Validation according to Universal Postal Union addressing systems. |
date_of_birth | Depending on the payment method. If not added, Klarna will collect the details in the purchase flow. | Necessary for all credit payment methods. |
place_of_birth | Depending on the payment method. If not added, Klarna will collect the details in the purchase flow. | Necessary for all credit payment methods. |
given_name | Optional for authorize() operation | Customers given name in UTF-8 encoding. Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.°ºᵃª |
family_name | Optional for authorize() operation | Customers family name in UTF-8 encoding. Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.°ºᵃª |
street_address | Optional for authorize() operation | Street name and number following Universal Postal Union addressing systems Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \ |
street_address2 | Optional for authorize() operation | Second address line. Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \ |
city | Optional for authorize() operation | City field according to the market. |
region | Optional for authorize() operation | Province in 2 letter format e.g "AG". |
phone | Optional for authorize() operation | Follow the standards defined in https://github.com/googlei18n/libphonenumber |
Customer Details | Requierement level | Comment |
---|---|---|
Optional for authorize() operation | Must include @ and domain. Pattern: (?<local>^[a-zA-Z0-9!#$%&'+/=?^_`{}~-]+(?:\.[a-zA-Z0-9!#$%&'+/=?^_`{}~-]+)*)@(?<domain>(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+(?<tld>[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$)) | |
postal_code | Optional for authorize() operation | Validation according to Universal Postal Union addressing systems. |
date_of_birth | Depending on the payment method. If not added, Klarna will collect the details in the purchase flow. | Necessary for all credit payment methods. |
given_name | Optional for authorize() operation | Customers given name in UTF-8 encoding. Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.°ºᵃª |
family_name | Optional for authorize() operation | Customers family name in UTF-8 encoding. Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.°ºᵃª |
street_address | Optional for authorize() operation | Street name and number following Universal Postal Union addressing systems Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \ |
street_address2 | Optional for authorize() operation | Second address line. Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \ |
city | Optional for authorize() operation | City field according to the market. |
phone | Optional for authorize() operation | Follow the standards defined in https://github.com/googlei18n/libphonenumber |
Customer Details | Requierement level | Comment |
---|---|---|
Optional for authorize() operation | Must include @ and domain. Pattern: (?<local>^[a-zA-Z0-9!#$%&'+/=?^_`{}~-]+(?:\.[a-zA-Z0-9!#$%&'+/=?^_`{}~-]+)*)@(?<domain>(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+(?<tld>[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$)) | |
postal_code | Optional for authorize() operation | Validation according to Universal Postal Union addressing systems. |
date_of_birth | Depending on the payment method. If not added, Klarna will collect the details in the purchase flow. | Necessary for all credit payment methods. |
given_name | Optional for authorize() operation | Customers given name in UTF-8 encoding. Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.°ºᵃª Letters with diacritics are allowed. |
family_name | Optional for authorize() operation | Customers given name in UTF-8 encoding. Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.°ºᵃª Letters with diacritics are allowed. |
street_address | Optional for authorize() operation | Street name and number following Universal Postal Union addressing systems Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \ Letters with diacritics are allowed. |
street_address2 | Optional for authorize() operation | Street name and number. Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \ Letters with diacritics are allowed. |
city | Optional for authorize() operation | City field according to the market. Letters with diacritics are allowed. |
region | Optional for authorize() operation | Postal address region (or sector for addresses in Bucharest). For example Cluj (region) or Sector 6 (sector). Letters with diacritics are allowed. |
phone Optional for authorize() operation | Follow the standards defined in https://github.com/googlei18n/libphonenumber |
Customer details | Requierement level | Comment |
---|---|---|
Optional for authorize() operation | Must include @ and domain. Pattern: (?<local>^[a-zA-Z0-9!#$%&'+/=?^_`{}~-]+(?:\.[a-zA-Z0-9!#$%&'+/=?^_`{}~-]+)*)@(?<domain>(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+(?<tld>[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$)) | |
postal_code | Optional for authorize() operation | Validation according to Universal Postal Union addressing systems. |
date_of_birth | Depending on the payment method. If not added, Klarna will collect the details in the purchase flow. | Necessary for all credit payment methods. |
given_name | Optional for authorize() operation | Customers given name in UTF-8 encoding. Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.°ºᵃª |
family_name | Optional for authorize() operation | Customers family name in UTF-8 encoding. Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.°ºᵃª |
street_address | Optional for authorize() operation | Street name and number following Universal Postal Union addressing systems Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \ |
street_address2 | Optional for authorize() operation | Address line 2, apartment, suite, for example, apt 2. Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \ |
region | Optional for authorize() operation | For US: Two-letter state code in ISO 3166-1 alpha-2 format. For example, “CA” for California For Canada: Two-letter province code , for example, "ON" for Ontario. For Mexico: Two/three-letter format (ISO 3166-1 alpha-2) for the state. For example, “CDMX” for Ciudad de Mexico, "JAL" for Jalisco, "NL" for Nuevo León. |
city | Optional for authorize() operation | City field according to the market. |
phone | Optional for authorize() operation | Follow the standards defined inhttps://github.com/googlei18n/libphonenumber |
Customer details | Requierement level | Comment |
---|---|---|
Optional for authorize() operation | Must include @ and domain. Pattern: (?<local>^[a-zA-Z0-9!#$%&'+/=?^_`{}~-]+(?:\.[a-zA-Z0-9!#$%&'+/=?^_`{}~-]+)*)@(?<domain>(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+(?<tld>[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$)) | |
postal_code | Optional for authorize() operation | Validation according to Universal Postal Union addressing systems. |
date_of_birth | Depending on the payment method. If not added, Klarna will collect the details in the purchase flow. | Necessary for all credit payment methods. |
given_name | Optional for authorize() operation | Customers given name in UTF-8 encoding. Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.°ºᵃª |
family_name | Optional for authorize() operation | Customers family name in UTF-8 encoding. Cannot be only numbers, must be more than 1 character. Allowed special characters: -'’.°ºᵃª |
street_address | Optional for authorize() operation | Street name and number following Universal Postal Union addressing systems Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \ |
street_address2 | Optional for authorize() operation | Second address line. Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \ |
region | Optional for authorize() operation | For AU: State code in ISO 3166-2 format, for example, “QLD” for Queensland, “WA” for “Western Australia”. For NZ: Suburb e.g "Avondale" |
city | Optional for authorize() operation | City field according to the market. |
phone | Optional for authorize() operation | Follow the standards defined in https://github.com/googlei18n/libphonenumber |