Klarna Docs - Initiate a telesales payment

Initiate a telesales payment

This guide walks you through initiating a payment and letting your customers pay with Klarna through telesales.

The instructions and processes detailed in this guide are adapted for the telesales use case and leverage the same integration via Klarna payments API. To facilitate remote payments with Klarna to customers, initiate a new Klarna payments session by sending a POST request to the {apiURL}/payments/v1/sessions endpoint.

Sample request

To start a telesales payment session, include the following in your request:

  • the acquiring_channel parameter set to telesales to indicate the payment will happen as a telesales or remote payment
  • the distribution object, including the distribution method set to one_qr and the URL that will receive status updates
    "acquiring_channel": "telesales",
    "purchase_country": "SE",
    "purchase_currency": "SEK",
    "locale": "en-SE",
    "merchant_reference1": "ON4711",
    "order_amount": 18000,
    "order_tax_amount": 3000,
    "order_lines": [

A sample request to initiate a telesales payment session.

To understand the details of the request objects, please refer to Distribution Object.

After submitting the session creation request, you can either receive a successful response or one of the predefined errors.

Monitoring the distribution status

After successful creating a payment session, you can Monitor the status by getting the distribution result from Klarna.

Manual order capture is a feature that allows merchants to capture orders after some time from payment completion on the customer side. Example use-case: person orders items in store but for delivery. Order will be captured when delivery is issued. 

Orders are created and captured automatically by default.

To make use of manual order capture, merchant should contact Klarna to have this feature enabled for them.

Manual order capture

When capturing your orders manually, that means the orders are placed automatically.

To start capturing the order, you need the order_id of the automatically created order which you get as a response when getting the distribution result.

Send a request to {apiURL}/ordermanagement/v1/orders/<order_id>/captures endpoint.

  "captured_amount": 6000,
  "description": "Shipped the full order",
  "order_lines": [
      "type": "physical",
      "reference": "123050",
      "name": "Tomatoes",
      "quantity": 10,
      "quantity_unit": "kg",

A sample request to capture an order.