Klarna Direct

Klarna Network Session Token

Understand the Klarna Network Session Token: how it carries customer context across Klarna integrations, when Partners receive it, how to forward it, and how its lifecycle works.

Overview

The klarna_network_session_token is an opaque token issued by Klarna that carries customer context, session state, and interaction history across Klarna integrations. Partners use it to give Klarna continuity across the customer journey, from Boost features (Express checkout, Sign in with Klarna, On-site messaging) through Payment Request and final payment authorization.
Treat the token as a pass-through value. Forward it to Klarna in all relevant API calls without parsing, decoding, or validating it.

How the token flows through the integration

The token enables interoperability by connecting:
  • Boost features: a token is issued when customers interact with Sign in with Klarna, Express checkout, or On-site messaging through the Klarna Web SDK or Mobile SDK. The token captures this context.
  • Payment Request: when the customer completes the Klarna Purchase Journey, the Payment Request reaches COMPLETED and a token is issued so the Partner can finalize the authorization.
  • Payment authorization: the token carries prior customer context that allows authorizePaymentAPI to finalize the transaction.
  • Payment Transaction: created when the authorization succeeds. The token is invalidated once the Payment Transaction is created.

How to obtain the token

A klarna_network_session_token can be obtained through the following channels:
  • From the Klarna Web SDK or Mobile SDK: after SDK initialization or after a customer interacts with a Boost feature, the SDK exposes a token that can be retrieved and forwarded to the backend.
  • From a completed Payment Request: when the Payment Request transitions to COMPLETED, the token is available in the state_context returned by readPaymentRequestAPI and signaled by the payment.request.state-change.completed Klarna webhook.

Token lifecycle

stateDiagram-v2 [*] --> Issued: SDK init or Boost feature interaction Issued --> Active: Used in API calls Active --> Active: Forwarded through payment flows Active --> Invalidated: Payment Transaction created Active --> Invalidated: Used to initialize Klarna Web SDK Active --> Invalidated: Used to initialize Klarna Mobile SDK Invalidated --> Issued: Request new token from SDK Active --> Expired: Timeout or session end Active --> Issued: Partner requests new token

How to use the token

Include the klarna_network_session_token in the following API calls and SDK operations:
  • Authorize a payment transaction: include the token in the Klarna-Network-Session-Token header when calling authorizePaymentAPI. The token carries customer context that may allow authorization to complete with less friction.
  • Fetch payment presentation: include the token in the Klarna-Network-Session-Token header when calling the Payment Presentation API. The token enables personalized payment methods based on the customer's session context.
  • Initialize the Klarna Web SDK or Mobile SDK: pass the token during SDK initialization to transfer the customer's session context to the SDK, enabling continuity from prior Boost feature interactions or payment flows.

Invalidation

The klarna_network_session_token is invalidated after either of the following:
  • Payment Transaction creation: after a Payment Transaction is successfully created using the token, the token is invalidated and cannot be reused.
  • SDK initialization: after the token is used to initialize the Klarna Web SDK or Mobile SDK, the token is invalidated. The SDK issues a new klarna_network_session_token that must be retrieved from the SDK to proceed with subsequent API calls.

Expiration

The klarna_network_session_token includes expiration information set by Klarna. Token validity depends on the context:
  • For payment authorization: when issued after a Payment Request completes (state COMPLETED), the token is valid for 1 hour to finalize the authorization. Use it promptly to create the Payment Transaction.
  • For general session context: tokens issued during Boost feature interactions or SDK initialization have longer validity periods for maintaining session context.
When a token expires:
  • It is ignored by Klarna's APIs (not rejected)
  • The API call proceeds without the session context
  • No error is returned
  • A new token should be obtained for future calls
This design ensures API resilience: expired or invalid tokens do not cause integration failures.

Why it matters

Forwarding the token through every relevant API call delivers:
  • Higher conversion: Klarna leverages previous customer interactions to streamline authorization, potentially enabling approval with less friction.
  • Reduced friction: customers do not re-authenticate or re-enter information already provided to Klarna.
  • Consistent experience: the customer journey feels seamless across Boost features and payment.
When customers interact with Boost features before payment authorization, the token carries context that can reduce step-up rates and improve conversion.

Frequent use cases

The klarna_network_session_token is used to:
  • Carry Boost feature context into payment: preserve customer context from Sign in with Klarna, Express checkout, or On-site messaging into payment authorization.
  • Finalize authorization after a completed Payment Request: use the token returned when the Payment Request reaches COMPLETED to create a Payment Transaction.
  • Maintain session across operations: include the token in post-purchase operations (captures, refunds) to preserve customer context.
Critical: No validation required
Do not parse, decode, or validate the token. Expired or invalid tokens are gracefully ignored by Klarna's APIs without causing errors. Simply pass the token through as-is in all API calls.
Related articles
Payment Request