Klarna Docs - Terms and merchant terms

Terms and merchant terms

How Klarna handles terms and what you as a merchant can do.

By default Klarna Checkout will generate terms to meet data compliancy. In European markets the customer is shown Klarna’s User Terms and Klarna’s Privacy Notice for GDPR compliancy. In other countries the customer is shown Klarna’s Terms.

EU:

By clicking "Place Order" I approve Klarna's User Terms and confirm that I have read Klarna's Privacy Notice.

Non-EU:

By clicking "Place Order" I approve Klarna's Terms and to receive Klarna's Terms electronically.

Note: These terms are always present below the “Place Order” button.

When a new order is created merchant_urls.terms is a required parameter. The value of this should be a URL pointing to the merchants terms and conditions. Based on this Klarna Checkout will generate an addition to its original terms, where the link to terms & conditions uses the target value passed by merchant and Merchant Name is replaced by the name of a Merchant. It's important that the terms URL is pointing towards a HTTPS address and not a HTTP address, otherwise klarna checkout might strip the link for security reasons.

By clicking "Place Order" [...]. I agree to terms & conditions of Merchant Name.

In addition to the Klarna Checkout terms, it is possible for a Merchant to attach additional parts. These terms are split into two parts:

  • Merchant Cancellation Terms
  • Additional Merchant Terms

When a new order is created merchant_urls.cancellation_terms is an optional parameter. The value of this should be a URL pointing to merchant cancellation terms. If this was passed it will be appended to Merchant Terms, where the target of the Right to Withdrawal link uses the URL passed.

By clicking "Place Order" [...]. I agree [...] Merchant Name. I acknowledge Right to Withdrawal.

When a new order is created options.additional_merchant_terms is an optional parameter. The value of this should be a text string following Markdown syntax. If this was passed it will be appended to Merchant Terms, or if Merchant Cancellation Terms was passed to Merchant Cancellation Terms.

If the text string additional_merchant_terms: "Custom text specified by [Merchant]()." was passed it would result in:

By clicking "Place Order" [...]. I agree [...] Merchant Name. I acknowledge [...]. Custom text specified by Merchant.

There exists an additional feature in regards to Merchant Terms that allows a Merchant to specify that Merchant Terms should be attached to a checkbox. This follows the same procedure as one would use to add a checkbox into Klarnas Checkout flow, but where a unique identifier is used, and therefore is interpreted by Klarna Checkout to move all merchant related terms (as specified under heading Merchant Terms) to a checkbox.

Note: A checkbox, if set, is always present above the “Place Order” button.

When a new order is created options.additional_checkboxes is an optional parameter. The value should be an array containing each checkbox the merchant wishes to show. To activate the Merchant Terms in Checkbox feature the unique identifier "additional_merchant_terms_checkbox" should be used.

To illustrate this lets take the generated terms string, as demonstrated above:

By clicking "Place Order" [...]. I agree [...] Merchant Name. I acknowledge [...]. Custom text specified by Merchant

But in addition to all the above mentioned setting lets also add an additional checkbox with the unique identifier.

JSON
options:{
    additional_checkboxes: [{
        id: "additional_merchant_terms_checkbox",
        text: "",
        checked: false,
        required: true
    }]
}

This would result in an unchecked checkbox above the “Place Order” button, that is required, containing the text label:

I agree [...] Merchant Name. I acknowledge [...]. Custom text specified by Merchant.

While below the “Place Order” button only Klarna’s terms would be shown.

It should be mentioned that the Merchant could also pass along custom text, in Markdown format, that would be pre-pended to the Merchant Terms checkbox label.

JSON
options:{
    additional_checkboxes: [{
        id: "additional_merchant_terms_checkbox",
        text: "I'm over 18 years old and have read [Extra information]()",
        checked: false,
        required: true
    }]
}

Which would result in an unchecked checkbox above the “Place Order” button, that is required, containing the text label:

I'm over 18 years old and have read Extra information. I agree [...] Merchant Name. I acknowledge [...]. Custom text specified by Merchant.

While below the “Place Order” button only Klarna’s terms would be shown.