When integrating Klarna payments, 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 payment_token
provided by Klarna.
After the customer completes their purchase via Klarna, the Payment Request transitions to the COMPLETED
state. At this point:
payment_token
which must be secured through Klarna Webhookspayment_token
to authorize the payment within 60 minutes to finalize the transaction.payment_transaction_id
required for future transaction management.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:
The acquiring partner must use the payment_token
to perform a second call to Klarna's Payment Authorize API.
Parameter name | Description |
---|---|
partner_account_id | The unique identifier of the Partner account. This is used to scope the request. |
Parameter name | Description |
---|---|
Klarna-Payment-Token | The payment_token received as part of the step-up scenario. |
Parameter name | Description |
---|---|
currency | Currency in ISO 4217 format (e.g., "USD"). |
request_payment_transaction | Represents a request to authorize a payment transaction, this object contains the following parameters:
|
Sample Request
The payment_token
must be passed in the Klarna-Payment-Token
HTTP header.
{
"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 management actions.
The response will contain a payment_transaction_response object with the following parameters:
Parameter name | Description |
---|---|
result | The result parameter which specifies the outcome of the authorization.In case of a successful Authorization the result will be set to APPROVED |
payment_transaction | The payment_transaction object represents a single payment transaction This object is only returned if the payment_transaction_response.result is set to APPROVED The payment_transaction_id returned is necessary to manage the Payment Transaction through the Payment Transaction API. |
Sample response
{
"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": {...}
payment_token
.payment_transaction_id
for managing payments.