Customer data requirements for authorize()

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.

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 billing and shipping addresses are different.
  • The customer of the billing and shipping addresses is different.

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.

This section only applies to:
Customer detailsRequierement levelComment
emailOptional for authorize() operationMust 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_codeOptional for authorize() operationValidation according to Universal Postal Union addressing systems.
national_identification_numberDepending 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_nameOptional for authorize() operationCustomers given name in UTF-8 encoding.
Cannot be only numbers, must be more than 1 character.
Allowed special characters: -'’.°ºᵃª
family_nameOptional for authorize() operationCustomers family name in UTF-8 encoding.
Cannot be only numbers, must be more than 1 character.
Allowed special characters: -'’.°ºᵃª
street_addressOptional for authorize() operationStreet name and number following Universal Postal Union addressing systems
Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
care_ofOptional for authorize() operationTo address the order to another recipient. B2C purchases only.
cityOptional for authorize() operationCity field according to the market.
phoneOptional for authorize() operationFollow the standards defined in https://github.com/googlei18n/libphonenumber
genderDerivedDerived from PNO
date_of_birthDerivedDerived from PNO
This section only applies to:
Customer detailsRequierement levelComment
- emailOptional for authorize() operationMust 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_codeOptional for authorize() operationValidation according to Universal Postal Union addressing systems.
- titleOptional for authorize() operationMr, Ms
date_of_birthDepending 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_nameOptional for authorize() operationCustomers given name in UTF-8 encoding.
Cannot be only numbers, must be more than 1 character.
Allowed special characters: -'’.°ºᵃª
family_nameOptional for authorize() operationCustomers family name in UTF-8 encoding.
Cannot be only numbers, must be more than 1 character.
Allowed special characters: -'’.°ºᵃª
street_addressOptional for authorize() operationStreet name and number following Universal Postal Union addressing systems
Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
street_address2Optional for authorize() operationSecond address line.
Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
cityOptional for authorize() operationCity field according to the market.
phoneOptional for authorize() operationFollow the standards defined in https://github.com/googlei18n/libphonenumber
genderDerivedDerived from title
This section only applies to:
Customer detailsRequierement levelComment
emailOptional for authorize() operationMust 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() operationValidation according to Universal Postal Union addressing systems
date_of_birthDepending 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_nameOptional for authorize() operationCustomers given name in UTF-8 encoding.
Cannot be only numbers, must be more than 1 character.
Allowed special characters: -'’.°ºᵃª
family_nameOptional for authorize() operationCustomers family name in UTF-8 encoding.
Cannot be only numbers, must be more than 1 character.
Allowed special characters: -'’.°ºᵃª
street_addressOptional for authorize() operationStreet name and number following Universal Postal Union addressing systems
Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
street_address2Optional for authorize() operationSecond address line.
Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
cityOptional for authorize() operationCity field according to the market.
regionOptional for authorize() operationCounty, E.G "Antrim".
phoneOptional for authorize() operationFollow the standards defined in https://github.com/googlei18n/libphonenumber
This section only applies to:
Customer detailsRequierement levelComment
emailOptional for authorize() operationMust 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_codeOptional for authorize() operationValidation according to Universal Postal Union addressing systems.
date_of_birthDepending on the payment method. If not added, Klarna will collect the details in the purchase flow.Necessary for all credit payment methods.
titleOptional for authorize() operationde:“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_nameOptional for authorize() operationCustomers given name in UTF-8 encoding.
Cannot be only numbers, must be more than 1 character.
Allowed special characters: -'’.°ºᵃª
family_nameOptional for authorize() operationCustomers family name in UTF-8 encoding.
Cannot be only numbers, must be more than 1 character.
Allowed special characters: -'’.°ºᵃª
street_addressOptional for authorize() operationStreet name and number following Universal Postal Union addressing systems
Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
care_ofOptional for authorize() operationTo address the order to another recipient. B2C purchases only.
cityOptional for authorize() operationCity field according to the market.
phoneOptional for authorize() operationFollow the standards defined in https://github.com/googlei18n/libphonenumber
> genderDerived from title.
This section only applies to:
Customer detailsRequierement levelComment
emailOptional for authorize() operationMust 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_codeOptional for authorize() operationValidation according to Universal Postal Union addressing systems.
date_of_birthDepending on the payment method. If not added, Klarna will collect the details in the purchase flow.Necessary for all credit payment methods.
place_of_birthDepending on the payment method. If not added, Klarna will collect the details in the purchase flow.Necessary for all credit payment methods.
given_nameOptional for authorize() operationCustomers given name in UTF-8 encoding.
Cannot be only numbers, must be more than 1 character.
Allowed special characters: -'’.°ºᵃª
family_nameOptional for authorize() operationCustomers family name in UTF-8 encoding.
Cannot be only numbers, must be more than 1 character.
Allowed special characters: -'’.°ºᵃª
street_addressOptional for authorize() operationStreet name and number following Universal Postal Union addressing systems
Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
street_address2Optional for authorize() operationSecond address line.
Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
cityOptional for authorize() operationCity field according to the market.
phoneOptional for authorize() operationFollow the standards defined in https://github.com/googlei18n/libphonenumber
This section only applies to:
Customer detailsRequierement levelComment
emailOptional for authorize() operationMust 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_codeOptional for authorize() operationValidation according to Universal Postal Union addressing systems.
date_of_birthDepending on the payment method. If not added, Klarna will collect the details in the purchase flow.Necessary for all credit payment methods.
place_of_birthDepending on the payment method. If not added, Klarna will collect the details in the purchase flow.Necessary for all credit payment methods.
given_nameOptional for authorize() operationCustomers given name in UTF-8 encoding.
Cannot be only numbers, must be more than 1 character.
Allowed special characters: -'’.°ºᵃª
family_nameOptional for authorize() operationCustomers family name in UTF-8 encoding.
Cannot be only numbers, must be more than 1 character.
Allowed special characters: -'’.°ºᵃª
street_addressOptional for authorize() operationStreet name and number following Universal Postal Union addressing systems
Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
street_address2Optional for authorize() operationSecond address line.
Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
cityOptional for authorize() operationCity field according to the market.
regionOptional for authorize() operationProvince in 2 letter format e.g "AG".
phoneOptional for authorize() operationFollow the standards defined in https://github.com/googlei18n/libphonenumber
This section only applies to:
Customer DetailsRequierement levelComment
emailOptional for authorize() operationMust 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_codeOptional for authorize() operationValidation according to Universal Postal Union addressing systems.
date_of_birthDepending on the payment method. If not added, Klarna will collect the details in the purchase flow.Necessary for all credit payment methods.
given_nameOptional for authorize() operationCustomers given name in UTF-8 encoding.
Cannot be only numbers, must be more than 1 character.
Allowed special characters: -'’.°ºᵃª
family_nameOptional for authorize() operationCustomers family name in UTF-8 encoding.
Cannot be only numbers, must be more than 1 character.
Allowed special characters: -'’.°ºᵃª
street_addressOptional for authorize() operationStreet name and number following Universal Postal Union addressing systems
Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
street_address2Optional for authorize() operationSecond address line.
Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
cityOptional for authorize() operationCity field according to the market.
phoneOptional for authorize() operationFollow the standards defined in https://github.com/googlei18n/libphonenumber
This section only applies to:
Customer DetailsRequierement levelComment
emailOptional for authorize() operationMust 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_codeOptional for authorize() operationValidation according to Universal Postal Union addressing systems.
date_of_birthDepending on the payment method. If not added, Klarna will collect the details in the purchase flow.Necessary for all credit payment methods.
given_nameOptional for authorize() operationCustomers 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_nameOptional for authorize() operationCustomers 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_addressOptional for authorize() operationStreet name and number following Universal Postal Union addressing systems
Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
Letters with diacritics are allowed.
street_address2Optional for authorize() operationStreet name and number.
Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
Letters with diacritics are allowed.
cityOptional for authorize() operationCity field according to the market.
Letters with diacritics are allowed.
regionOptional for authorize() operationPostal 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
This section only applies to:
Customer detailsRequierement levelComment
emailOptional for authorize() operationMust 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_codeOptional for authorize() operationValidation according to Universal Postal Union addressing systems.
date_of_birthDepending on the payment method. If not added, Klarna will collect the details in the purchase flow.Necessary for all credit payment methods.
given_nameOptional for authorize() operationCustomers given name in UTF-8 encoding.
Cannot be only numbers, must be more than 1 character.
Allowed special characters: -'’.°ºᵃª
family_nameOptional for authorize() operationCustomers family name in UTF-8 encoding.
Cannot be only numbers, must be more than 1 character.
Allowed special characters: -'’.°ºᵃª
street_addressOptional for authorize() operationStreet name and number following Universal Postal Union addressing systems
Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
street_address2Optional for authorize() operationAddress line 2, apartment, suite, for example, apt 2.
Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
regionOptional for authorize() operationFor 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.
cityOptional for authorize() operationCity field according to the market.
phoneOptional for authorize() operationFollow the standards defined inhttps://github.com/googlei18n/libphonenumber
This section only applies to:
Customer detailsRequierement levelComment
emailOptional for authorize() operationMust 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_codeOptional for authorize() operationValidation according to Universal Postal Union addressing systems.
date_of_birthDepending on the payment method. If not added, Klarna will collect the details in the purchase flow.Necessary for all credit payment methods.
given_nameOptional for authorize() operationCustomers given name in UTF-8 encoding.
Cannot be only numbers, must be more than 1 character.
Allowed special characters: -'’.°ºᵃª
family_nameOptional for authorize() operationCustomers family name in UTF-8 encoding.
Cannot be only numbers, must be more than 1 character.
Allowed special characters: -'’.°ºᵃª
street_addressOptional for authorize() operationStreet name and number following Universal Postal Union addressing systems
Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
street_address2Optional for authorize() operationSecond address line.
Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
regionOptional for authorize() operationFor AU: State code in ISO 3166-2 format, for example, “QLD” for Queensland, “WA” for “Western Australia”.
For NZ: Suburb e.g ​​"Avondale"
cityOptional for authorize() operationCity field according to the market.
phoneOptional for authorize() operationFollow the standards defined in https://github.com/googlei18n/libphonenumber