Skip to main content

API Changelog - 2026-05-19: Summary

Klarna has been re-introduced as a supported payment method with Klarna Network distribution support. A new POST /v1/paymentMethods endpoint is defined for retrieving available payment methods with Klarna-specific display data. New Klarna schemas introduce billingAddress, consumer, order, and passthrough fields (including klarnaNetworkData and klarnaNetworkSessionToken) for the Klarna payment method.


POST /v1/paymentMethods — Get Payment Methods

A new endpoint has been added to retrieve the available payment methods for a given processing account, amount, and locale. The response includes Klarna-specific display data based on the Klarna Payment Presentation API.

PropertyDetails
NameprocessingAccountId
LocationRequest body
Typestring
RequiredYes
FormatProcessing account identifier
Example"2HdN2jq6XWmlkhqRC2gDTNYCvNH"
PropertyDetails
Nameamount
LocationRequest body
Typeobject
RequiredYes
FormatAmount object with value and currency
Example{ "value": 2.32, "currency": "eur" }
PropertyDetails
Namedisplay.locale
LocationRequest body
Typestring
RequiredYes
Format{language}-{region} format (e.g. en-US), 5–16 chars
Example"en-GB"
PropertyDetails
NamepaymentMethods
LocationRequest body
Typearray
RequiredNo (optional)
FormatArray of payment method-specific data objects
Example[{ "type": "klarna", "klarna": { ... } }]
PropertyDetails
NamepaymentMethods[].type
LocationRequest body
Typestring
RequiredYes (within each item)
FormatEnum: klarna
Example"klarna"
PropertyDetails
NamepaymentMethods[].klarna.klarnaNetworkSessionToken
LocationRequest body
Typestring
RequiredNo (optional)
FormatKlarna network session token
Example"krn:network:eu1:test:session-token:eyJhbGci..."
PropertyDetails
NamepaymentMethods[].klarna.klarnaCustomerToken
LocationRequest body
Typestring
RequiredNo (optional)
FormatKlarna customer token
Example"krn:partner:us1:test:identity:customer-token:Rt4i..."

POST /v1/payments — Create Payment (Klarna)

Klarna has been re-introduced as a supported payment method type. The paymentMethod.type enum value klarna and the paymentMethod.klarna object are accepted again in the Create Payment request. The Klarna object now supports additional fields for Klarna Network distribution, including passthrough.klarnaNetworkData and passthrough.klarnaNetworkSessionToken.

PropertyDetails
NamepaymentMethod.type
LocationRequest body
Typestring
RequiredYes
FormatEnum value klarnaadded
Example"klarna"
PropertyDetails
NamepaymentMethod.klarna.returnUrl
LocationRequest body
Typestring
RequiredYes
FormatURL
Example"https://example.com/return"
PropertyDetails
NamepaymentMethod.klarna.billingAddress
LocationRequest body
Typeobject
RequiredNo (optional)
FormatBilling address object
Example{ "country": "DE", "city": "Berlin", "postalCode": "10115" }
PropertyDetails
NamepaymentMethod.klarna.billingAddress.country
LocationRequest body
Typestring
RequiredNo (optional)
Format2-character country code
Example"DE"
PropertyDetails
NamepaymentMethod.klarna.consumer
LocationRequest body
Typeobject
RequiredNo (optional)
FormatConsumer details object
Example{ "email": "user@example.com", "name": "Jane Doe" }
PropertyDetails
NamepaymentMethod.klarna.consumer.email
LocationRequest body
Typestring
RequiredNo (optional)
FormatEmail address, 6–254 characters
Example"user@example.com"
PropertyDetails
NamepaymentMethod.klarna.consumer.name
LocationRequest body
Typestring
RequiredNo (optional)
FormatConsumer full name, 1–99 characters
Example"Jane Doe"
PropertyDetails
NamepaymentMethod.klarna.order
LocationRequest body
Typeobject
RequiredNo (optional)
FormatOrder data object with items array
Example{ "items": [{ "name": "T-shirt", "amount": {...}, "quantity": 2 }] }
PropertyDetails
NamepaymentMethod.klarna.order.items
LocationRequest body
Typearray
RequiredYes (within order object)
FormatArray of order item objects
Example[{ "name": "T-shirt", "amount": {...}, "quantity": 1 }]
PropertyDetails
NamepaymentMethod.klarna.passthrough
LocationRequest body
Typeobject
RequiredNo (optional)
FormatAdditional data passed through to Klarna
Example{ "klarnaNetworkData": "{...}", "klarnaNetworkSessionToken": "..." }
PropertyDetails
NamepaymentMethod.klarna.passthrough.klarnaNetworkData
LocationRequest body
Typestring
RequiredNo (optional)
FormatSerialised JSON string with supplementary Klarna Network data
Example"{\"customerDetails\":{...},\"lineItems\":[...]}"
PropertyDetails
NamepaymentMethod.klarna.passthrough.klarnaNetworkSessionToken
LocationRequest body
Typestring
RequiredNo (optional)
FormatSession token obtained from Klarna
Example"krn:network:eu1:test:session-token:eyJhbGci..."

POST /v1/payments/{paymentId}/captures — Capture Payment (Klarna)

The paymentMethod field has been added to the Capture Payment request to support Klarna-specific capture data. This allows providing order information when capturing a Klarna payment.

PropertyDetails
NamepaymentMethod
LocationRequest body
Typeobject
RequiredNo (optional)
FormatPayment method-specific data; type must match original
Example{ "type": "klarna", "klarna": { "order": { ... } } }
PropertyDetails
NamepaymentMethod.type
LocationRequest body
Typestring
RequiredYes (within paymentMethod object)
FormatEnum: klarna — must match type of original payment
Example"klarna"

POST /v1/payments/{paymentId}/refunds — Refund Payment (Klarna)

The paymentMethod field has been added to the Refund Payment request to support Klarna-specific refund data.

PropertyDetails
NamepaymentMethod
LocationRequest body
Typeobject
RequiredNo (optional)
FormatPayment method-specific data; type must match original
Example{ "type": "klarna", "klarna": { "order": { ... } } }
PropertyDetails
NamepaymentMethod.type
LocationRequest body
Typestring
RequiredYes (within paymentMethod object)
FormatEnum: klarna — must match type of original payment
Example"klarna"