Skip to main content

Klarna

Klarna is a global payments and financial services provider. The Klarna connector integrates with Klarna's Order Management, Payments, and Settlements APIs, enabling you to read payouts, transactions, orders, and settlement reports, and to create and manage payment sessions, orders, captures, and refunds.

Klarna icon

Power end-to-end data operations for your Klarna API with Nexla. Our bi-directional Klarna connector is purpose-built for Klarna, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Klarna or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Klarna workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Before creating a Klarna credential, you need a set of Klarna API credentials from the Klarna Merchant Portal. Klarna's APIs use HTTP Basic Authentication, where the username is linked to your Klarna Merchant ID (MID) and the password is the associated API key.

To obtain your Klarna API credentials, follow these steps:

  1. Sign in to the Klarna Merchant Portal as an administrator user. Generating API credentials requires administrator permissions.

  2. Open the Settings app in the Merchant Portal.

  3. Navigate to the API credentials page.

  4. Click Generate new API-credentials. Klarna will display a username (a UUID linked to your Merchant ID) together with a password (the API key). You can maintain multiple active sets of API credentials.

  5. Copy and securely store both the username and password, as the password may not be retrievable again after you leave the page.

  6. Determine the correct Base URL for your integration. Use https://api.klarna.com for the production environment, or https://api.playground.klarna.com for the sandbox/playground environment. Regional Klarna endpoints may differ — confirm the correct base URL for your account with Klarna if you are unsure.

Each set of API credentials is associated with a single Merchant ID and can only be used to transact on the corresponding store. For more detail, see the Klarna API authentication documentation.

Authenticate

Credentials required

Klarna API uses HTTP Basic Authentication. Provide your Klarna merchant ID (username) and API password (password).

FieldRequiredSecretDescription
Username Or API KeyYesYesYour username or personal API Key
PasswordYesYesYour password
Base URLYesNoKlarna API base URL. Use https://api.klarna.com for production or https://api.playground.klarna.com for the sandbox/playground environment.

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  3. Enter the username (or API key) from your generated Klarna API credentials in the Username Or API Key field.

  4. Enter the associated password (API key) in the Password field.

  5. Enter the appropriate Klarna API base URL in the Base URL field — https://api.klarna.com for production or https://api.playground.klarna.com for the sandbox/playground environment.

    If your Klarna API credentials are compromised, generate a new set in the Klarna Merchant Portal under Settings > API credentials and remove the affected credentials. Each credential set is tied to a single Merchant ID.

  6. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Klarna connector tile, then select the credential that will be used to connect to Klarna, and click Next; or, create a new Klarna credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Klarna endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

[Rest API] List Payouts

Returns a list of payouts from Klarna settlements. This endpoint is paginated, and Nexla automatically iterates through the available pages to retrieve all payout records.

[Rest API] List Transactions

Returns a list of transactions from Klarna settlements. This endpoint is paginated, and Nexla automatically iterates through the available pages to retrieve all transaction records.

[Rest API] Search Klarna Products

Search for Klarna products by query term with optional budget and result size filters.

[Rest API] Get Order by ID

Retrieve the full details of a specific Klarna order including status, captures, and refunds. Provide the Klarna order ID for the order you want to retrieve.

[Rest API] Get Payment Session by ID

Read the current state of a Klarna payment session. Provide the payment session ID for the session you want to inspect.

[Rest API] Get Payout by Payment Reference

Retrieve a single payout by its payment reference, including a full breakdown of fees and transactions.

[Rest API] Get Settlement Summary Report

Download an aggregated summary settlement report for a date range. Provide the start and end dates for the report period.

[Rest API] List Transactions for a Payout

List all transactions included in a specific payout. Provide the payment reference identifier for the payout.

[Rest API] Download Payout Report

Download a transactional payout report for reconciliation. Provide the start and end dates and the desired report format (csv or pdf).

[Rest API] Get Capture by ID

Retrieve the details of a specific capture on an order, including captured amount, shipping info, and capture status. Provide the Klarna order ID and capture ID.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Klarna data sources can also be manually configured to ingest data from any valid Klarna API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Klarna data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the Klarna destination, and select the Send to Destination option from the menu. Select the Klarna connector from the list of available destination connectors, then select the credential that will be used to connect to Klarna, and click Next; or, create a new Klarna credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Klarna endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

[Rest API] Capture an Order

Capture an authorised Klarna order (full or partial) to trigger fund collection and settlement. Provide the Klarna order ID to capture.

[Rest API] Refund an Order

Issue a full or partial refund for a captured Klarna order. Provide the Klarna order ID to refund.

[Rest API] Create an Order from an Authorization

Create a Klarna order using an authorization token obtained during checkout. Provide the authorization token as the request parameter.

[Rest API] Create a Payment Session

Create a Klarna payment session to initiate the checkout flow.

[Rest API] Cancel an Order

Cancel an authorised but not yet captured Klarna order. Provide the Klarna order ID to cancel.

[Rest API] Update an Order

Update the order amount or order lines before capture. Provide the Klarna order ID to update.

[Rest API] Acknowledge an Order

Acknowledge a Klarna order once it has been created. Merchants must acknowledge within a set time window to confirm receipt. Provide the Klarna order ID.

[Rest API] Release Remaining Authorization

Release the uncaptured portion of a partial capture so that no additional funds can be charged to the customer. Provide the Klarna order ID.

[Rest API] Update Order Authorization

Update the order authorization — sets a new order amount and order lines. Needed whenever the final fulfillable basket differs from the originally authorized amount. Provide the Klarna order ID.

[Rest API] Update a Payment Session

Update an existing Klarna Payments session (for example, update order lines, amounts, or locale before the consumer completes checkout). Provide the payment session ID.

[Rest API] Extend Authorization Time

Extend the authorization period on a Klarna order when fulfillment is delayed beyond the default window. Provide the Klarna order ID.

[Rest API] Cancel an Authorization Token

Cancel a Klarna Payments authorization token that has not yet been used to create an order. Provide the authorization token.

[Rest API] Update Merchant References

Update the merchant-side order references (for example, merchant_reference1 and merchant_reference2) on an existing Klarna order after creation. Provide the Klarna order ID.

Manual configuration

Klarna destinations can also be manually configured to send data to any valid Klarna API endpoint. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

Klarna APIs expect JSON request bodies for order, capture, refund, and payment operations. For update operations, include the identifier of the object to be updated (for example, the order or session ID) in the request URL.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Klarna endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to the Klarna endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.