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.
| Property | Details |
|---|
| Name | processingAccountId |
| Location | Request body |
| Type | string |
| Required | Yes |
| Format | Processing account identifier |
| Example | "2HdN2jq6XWmlkhqRC2gDTNYCvNH" |
| Property | Details |
|---|
| Name | amount |
| Location | Request body |
| Type | object |
| Required | Yes |
| Format | Amount object with value and currency |
| Example | { "value": 2.32, "currency": "eur" } |
| Property | Details |
|---|
| Name | display.locale |
| Location | Request body |
| Type | string |
| Required | Yes |
| Format | {language}-{region} format (e.g. en-US), 5–16 chars |
| Example | "en-GB" |
| Property | Details |
|---|
| Name | paymentMethods |
| Location | Request body |
| Type | array |
| Required | No (optional) |
| Format | Array of payment method-specific data objects |
| Example | [{ "type": "klarna", "klarna": { ... } }] |
| Property | Details |
|---|
| Name | paymentMethods[].type |
| Location | Request body |
| Type | string |
| Required | Yes (within each item) |
| Format | Enum: klarna |
| Example | "klarna" |
| Property | Details |
|---|
| Name | paymentMethods[].klarna.klarnaNetworkSessionToken |
| Location | Request body |
| Type | string |
| Required | No (optional) |
| Format | Klarna network session token |
| Example | "krn:network:eu1:test:session-token:eyJhbGci..." |
| Property | Details |
|---|
| Name | paymentMethods[].klarna.klarnaCustomerToken |
| Location | Request body |
| Type | string |
| Required | No (optional) |
| Format | Klarna 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.
| Property | Details |
|---|
| Name | paymentMethod.type |
| Location | Request body |
| Type | string |
| Required | Yes |
| Format | Enum value klarna — added |
| Example | "klarna" |
| Property | Details |
|---|
| Name | paymentMethod.klarna.returnUrl |
| Location | Request body |
| Type | string |
| Required | Yes |
| Format | URL |
| Example | "https://example.com/return" |
| Property | Details |
|---|
| Name | paymentMethod.klarna.billingAddress |
| Location | Request body |
| Type | object |
| Required | No (optional) |
| Format | Billing address object |
| Example | { "country": "DE", "city": "Berlin", "postalCode": "10115" } |
| Property | Details |
|---|
| Name | paymentMethod.klarna.billingAddress.country |
| Location | Request body |
| Type | string |
| Required | No (optional) |
| Format | 2-character country code |
| Example | "DE" |
| Property | Details |
|---|
| Name | paymentMethod.klarna.consumer |
| Location | Request body |
| Type | object |
| Required | No (optional) |
| Format | Consumer details object |
| Example | { "email": "user@example.com", "name": "Jane Doe" } |
| Property | Details |
|---|
| Name | paymentMethod.klarna.consumer.email |
| Location | Request body |
| Type | string |
| Required | No (optional) |
| Format | Email address, 6–254 characters |
| Example | "user@example.com" |
| Property | Details |
|---|
| Name | paymentMethod.klarna.consumer.name |
| Location | Request body |
| Type | string |
| Required | No (optional) |
| Format | Consumer full name, 1–99 characters |
| Example | "Jane Doe" |
| Property | Details |
|---|
| Name | paymentMethod.klarna.order |
| Location | Request body |
| Type | object |
| Required | No (optional) |
| Format | Order data object with items array |
| Example | { "items": [{ "name": "T-shirt", "amount": {...}, "quantity": 2 }] } |
| Property | Details |
|---|
| Name | paymentMethod.klarna.order.items |
| Location | Request body |
| Type | array |
| Required | Yes (within order object) |
| Format | Array of order item objects |
| Example | [{ "name": "T-shirt", "amount": {...}, "quantity": 1 }] |
| Property | Details |
|---|
| Name | paymentMethod.klarna.passthrough |
| Location | Request body |
| Type | object |
| Required | No (optional) |
| Format | Additional data passed through to Klarna |
| Example | { "klarnaNetworkData": "{...}", "klarnaNetworkSessionToken": "..." } |
| Property | Details |
|---|
| Name | paymentMethod.klarna.passthrough.klarnaNetworkData |
| Location | Request body |
| Type | string |
| Required | No (optional) |
| Format | Serialised JSON string with supplementary Klarna Network data |
| Example | "{\"customerDetails\":{...},\"lineItems\":[...]}" |
| Property | Details |
|---|
| Name | paymentMethod.klarna.passthrough.klarnaNetworkSessionToken |
| Location | Request body |
| Type | string |
| Required | No (optional) |
| Format | Session 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.
| Property | Details |
|---|
| Name | paymentMethod |
| Location | Request body |
| Type | object |
| Required | No (optional) |
| Format | Payment method-specific data; type must match original |
| Example | { "type": "klarna", "klarna": { "order": { ... } } } |
| Property | Details |
|---|
| Name | paymentMethod.type |
| Location | Request body |
| Type | string |
| Required | Yes (within paymentMethod object) |
| Format | Enum: 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.
| Property | Details |
|---|
| Name | paymentMethod |
| Location | Request body |
| Type | object |
| Required | No (optional) |
| Format | Payment method-specific data; type must match original |
| Example | { "type": "klarna", "klarna": { "order": { ... } } } |
| Property | Details |
|---|
| Name | paymentMethod.type |
| Location | Request body |
| Type | string |
| Required | Yes (within paymentMethod object) |
| Format | Enum: klarna — must match type of original payment |
| Example | "klarna" |