Klarna Docs - Tokenized payments
Tokenized payments

Tokenized payments with Klarna enable partners to securely store multiple payment details per customer, with the customer's consent. This feature supports subscription payments, enhances the checkout process with saved payment details in a digital wallet, and allows the combination of one-time and recurring payments.

We refer to these saved payment details as customer tokens, and the process of storing these details as tokenization.

To support tokenization, an acquiring partner only needs to pass additional parameters when making a payment request. Klarna then generates a customer token that may be used for future payments. To complete future payments, a charge token request may be made with the customer token to create an order with or without customer interaction.

By default, tokens are linked to a single Partner account. However, sharing tokens across multiple accounts is possible if needed.

Support for sharing customer tokens across multiple Partner accounts will be added in a future release.

Klarna’s tokenized payments solution supports three main use cases:

Use caseDefinition
SubscriptionsA recurring transaction made at regular intervals for a product or a service.
Subscription payments with Klarna support a broad range of subscription business models, including but not limited to free trials and non-free trials.
On-demandUnscheduled transactions where a customer can store their payment details to use for payments in your website or app at a later time using their saved details.
Klarna on-demand payments can only be used for on-demand services where the customer has a verified account with the partner and initiates the transaction themselves. . Examples of these services include ride sharing, parking apps, food delivery services and streaming media.
Mixed paymentsMixed payments enable customers to combine one-time purchases with additional services that require recurring payments at checkout. Customers can select any payment option for their initial purchase and tokenize another payment option for future transactions. Common applications of mixed payments include:
  • Purchasing a one-time product combined with a subscription or insurance program.
  • Transactions that incorporate a one-time product purchase along with a separately charged additional service.
  • For more information on setting up these payment options, please visit the Partner portal or contact our support team.

The customer token issued by Klarna enables partners to perform actions on behalf of the customer. Each token is linked with specific scopes that define the permissible actions. If additional permissions are required beyond the initial grant, the token needs to be updated accordingly.

ScopeDefinition
customer:loginThe “Customer login” scope can be used to retrieve customers’ personal data from Klarna. Retrievable data includes: 
  • customer contact details,
  • transaction information
  • Shopping Profile data.
payment:customer_presentThe "Customer Present on Payment" scope enables transactions to be completed without further customer interaction, facilitating one-click payments and accelerated checkouts. This scope is applicable only for on-demand services where the customer has a verified account with the partner and initiates the transaction themselves.
Klarna partners are required to implement a step-up authentication flow as documented in Customer present token charges to support interactions with the Klarna payment flow when required.
payment:customer_not_presentTokens with the Customer Not Present on Payment scope can be used to complete transactions on behalf of the customer, initiated by the Partner.
This scope is essential for subscription-based models where payments are pre-authorized for goods or services without needing the customer's direct approval or interaction each time.

Possible scenarios for customer token scopes:

  • If scope = CUSTOMER PRESENT is specified, Klarna will only accept Charge token requests where customer_present = true.
  • If scope = CUSTOMER NOT PRESENT is specified, Klarna will accept Charge token requests for both customer_present being true or false

In case of needing to increase scopes on the customer token, the Klarna payment flow must be leveraged to update the scopes of the issued customer token.