Pending orders

 

The functionality for pending orders is used to delay the shipping of orders that are suspected for fraud until the order has been reviewed.

In review

After the customer has completed the order in the checkout the order can be fraud_status of PENDING showing that the order is being reviewed for fraud. When an order is assigned the PENDING fraud status it should not be processed for shipping, and instead put on hold until it has been reviewed. 

After review

After the order has been reviewed it will either be approved and be assigned the fraud_status ACCEPTED , or be rejected and assigned the fraud_status REJECTED.

Events

The events sent to merchant notification URL are as follows:

  • FRAUD_RISK_ACCEPTED - An order was accepted, possibly after review
  • FRAUD_RISK_REJECTED - An order was rejected after review 
  • FRAUD_RISK_STOPPED - An order was stopped for some reason

Note that the pending functionality is not enabled by default and must be activated for each account.

When the order has been reviewed and assigned a new status a post request will be sent to the URL specified as the notification url when the order was created. The body of the post request will be an event of the types ORDER_ACCEPTED or ORDER_REJECTED together with the order_id for the order which the notification concerns.

Notifications

With pending enabled, there are two possible initial values of “fraud_status”. It can set to either ACCEPTED and PENDING. ACCEPTED means we accepted the fraud risk automatically when the order was created. PENDING means that we are waiting for the order to be reviewed. 

The merchant will only get the push notification when the “fraud_status” transitions from PENDING to ACCEPTED or REJECTED. 

Having pending enabled does not mean stop requests will not be sent anymore. There will be orders that were not pended on creation that the fraud agents found to be fraudulent for some other reason, in that case they will send stop requests. 

Example notification:

{
  "order_id": "de305d54-75b4-431b-adb2-eb6b9e546014",
  "event_type": "ORDER_ACCEPTED"
}

Overriding the fraud decision

The result of the fraud review process can be overridden by the merchant if needed.

To reject an order that Klarna has approved you simply cancel the order using a regular cancel API call through the order management API.

To accept an order that has been rejected by Klarna you must capture it within 4 hours of receiving the notification post request. The capture is done as usual with the order management API. Accepting a rejected order by capturing it will transfer the risk of the order to the merchant.