Klarna Docs - Confirm a payment request
Confirm a payment request

This step can only be carried out server-side.

Once the customer successfully completes the payment request, it will transition to the PENDING_CONFIRMATION state, and Klarna will return a payment_confirmationtoken via the authorization webhook. More information on subscribing to webhooks is available in Subscribing to webhook events. The payment_confirmation_token is crucial for confirming the payment request and generating the payment_transaction_id

For tokenized payments, the response includes a klarna_customer object. Within this object, you'll find the customer_token, which can be used for future charges on customer accounts. Further details on the tokenized payment flow are available in Tokenized Payments.

The payment confirmation token is valid for 60 minutes. You must confirm the payment within the time limit otherwise the transaction will be lost.

Confirm the payment and authorize the transaction by making a POST request to:

/v2/accounts/{account_id}/payment/confirmation-tokens/{payment_confirmation_token}/confirm/v2/accounts/{account_id}/payment/confirmation-tokens/{payment_confirmation_token}/confirm.

Mandatory request parameterDefinition
currencyThe currency in which the transaction is made.
payment_amountThe total amount to be charged, matching the sum of all line item amounts if any are provided.

Consult the API reference for a complete description of the parameters.API reference for a complete description of the parameters.

This endpoint is idempotent, meaning the same confirmation request can be called multiple times with the same confirmation token, and it will return the same response each time. This ensures that the payment confirmation process is reliable and repeatable without any risk of double processing. More information on implementing Idempotency available here.

When the payment request has been successfully confirmed, Klarna will return an HTTP 200 Ok response and the response body will contain the payment_transaction_id which you will need to perform all payment transaction management.