Learn about all the additional information about your customer you can send.
Depending on the merchant segment and/or the services available to consumers, Klarna may require additional information regarding the customer, the merchant and/or the purchase. This information, referred to as extra merchant data (EMD), consist of data that is typically not available at the checkout, but which enables Klarna to complete an assertive risk assessment, enable new promotional products and improve conversion rates for a boost in performance.
While in some scenarios sharing EMD is optional and only connected to the enablement of new solutions (depending on the business category or the type of goods sold), certain segments or use cases will require you to provide Klarna with specific EMD packages.
It is mandatory for you as a merchant to provide Klarna with the required EMD data points if you operate within the following segments or if any of these use cases apply to you:
Segment and other use cases
EMD required
Details
Marketplace
marketplace_seller_info
when enabling marketplace services and creating an order for a sub-seller, you are required to shared information about the sub-seller including the category of the products being sold and the id of the seller.
Travel
air_reservation_details
train_reservation_details
bus_reservation_details
ferry_reservation_details
car_rental_reservation_details
hotel_reservation_details
trip_reservation_details
if you are selling services associated to travel segment, you are required to provide information about the passengers and the itinerary to be booked via the applicable EMD for the service provided.
Ticketing
event
if you are selling ticket to an event, you have to provide information about the event.
for any segment, if the purchase is done in a physical store you are required to send the EMD to allow appropriated risk analysis of the transaction and properly identify the location of the purchase.
Registered checkout and Klarna deals
customer_account_info
payment_history_full
payment_history_simple
in the case you enable consumers to register to your site, EMD will allow us to identify your returning consumers and enhance the services offered even if they have no previous history paying with Klarna as well as unlock targeted campaigns.
Pick up in store
other_delivery_address
for any segment, if the consumer is allowed to buy online and pick up the product in a physical store, then you are required to send the EMD to allow appropriated risk analysis of the transaction.
Additionally to these use cases, depending on the risk evaluation during the merchant onboarding process, we might request additional information to be provided through a specific EMD appendix.
Find out more about the different data fields for each package by checking the attachments specification.
You need to include the extra merchant data in an attachment property of the payload when [ getting authorization] or [ updating a session].
sequenceDiagram
autonumber
participant C as Consumer
participant M as Merchant
participant KAPI as Klarna API
participant KJS as Klarna.js
C->>M:Nagivate to
checkout page
M->>KAPI: Create
Klarna Payment session
Note over M, KAPI: Sending "Extra Merchant Data" in this call might make the implementation
not GDPR compliant for the EU market (NO CUSTOMER DETAILS)
KAPI->>M: Klarna payment
session response
M->>KJS: Initialize
klarna.js
M ->> KJS: Load the container
C->>M: Select Klarna
in Payment selector and
clicks 'Pay'
M->>KJS: Execute
Authorize call
Note over M, KJS: Preferred call to send the "Extra Merchant Data"
KJS->>M: Provide authorization token (valid for 60 minutes)
M->>KAPI: Create Order POST {apiUrl}/payments/v1/authorizations/{authorizationToken}/order
Note over M, KAPI: "Extra Merchant Data" is not validated at this stage
KAPI->>M: Provide order_id and redirect_url
Add the relevant data based on the specification and your product vertical. See use cases in the following section to find examples per each vertical.
For travel segment, EMD is a mandatory requirement and merchants should send one or more of the following packages: air_reservation_details, bus_reservation_details, train_reservation_details, ferry_reservation_details and/or hotel_reservation_details.
In exceptional cases, due to the business model nature of close “trip packages” and/or “trip based on registered travellers”, in this scenario you may not be able to provide all data requested in the above packages, in case EMD attachment trip_reservation_details will enable you to share available information.
Information about trip reservations that include multiple services, for example, flight reservation, hotel room reservation, and train reservation, where information about the services isn't available at the time of booking.
This package does not replace air_reservation_details, hotel_reservation_details nor any other travel related package. It should only be used when you are not able provide detailed information for the services included.
This Package allows Klarna to identify transactions that were generated via a marketplace and includes information for risk evaluation of the corresponding sellers.
This Package should be included as part of the integration when the transactions includes vouchers or digital products
JSON
1
2
3
4
5
"attachment": {
"content_type": "application/vnd.klarna.internal.emd-v2+json",
"body": "{\"voucher\":[{\"voucher_name\":\"The View from The Shard & Glass of Champagne for Two\",\"voucher_company\":\"The Shard\",\"start_time\":\"2024-08-23T23:00:00Z\",\"end_time\":\"2024-11-24T23:59:59Z\",\"affiliate_name\":\"Virgin Experience\"}]}"
}
This package should be included as part of an integration when delivery will be done on an alternative non-residential address such as pick-up in a store or in a pick-up point.
JSON
1
2
3
4
5
"attachment": {
"content_type": "application/vnd.klarna.internal.emd-v2+json",
"body": "{\"other_delivery_address\":[{\"shipping_method\":\"store pick-up\",\"shipping_type\":\"express\",\"first_name\":\"Test\",\"last_name\":\"Person\",\"street_address\":\"Rue La Fayette\",\"street_number\":\"40\",\"postal_code\":\"75009\",\"city\":\"Paris\",\"country\":\"FR\"}]}"
}
It is not required to duplicate the address information, include only the store/pick-up point address in the API object shipping_address and submit EMD attachment other_delivery_address detailing shipping_method
See the alternatives below:
JSON
1
2
3
4
5
6
7
8
9
10
Klarna.Payments.authorize(
{},
{
…
"shipping_address":{
"email":"klarna.test@klarna.com",
"given_name":"Klarna",
"family_name":"Test",
"phone":"+16145555555",
"street_address":"100 N. High Street",
If the you will be sending the address in EMD attachment this should not be different than the shipping_address API object.