When integrating Klarna, the final authorization is a critical step when the step-up scenario occurs. This guide walks you through the creation of a transaction using the klarna_network_session_token provided by Klarna.
Token usage Klarna now uses klarna_network_session_token as the required token to finalize a payment.
After the customer completes their purchase via Klarna, the Payment Request transitions to the COMPLETED state. At this point:
Important: If you do not authorize within 60 minutes, the transaction will be invalidated​.
The below diagram shows the customer journey and Acquiring Partner workflow, illustrating:
Final authorization functions the same across all integration methods. If it has already been implemented—for example, with a server-only integration for one-time payments—it can be reused without modification.
klarna_network_session_tokenThe acquiring partner must use the klarna_network_session_token to perform a second call to Klarna's Payment Authorize API.
The klarna_network_session_token must be passed in the Klarna-Network-Session-Token HTTP header.
curl https://api-global.test.klarna.com/v2/accounts/{partner_account_id}/payment/authorize \
-H 'Authorization: Basic <API key>' \
-H 'Content-Type: application/json' \
-H 'Klarna-Network-Session-Token: krn:payment:eu1:klarna-network-session-token:...' \
-d '{
"currency": "USD",
"request_payment_transaction": {
"amount": 11800,
"payment_transaction_reference": "acquiring-partner-transaction-reference-1234"
}
}'Upon successful authorization, the response body includes the payment_transaction_id, which you'll use for payment transaction management actions.
{
"payment_transaction_response": {
"result": "APPROVED",
"payment_transaction": {
"payment_transaction_id": "krn:payment:eu1:transaction:6debe89e-98c0-[...]",
"payment_transaction_reference": "acquiring-partner-transaction-reference-1234",
"amount": 11800,
"currency": "USD",
"payment_funding": {...},
"payment_pricing": {...},
"expires_at": "2025-10-30T19:26:02.772Z"
}API & SDK references