Klarna Docs - Customer data requirements for authorize()
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.

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.

Keep in mind that data while points may have different requirement level (optional or mandatory) in previous operations performed (create_session, update), but if any field defined as mandatory on authorize() call is missing, you get an error message. You then need to collect all missing  authorize() mandatory data and perform a new attempt to complete the purchase.

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.

The following table shows the meaning of the symbols you can see in the customer data tables.

SymbolMeaning
Mandatory for authorize() operation
-Optional for authorize() operation
>Derived
!See notes
?Depending on the payment method. If not added, Klarna will collect the details in the purchase flow.
This section only applies to:
Customer detailsComment
  • email
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
Validation according to Universal Postal Union addressing systems.
? national_identification_numberNecessary for all credit payment methods and Pay Now.
  • given_name
Customers given name in UTF-8 encoding.Cannot be only numbers, must be more than 1 character.Allowed special characters: -'’.°ºᵃª
  • family_name
Customers family name in UTF-8 encoding.Cannot be only numbers, must be more than 1 character.Allowed special characters: -'’.°ºᵃª
  • street_address
Street name and number following Universal Postal Union addressing systemsAllowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
- care_ofTo address the order to another recipient. B2C purchases only.
  • city
City field according to the market.
  • phone
Follow the standards defined in https://github.com/googlei18n/libphonenumber
> gender - from PNO
> date_of_birth - from PNO
This section only applies to:
Customer detailsComment
  • email
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
Validation according to Universal Postal Union addressing systems.
- titleMr, Ms
? date_of_birthNecessary for all credit payment methods and Pay Now.
  • given_name
Customers given name in UTF-8 encoding.Cannot be only numbers, must be more than 1 character.Allowed special characters: -'’.°ºᵃª
  • family_name
Customers family name in UTF-8 encoding.Cannot be only numbers, must be more than 1 character.Allowed special characters: -'’.°ºᵃª
  • street_address
Street name and number following Universal Postal Union addressing systemsAllowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
- street_address2Second address line.Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
  • city
City field according to the market.
  • phone
Follow the standards defined in https://github.com/googlei18n/libphonenumber
> genderDerived from title
This section only applies to:
Customer detailsComment
  • email
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)Validation according to Universal Postal Union addressing systems
? date_of_birthNecessary for all credit payment methods and Pay Now.
  • given_name
Customers given name in UTF-8 encoding.Cannot be only numbers, must be more than 1 character.Allowed special characters: -'’.°ºᵃª
  • family_name
Customers family name in UTF-8 encoding.Cannot be only numbers, must be more than 1 character.Allowed special characters: -'’.°ºᵃª
  • street_address
Street name and number following Universal Postal Union addressing systemsAllowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
- street_address2Second address line.Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
  • city
City field according to the market.
- regionCounty, E.G "Antrim".
  • phone
Follow the standards defined in https://github.com/googlei18n/libphonenumber
This section only applies to:
Customer detailsComment
  • email
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
Validation according to Universal Postal Union addressing systems.
? date_of_birthNecessary for all credit payment methods.
- titlede:“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
Customers given name in UTF-8 encoding.Cannot be only numbers, must be more than 1 character.Allowed special characters: -'’.°ºᵃª
  • family_name
Customers family name in UTF-8 encoding.Cannot be only numbers, must be more than 1 character.Allowed special characters: -'’.°ºᵃª
  • street_address
Street name and number following Universal Postal Union addressing systemsAllowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
- care_ofTo address the order to another recipient. B2C purchases only.
  • city
City field according to the market.
- phoneFollow the standards defined in https://github.com/googlei18n/libphonenumber
> genderDerived from title.
This section only applies to:
Customer detailsComment
  • email
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
Validation according to Universal Postal Union addressing systems.
? date_of_birthNecessary for all credit payment methods.
? place_of_birthNecessary for all credit payment methods.
  • given_name
Customers given name in UTF-8 encoding.Cannot be only numbers, must be more than 1 character.Allowed special characters: -'’.°ºᵃª
  • family_name
Customers family name in UTF-8 encoding.Cannot be only numbers, must be more than 1 character.Allowed special characters: -'’.°ºᵃª
  • street_address
