Payment-method icon

Specifying invoice lines and discounts

Include information about purchased items in your API requests and apply discounts.

When making Klarna payments, you need to specify price and product information when:

Make a payment request

For any payment request, include price and product information in lineItems.

When adding price and product information, note that:

  • Klarna will only approve the payment if the total amount specified in lineItems matches the amount.value.
  • productUrl and imageUrl are optional fields.

Make a partial capture request

Include the following lineItems parameters when making a /payments request.

lineItems Required Description
lineItems.quantity -white_check_mark- The number of items.
lineItems.amountExcludingTax -white_check_mark- The price for one item, without the tax, in minor units.
lineItems.taxPercentage -white_check_mark- The tax percentage, in minor units.
lineItems.taxAmount The tax amount for one item, in minor units.
lineItems.description -white_check_mark- The description of the line item.

You will receive a response containing a pspReference. Once we have processed your request, you will also receive a CAPTURE webhook.

Make a partial refund request

Include the following lineItems parameters when making a /payments request.

lineItems Required Description
lineItems.quantity -white_check_mark- The number of items.
lineItems.amountExcludingTax -white_check_mark- The price for one item, without the tax, in minor units.
lineItems.taxPercentage -white_check_mark- The tax percentage, in minor units.
lineItems.taxAmount The tax amount for one item, in minor units.
lineItems.description -white_check_mark- The description of the line item.

You will receive a response containing a pspReference. Once we have processed your request, you will also receive a REFUND webhook.

Apply a discount

There are several ways to apply a discount to the invoice:

The examples below apply a 30% discount to the shopper's basket, which contains:

  • One pair of shoes, original price EUR 12.00 including 20% VAT
  • Two pairs of socks, original price EUR 4.50 including 20% VAT

Apply a discount to individual line items

With this method of applying a discount, you reduce the cost of the applicable line items instead of discounting the basket as a whole. To apply a discount to individual line items:

  1. Calculate the reduced amount of each line item you want to discount.
  2. Send a payment request in which each line item specifies the discounted amounts:
    • amountExcludingTax
    • taxAmount
    • amountIncludingTax
Sample basket with discounts applied to individual items
Product Quantity Item Price (EUR) VAT (EUR) Total price (EUR)
Shoes (with 30% discount) 1 7,00 1,40 8,40
Socks (with 30% discount) 2 2,63 0,52 6,30
Purchase amount 12,26
VAT 2,44
TOTAL 14,70

Apply a discount to the whole purchase

With this method of applying a discount, you specify the line items with their original price and then apply a discount to the basket as a whole by adding a discount line.

To apply a discount to the entire basket:

  1. Calculate the discount to the product total and the VAT.
  2. In your payments request, send each fully priced line item, plus a line Item to specify the discount with the following parameters:
    • id: Discount
    • description: Discount
    • amountExcludingTax: The discount amount, preceded by a minus sign
    • taxAmount: The discount amount, preceded by a minus sign
    • amountIncludingTax: The discount amount, preceded by a minus sign
Sample basket with a discount applied to the entire basket
Product Quantity Item Price (EUR) VAT (EUR) Total price (EUR)
Shoes 1 10,00 2,00 12,00
Socks 2 3,75 0,75 9,00
Total before discount 21,00
Product discount 5,25
VAT discount 1,05
Total discount (30%) 6,30
TOTAL 14,70

Let Adyen add a discount line for you

With this method of applying a discount, Adyen calculates that amount.value is less than the total value of the line items, so a discount must have been applied. In this case, Adyen adds a line item for the discount before sending to Klarna.

Adjust an authorization

If you want to adjust an authorized payment that has not yet been fully captured, your API request must specify all captured and refunded lineItems. See Adjust an authorization for detailed instructions. This is available for Klarna with Checkout API v70 and later.

Below are two examples of adjusting an authorized payment:

These examples are based on the following order:

Cancel part of the authorization before capture

If you want to cancel or adjust the authorization before capturing, you can declare the new amount and associated lineitems.

The following example removes Item #2 from the above order by declaring the new basket composition and amount.

Add a product from a partially captured order

If you want to add products to a partially captured or refunded order, you must include the already captured or refunded lineItems in the update request, in addition to the new order content.

In the following example, Item #1 from the above order is captured, and we add a third item to the order:

OSZAR »