This product, Klarna Checkout (v2) is deprecated. Go to the current version

Klarna’s order management

When integration of the purchase phase has been completed, whether it is Klarna´s checkout or stand alone payment methods , there are additional features to manage orders from a back-end perspective.

Order management systems are the GUI towards Klarna’s production systems, where all transactions are registered and can be managed. All of Klarnas live merchants are registered in the order management systems and can be accessed by both internal departments at Klarna and by the merchants. The order management system is called Klarna Online.

Order Management Structure

The order management API calls are used with Klarna’s XML-RPC API, which the merchant need to use to communicate with Klarna’s systems. In short, order management calls can be divided into three separate phases. Post-purchase/pre-delivery, Delivery and Post-delivery. See chart below for an illustration of what each phase can entail.


This phase starts after the purchase has been acknowledged by the purchase integration and entered the order management-flow. However, the order has not yet been delivered. Allowed calls include cancelling the order/reservation and updating it.

Cancel a reservation

If a reservation needs to be canceled prior to shipment, the cancel_reservation API call should be used.

A request can be either approved or rejected with the following responses:

  • Approved request
    • OK - cancelation is confirmed
  • Rejected requests
    • Error code, error message
<strong>Note!</strong> It is not possible to cancel a captured order. Please see the section about processing a refund for this scenario.

Update or Change an Order

If a merchant needs to update or change an order, then the update API call is used. Calls would be managed in a very similar manner as those in the illustration above for Cancelling a reservation.

A request can be either approved or rejected with the following responses

  • Approved request
    • OK - update is confirmed
  • Rejected requests
    • Error code, error message
<strong>Note!</strong> The update call can only be used for reservations and not activated orders.


Capture a Payment

When the order is dispatched, the payment needs to be captured. This is done by using the activate API call.

The activate call captures a reservation. In the activate call the following information should be provided:

  • Reservation number
  • Additional data (order id, reference code, information for partial activation etc.)
  • In case of partial dispatch: article ID for the dispatched articles
  • Shipping information if you send physical goods. If you provide the customer with a return label in the package, please provide this return tracking number as well.
<strong>Note! </strong>The earliest the activation call can be triggered is 30 min after the reservation has been completed, i.e., after the customer has finalized the purchase.

A request can be either approved or rejected with the following responses

  • Approved request
    • Risk status, invoice number. Risk status is either OK or no risk
  • Rejected requests
    • Error code, error message


Refund of an Invoice

When a customer needs to be credited, for example when the customer makes a return, the credit_part or credit_Invoice API calls should be used. The credit_part call enables a merchant to credit part of an invoice based on article items. While credit_invoice is used to make a complete refund on an order.

  • Invoice number
  • List of article numbers and quantities to be credited.

Extend the expiry date

When an authorization has expired, it can be reactivated by using the extend_expiry_date API call. This allows you, as a merchant, to activate a previously expired reservation and to ensure that Klarna assumes the risk for the order.

When the request to extend the expiry has been sent, Klarna will do a new credit assessment, authorization, and return one of the following responses:

  • Approved request
    • New expiry date as a time stamp
  • Rejected request
    • Error code, error message

Email an Invoice

When an updated copy of the invoice needs to be sent out via email, the merchant should use the email_invoice API call.

Recurring purchases

Klarna supports recurring purchases by issuing a token that represents a customer and their payment method. All you, as a merchant, need to do to trigger the recurring purchase is to send in the token along with the order data.