Street name and number following Universal Postal Union addressing systemsAllowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
- street_address2Second address line.Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
  • city
City field according to the market.
  • phone
Follow the standards defined in https://github.com/googlei18n/libphonenumber
This section only applies to:
Customer detailsComment
  • email
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
Validation according to Universal Postal Union addressing systems.
? date_of_birthNecessary for all credit payment methods.
? place_of_birthNecessary for all credit payment methods.
  • given_name
Customers given name in UTF-8 encoding.Cannot be only numbers, must be more than 1 character.Allowed special characters: -'’.°ºᵃª
  • family_name
Customers family name in UTF-8 encoding.Cannot be only numbers, must be more than 1 character.Allowed special characters: -'’.°ºᵃª
  • street_address
Street name and number following Universal Postal Union addressing systemsAllowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
- street_address2Second address line.Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
  • city
City field according to the market.
- regionProvince in 2 letter format e.g "AG".
  • phone
Follow the standards defined in https://github.com/googlei18n/libphonenumber
This section only applies to:
Customer DetailsComment
  • email
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
Validation according to Universal Postal Union addressing systems.
? date_of_birthNecessary for all credit payment methods.
  • given_name
Customers given name in UTF-8 encoding.Cannot be only numbers, must be more than 1 character.Allowed special characters: -'’.°ºᵃª
  • family_name
Customers family name in UTF-8 encoding.Cannot be only numbers, must be more than 1 character.Allowed special characters: -'’.°ºᵃª
  • street_address
Street name and number following Universal Postal Union addressing systemsAllowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
- street_address2Second address line.Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
  • city
City field according to the market.
  • phone
Follow the standards defined in https://github.com/googlei18n/libphonenumber
This section only applies to:
Customer DetailsComment
  • email
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_codeValidation according to Universal Postal Union addressing systems.
? date_of_birthNecessary for all credit payment methods.
  • given_name
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
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
Street name and number following Universal Postal Union addressing systemsAllowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \Letters with diacritics are allowed.
- street_address2Street name and number.Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \Letters with diacritics are allowed.
  • city
City field according to the market.Letters with diacritics are allowed.
- regionPostal address region (or sector for addresses in Bucharest).For example Cluj (region) or Sector 6 (sector).Letters with diacritics are allowed.
  • phone
Follow the standards defined in https://github.com/googlei18n/libphonenumber
This section only applies to:
Customer detailsComment
  • email
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
Validation according to Universal Postal Union addressing systems.
? date_of_birthNecessary for all credit payment methods.
  • given_name
Customers given name in UTF-8 encoding.Cannot be only numbers, must be more than 1 character.Allowed special characters: -'’.°ºᵃª
  • family_name
Customers family name in UTF-8 encoding.Cannot be only numbers, must be more than 1 character.Allowed special characters: -'’.°ºᵃª
  • street_address
Street name and number following Universal Postal Union addressing systemsAllowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
- street_address2Address line 2, apartment, suite, for example, apt 2.Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
  • region
For US: Two-letter state code in ISO 3166-1 alpha-2 format. For example, “CA” for CaliforniaFor 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
City field according to the market.
  • phone
Follow the standards defined inhttps://github.com/googlei18n/libphonenumber
This section only applies to:
Customer detailsComment
  • email
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
Validation according to Universal Postal Union addressing systems.
? date_of_birthNecessary for all credit payment methods.
  • given_name
Customers given name in UTF-8 encoding.Cannot be only numbers, must be more than 1 character.Allowed special characters: -'’.°ºᵃª
  • family_name
Customers family name in UTF-8 encoding.Cannot be only numbers, must be more than 1 character.Allowed special characters: -'’.°ºᵃª
  • street_address
Street name and number following Universal Postal Union addressing systemsAllowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
- street_address2Second address line.Allowed special characters: -'´`",.:;#&/()+@ °ºᵃª_ \
  • region
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
City field according to the market.
  • phone
Follow the standards defined in https://github.com/googlei18n/libphonenumber
2.2: Get authorization
Now that your customer selected Klarna to pay, let's get the purchase authorized.