Klarna Payments is an alternative payment method that complements your checkout with Pay Later, Instalments, and Pay Now options. In addition to processing payments, Klarna Payments integration also offers real-time credit decisioning and fraud detection services out of the box. In order to enable Klarna Payments you will need to apply for a Klarna merchant account which you can do via the Merchant Portal.
Please discuss how to enable Klarna payments with your Account Manager. They will be able to guide you through the process and pricing for your Klarna experience.
Klarna Integration fields
Klarna processing requires some additional information to be passed in the Payment Request which are marked as Conditional in their description elsewhere in this guide. For clarity, these objects and arrays are referenced below as well, to provide clearer guidance on the implementation of Klarna for anyone currently using the solution.
|title||customerDetails.billingAddress||Cardholder's title.This field is Optional and is restricted to these values:|
|city||customerDetails.billingAddress||City of the cardholders billing address.|
This field is Mandatory
|phone||customerDetails.billingAddress||Phone number of the cardholders billing address.|
This field is Mandatory
|title||customerDetails.deliveryDetails.deliveryAddress||Cardholder's title.This field is Optional and is restricted to these values:|
|city||customerDetails.deliveryDetails.deliveryAddress||City of the cardholders delivery address.|
This field is Mandatory
|orderLines||paymentRequest||This array can contain multiple objects, each one containing several Mandatory and Optional fields. These are detailed fully within the Payment Request section of this guide.|
|amountBreakdown||paymentRequest||This object contains several objects related to Klarna processing. Each of these can contain several amount fields which breakdown the total sales value into sub amounts. This object is optional for Klarna.|
|shipping||amountBreakdown||This object contains the totalAmount field only. This optional field should be the total amount of shipping for this order.|
|discount||amountBreakdown||This object contains the totalAmount field only. This optional field should be the total amount of discount for this order.|
|attachment||paymentRequest||This field is a serialised JSON Object string, which should contain the information as per the object schema. Details on this schema are included below in the Attachment Field Details section of this page.|
This data should be supplied IF available.
Failure to do so may result in lower payment acceptance.
Advertising your Klarna Acceptance
Klarna is a form of credit so has some usage guidelines around how it should be promoted on your website. Klarna make these guidelines available online for you to use and follow. We strongly recommend reading through their UK marketing guidelines.
Klarna in Checkout already meets the payment application requirements that are required for this Alternate Payment Method. Once configured, it can be used without any further amendments to your website. Klarna also provide optional guidance and tools however, which are designed to maximise payment acceptance using this Payment Method.
Attachment Field Details
Klarna maintain the schema for the
attachment field at:
This schema can be checked by using a
HTTP GET sent to the endpoint and we recommend that you use this method to ensure you are always using the most up to date schema for this field. The table below summarises the usage guidance for each
attachment option, and is followed by the Schema examples in JSON format, at time of publishing.
|air_reservation_details||Details about the reservation of airline tickets.|
|bus_reservation_details||Details about the reservation of bus tickets.|
|train_reservation_details||Details about the reservation of train tickets.|
|ferry_reservation_details||Details about the reservation of ferry tickets.|
|hotel_reservation_details||Details about the reservation of hotel rooms.|
|car_rental_reservation_details||Details about the reservation of rental cars.|
|event||Details about the event, show or gig.|
|voucher||Details about the voucher and its intended use.|
|subscription||Details about the product or service being subscribed to.|
|marketplace_seller_info||Details about the seller, if the purchase is via a marketplace e.g. Ebay.|
|marketplace_winner_info||Details about the buyer, if the purchase is via a marketplace e.g. Ebay.|
|customer_account_info||Details about the customer who holds an account with the merchant.|
|payment_history_full||Details about the payment history of the buyer.|
|payment_history_simple||A summary of the payment history of the buyer.|
|other_delivery_address||Details of any alternative delivery addresses being requested by the buyer.|
Serialised JSON Object string example
You can find more information on serialising JSON Objects into strings at Newtonsoft.com. The below Schema can be used to validate your JSON Object prior to serialising it, but the full schema can be viewed here.
Attachment JSON Schema 1
Attachment JSON Schema 2
- Marketplace Seller
- Marketplace Winner
- Customer Account Info
- Full Payment History
- Basic Payment History
- Other Delivery
Example Request Code
The below code is a complete Payment Request which includes all the fields required for Klarna as an Alternative Payment Method. Please refer to the full Payment Request page for guidance on adding additional payment methods to this request.