Payment Authorization is the process of requesting approval from Klarna. Klarna evaluates whether to approve a Payment Transaction and/or issue a customer token. The evaluation considers risk, fraud, and credit policies.
Payment Authorization is the process where Klarna evaluates and decides whether to approve a Payment Transaction and/or issue a customer token. You initiate this process by calling the authorizePayment endpoint, which serves as the entry point for all payment flows in Klarna's system. Based on real-time evaluation of risk, fraud, and credit policies, Klarna determines whether to immediately approve the payment, decline it, or request additional customer verification.
Each call represents a distinct authorization attempt. Configuration determines available outcomes through step_up_config (allows customer interaction), request_payment_transaction (create a transaction) and request_customer_token (enables tokenization).
Configure step_up_config with HANDOVER (redirects to URL) or SDK (uses Klarna SDK).
3.
Optionally include request_customer_token to create a reusable token for future partner-initiated authorizations.
4.
Klarna returns APPROVED (Payment Transaction created), STEP_UP_REQUIRED (customer must complete Klarna Purchase Journey), or DECLINED (authorization failed).
If step-up is required, launch Klarna Purchase Journey. After completion, Klarna issues a new Klarna Network Session Token. Call authorizePayment again with this new token to complete the authorization.
Payment Transaction and/or Customer Token created. Store the resource IDs and proceed with post-purchase actions (capture, void, refund).
The response includes payment_transaction_response (if Payment Requested) and/or customer_token_response (if tokenization requested) with result: APPROVED.
Launch Klarna Purchase Journey using the method specified in your step_up_config (HANDOVER or SDK). After the customer completes the Klarna Purchase Journey, Klarna issues a new Klarna Network Session Token. Call authorizePayment again with this new token to complete the authorization.
Klarna Network Session Token is issued by Klarna after customer interactions with Conversion features or can be received from the partner. It preserves customer context from Express Checkout and messaging interactions, optimizing the customer experience. When present, authorization is more likely to be approved without step-up.
The token is used in both initiation models. In customer-initiated scenarios, it reduces step-up requirements. In partner-initiated scenarios, it can authorize payments without a Customer Token. After Klarna Purchase Journey completion, Klarna issues a new token for the subsequent authorization call.
Customer Token is used for partner-initiated authorization without customer presence. It represents customer consent for future charges. Create customer tokens during customer-initiated authorization by including request_customer_token, then use them in subsequent partner-initiated authorizations.
Payment Transaction is created when authorization is APPROVED. It represents the authorized payment and supports capture, void, or refund actions. The resource contains amount, currency, funding details, and pricing information, and progresses through various states during post-purchase actions.
Customer Token is created when tokenization is requested and approved. Request tokenization during customer-initiated authorization by including request_customer_token. The token enables future partner-initiated payments and contains the identifier and scopes (payment:customer_present or payment:customer_not_present). See the Payment Tokenization deep dive article for detailed information.
Payment Request is created when the result is STEP_UP_REQUIRED. It manages the customer's Klarna Purchase Journey and contains details for launching customer interaction based on the step_up_config method, plus expiration time and configuration.
Payment Authorization involves multiple actors working together to evaluate and complete payments. Understanding each actor's role is essential for implementing a compliant integration.
Completes purchase and provides payment information. Completes Klarna Purchase Journey when step-up is required. Not actively present in partner-initiated scenarios.
Partner
Provides customer-facing checkout experience. Integrates Klarna SDK for Boost features and token collection. Forwards Payment Requests to Acquiring Partner. Launches Klarna Purchase Journey for step-up scenarios.
Acquiring Partner
Calls authorizePayment on behalf of Partners. Processes authorization results. Manages Payment Request workflows when step-up is required. Orchestrates post-purchase actions. Implements correct authorization scenario based on customer presence.