Klarna is a guaranteed payment method for business models with physical goods. However, it requires you to meet a certain set of scheme rules for shipping and payment. For example, a shopper may dispute a charge if the delivery of goods did not happen or the goods were faulty. If you do not follow the Klarna scheme rules, Klarna has the right to charge back the payment.
You can find the Klarna scheme rules in your Customer Area. Select the Notification icon on the top right, and then select Scheme rules.
The Klarna chargeback flow involves the stages Dispute Notification, Request for Information (RFI), Information Supplied, and 1st Chargeback.
To manage this Klarna chargeback flow, you can:
- Use the Disputes API.
- Use the Customer Area.
Klarna flow
Dispute Notification
When a shopper raises a complaint, Klarna will try to help you resolve it directly with the shopper before it becomes an actual dispute. Klarna creates a dispute notification that we send to you as a Request for Information dispute webhook.
Alternatively, you can find the list of Klarna dispute notifications in your Customer Area by going to Revenue & risk > Disputes > Requests for Information.
You have 21 days to resolve the shopper complaint before it becomes a dispute. For returns, the time period is 7 days.
There are six different types of RFI reason codes for the dispute notifications.
Reason Codes | Description |
---|---|
notification_return |
The shopper reported that they made a full or partial return. Adyen only creates return dispute notifications if the dispute is still open 14 days after the dispute event is created. |
notification_goods_not_received |
The shopper reported that they did not receive the full or partial order. |
notification_faulty_goods |
The shopper reported that they received faulty goods. |
notification_already_paid |
The shopper reported that they already paid directly to the merchant, instead of paying via Klarna. |
notification_incorrect_invoice |
The shopper reported that the invoice is incorrect. |
notification_pandemic_impact |
The shopper reported that the order was canceled due to COVID-19 circumstances. |
You will not receive Klarna dispute notifications for the RFI reason codes unauthorized_purchase
and high_risk_order
. These are always escalated, and you will receive a Request for Information immediately. You need to respond to these RFIs within the given timeframes.
Request for Information
If the dispute is not resolved within 21 days, it gets escalated and Klarna sends you a Request for Information (RFI). In this case, we'll send you a dispute webhook. Alternatively, you can find the list of disputes in your Customer Area by going to Revenue & risk > Disputes > Requests for Information.
After you receive the webhook, you have 14 days by default to submit the requested information.
You need to respond within:
- 7 days for RFIs with reason code
unauthorized_purchase
. - 96 hours for RFIs with reason code
high_risk_order
.
If you do not respond to the RFI in a timely manner, a chargeback may take place, and money will be deducted from the next payable batch.
Unlike the other payment methods, uploading the requested information is mandatory with Klarna.
Request for Information reason codes
There are eight RFI reason codes that you can receive in a webhook.
Reason code | Description |
---|---|
return |
The shopper reported that they made a full or partial return. |
goods_not_received |
The shopper reported that they did not receive the order fully or partially. |
faulty_goods |
The shopper reported that they received faulty goods. |
already_paid |
The shopper reported that they already paid directly to the merchant, instead of paying via Klarna. |
incorrect_invoice |
The shopper reported that the invoice is incorrect. |
pandemic_impact |
The shopper reported that the order was cancelled due to COVID-19 circumstances. |
unauthorized_purchase |
The shopper reported that the order was placed by someone with unauthorized access to their account. |
high_risk_order |
High-risk orders are suspected to be fraudulent orders, where a shopper's personal details, for example, their payment information, were wrongfully used. |
Respond to an RFI
If you do not agree with the RFI dispute, you can attempt to defend it. Note that you will have only one attempt to submit all the necessary information. After that, it is no longer possible to make any changes to the documents. To defend the dispute, you need to:
-
Provide your defense documents. For each case, there is a template for you to fill in:
-
Once you fill it in, save the document as a PDF file.
-
Submit it using our Disputes API or in your Customer Area.
Information Supplied
Adyen received your defense documents and forwarded them to the scheme. It is no longer possible to change these documents. The InformationSupplied journal is booked and we send you an INFORMATION_SUPPLIED webhook.
Based on the information you provided, Klarna assesses the dispute and makes a decision:
- If Klarna accepts your defense, no further journals are booked, and this is the final status.
- If Klarna rejects your defense, you will receive a chargeback.
1st Chargeback
Klarna resolves the dispute in the customer's favor, and initiates a chargeback. The Chargeback journal is booked, your account is debited, and you receive a CHARGEBACK webhook.
You cannot defend this chargeback. This is the final status, and the dispute is lost.
Test chargeback defense
To create a test RFI:
-
In your testing environment, submit a /payments request as described on the Klarna integration page, and pass the following value in the shopperEmail parameter: {shopperName}+disputed-{disputeReason}@example.com.
For example, to test the following dispute reasons:
- For Return:
s.hopper+disputed-return@example.com
- For Goods not received:
s.hopper+disputed-goods_not_received@example.com
- For Faulty goods:
s.hopper+disputed-faulty_goods@example.com
- For Already paid:
s.hopper+disputed-already_paid@example.com
- For Incorrect invoice:
s.hopper+disputed-incorrect_invoice@example.com
- For High-risk orders:
s.hopper+disputed-high_risk_order@example.com
You receive a response containing
pspReference
, our unique identifier for the payment. - For Return:
-
Capture the payment with a /payments/{paymentPspReference}/captures request, where
paymentPspReference
is thepspReference
of the payment. Specify:amount
: thevalue
andcurrency
specified in the payment request.
You receive a response containing:
pspReference
: the PSP reference associated with this capture request. Note that this is different from the PSP reference associated with the original payment request.
It may take a while for Klarna to process the capture and create a test dispute. We'll send you a webhook when we get a Request for Information from Klarna.
-
Wait for the REQUEST_FOR_INFORMATION webhook. This webhook contains a
pspReference
, which is the unique identifier for the dispute. -
When you receive the webhook, respond to a dispute by submitting your defense documents.
Managing chargebacks
You can manage the Klarna chargeback flow using the Disputes API or your Customer Area.
Discontinued email notification
From May 1, 2023, you no longer receive an email about stop requests by Klarna. Instead, these are reported as a Request for Information (RFI) with the reason code high_risk_order
. Resolve these RFIs through the Disputes API or your Customer Area using the correct defense template.
Manage chargebacks using the Disputes API
If you have integrated our Disputes API, you receive a dispute webhook when a shopper starts a dispute process with their issuer. Using the API, you can manage the Klarna chargeback flow for the disputed payment.
Manage chargebacks in the Customer Area
In your Customer Area, you can view disputes, and manage the four stages of a Klarna chargeback flow for a disputed payment.
If you want to know more about Klarna disputes, you can read it here.