- METHOD TYPEBNPL
- PAYMENTS
- PAYOUTS
- REFUNDS
- RECURRING
Introduction
Klarna is a global payment platform that empowers shoppers and retail partners with seamless, flexible, and customer-centric payment solutions. It allows customers to pay immediately, in installments, or later, all while supporting local currencies for a hassle-free experience. With a focus on simplicity, convenience, and innovation, Klarna transforms how people shop and pay worldwide.
Payment Options
Klarna offers the following payment options:
- Pay Now, with direct payments – Accepts all direct payments for a fast, convenient checkout. For information about integrating Klarna Pay Now, see the separate Klarna Pay Now APM guide.
- Buy Now, Pay Later – Defers payment to 14 or 30 days after buying.
- Pay In N – Splits payment into several interest-free installments spread over a relative short amount of time, typically less than 60 days. The two most-common variations are Pay in 4 and Pay in 3.
- Financing – Offer long-term, monthly payments for larger purchases. Available in 6-, 12-, 18-, and 24-month terms.
On-Site Messaging
Nuvei supports Klarna’s On-site messaging solution, which enables merchants to add tailored messaging that informs customers about available Klarna payment options as they browse the merchant’s online store, even before they decide to buy.
Merchants integrate Klarna’s On-site messaging separately from their Nuvei integration. For instructions, see the On-site messaging section of the Klarna Docs website.
Supported Countries
- Austria
- Denmark
- Finland
- Germany
- Netherlands
- Norway
- Sweden
- United Kingdom
Supported Currencies
- DKK
- EUR
- GBP
- NOK
- SEK
- USD
Payment (Deposit) Flow
Flows available for Klarna are the default Auth-Settle flow and the Sale flow, which support the following Klarna payment options:
- Buy Now, Pay Later
- Pay In N
- Financing
Press tab to open…
Follow these steps to perform a payment using Nuvei REST API integration:
1. Generate a sessionToken
Press here for details.
2. Send a /payment
Request
Perform the payment by sending a /payment
request with its mandatory parameters, including:
userTokenId
amount
currency
paymentOption.alternativePaymentMethod
class containing:paymentMethod
: “apmgw_klarna“
userDetails
class containing:firstName
,lastName
,email
,phone
,country
deviceDetails
class containing:ipAddress
Example /payment
Request
{ "sessionToken": "<sessionToken from /getSessionToken>", "merchantId":"<merchantId>", "merchantSiteId":"<merchantSiteId>", "clientRequestId":"<unique request ID in merchant system>", "clientUniqueId":"<unique transaction ID in merchant system>", "amount":"200", "currency":"EUR", "userTokenId":"<unique customer identifier in merchant system>", "paymentOption":{ "alternativePaymentMethod":{ "paymentMethod": "apmgw_klarna" } }, "userDetails":{ "firstName":"John", "lastName":"Smith", "email":"[email protected]", "phone":"461112223333", "country":"SE" }, "deviceDetails":{ "ipAddress":"<customer's IP address>" }, "timeStamp":"<YYYYMMDDHHmmss>", "checksum":"<calculated checksum>" }
Example /payment
Response
{ "internalRequestId": 1751631155157, "status": "SUCCESS", "errCode": 0, "reason": "", "merchantId": "5634436935940029474", "merchantSiteId": "242181", "version": "1.0", "clientRequestId": "20250704151234", "sessionToken": "1d4669e1b8204ac8a6ff223697230dd10111", "clientUniqueId": "20180327175242", "orderId": "128398111", "userTokenId": "TeoBizum5", "paymentOption": { "redirectUrl": "https://webapp-apm-globalpay-api-qa.nuvei.com/Home?PaymentToken=283E28F3A763A5FD3614F1E858FB0822.3000050744", "userPaymentOptionId": "2304622111", "card": {} }, "transactionStatus": "REDIRECT" }
3. Send a /settleTransaction
Request
Example /settleTransaction
Request
{ "merchantId": "{{merchantId}}", "merchantSiteId": "{{merchantSiteId}}", "clientRequestId": "{{clientRequestId}}", "amount": "10", "currency": "USD", "relatedTransactionId": "2610000000000308441", //transactionmainid "timeStamp":"{{timestamp}}", "checksum":"{{checksum}}" }
Example /settleTransaction
Response
{ "internalRequestId": 1751632683004, "status": "SUCCESS", "errCode": 0, "reason": "", "merchantId": "5634436935940029474", "merchantSiteId": "242181", "version": "1.0", "clientRequestId": "20250704153803", "transactionId": "2610000000000308453", "externalTransactionId": "", "paymentMethodErrorCode":0, "paymentMethodErrorReason": "", "gwErrorCode": 0, "gwErrorReason": "", "transactionStatus": "APPROVED", "orderId": "128398111" }
Klarna requires the merchant to provide certain input information when using the Cashier. Press here to see these requirements below.
Example Payment Page Request (including discount)
- REST API
-
Follow these steps to perform a payment using Nuvei REST API integration:
1. Generate a
sessionToken
Press here for details.
2. Send a
/payment
RequestPerform the payment by sending a
/payment
request with its mandatory parameters, including:userTokenId
amount
currency
paymentOption.alternativePaymentMethod
class containing:paymentMethod
: “apmgw_klarna“
userDetails
class containing:firstName
,lastName
,email
,phone
,country
deviceDetails
class containing:ipAddress
Example
/payment
Request{ "sessionToken": "<sessionToken from /getSessionToken>", "merchantId":"<merchantId>", "merchantSiteId":"<merchantSiteId>", "clientRequestId":"<unique request ID in merchant system>", "clientUniqueId":"<unique transaction ID in merchant system>", "amount":"200", "currency":"EUR", "userTokenId":"<unique customer identifier in merchant system>", "paymentOption":{ "alternativePaymentMethod":{ "paymentMethod": "apmgw_klarna" } }, "userDetails":{ "firstName":"John", "lastName":"Smith", "email":"[email protected]", "phone":"461112223333", "country":"SE" }, "deviceDetails":{ "ipAddress":"<customer's IP address>" }, "timeStamp":"<YYYYMMDDHHmmss>", "checksum":"<calculated checksum>" }
Example
/payment
Response{ "internalRequestId": 1751631155157, "status": "SUCCESS", "errCode": 0, "reason": "", "merchantId": "5634436935940029474", "merchantSiteId": "242181", "version": "1.0", "clientRequestId": "20250704151234", "sessionToken": "1d4669e1b8204ac8a6ff223697230dd10111", "clientUniqueId": "20180327175242", "orderId": "128398111", "userTokenId": "TeoBizum5", "paymentOption": { "redirectUrl": "https://webapp-apm-globalpay-api-qa.nuvei.com/Home?PaymentToken=283E28F3A763A5FD3614F1E858FB0822.3000050744", "userPaymentOptionId": "2304622111", "card": {} }, "transactionStatus": "REDIRECT" }
3. Send a
/settleTransaction
RequestExample
/settleTransaction
Request{ "merchantId": "{{merchantId}}", "merchantSiteId": "{{merchantSiteId}}", "clientRequestId": "{{clientRequestId}}", "amount": "10", "currency": "USD", "relatedTransactionId": "2610000000000308441", //transactionmainid "timeStamp":"{{timestamp}}", "checksum":"{{checksum}}" }
Example
/settleTransaction
Response{ "internalRequestId": 1751632683004, "status": "SUCCESS", "errCode": 0, "reason": "", "merchantId": "5634436935940029474", "merchantSiteId": "242181", "version": "1.0", "clientRequestId": "20250704153803", "transactionId": "2610000000000308453", "externalTransactionId": "", "paymentMethodErrorCode":0, "paymentMethodErrorReason": "", "gwErrorCode": 0, "gwErrorReason": "", "transactionStatus": "APPROVED", "orderId": "128398111" }
- Payment Page
-
Klarna requires the merchant to provide certain input information when using the Cashier. Press here to see these requirements below.
Example Payment Page Request (including discount)
Handling the Klarna Cart
Klarna uses a shopping cart as its main container, and the cart can have different capabilities for different merchants.
Integration with Nuvei must ensure proper integration of cart features. Depending on the country of the transaction and the country in which a merchant resides, a Klarna integration can involve one or more of the following cart specifics:
User Experience
The user experience, including the payment options offered, vary according to country and merchant.
Payment Test Data
The following test data is required from the customer on the provider page.
Country | Social Security Number (Personal ID Number) | Date of Birth | Phone number (format) |
---|---|---|---|
Austria (AU) | For all supported countries, any date can be used in the required date format DD-MM-YYYY. | +4306762600456 | |
Belgium (BE) | +4306762600456 | ||
Canada (CA) | +15197438620 | ||
Denmark (DK) | 801363945 | +4542555628 | |
Finland (FI) | 190122-829F, 190122829F | +358401234567 | |
France (FR) | +33689854321 | ||
Germany (DE) | +49017614284340 | ||
Ireland (IE) | +353855351400 | ||
Italy (IT) | +393339741231 | ||
Netherlands (NL) | +31689124321 | ||
Norway (NO) | 1087000571 | +4740123456 | |
Poland (PL) | +48795222223 | ||
Portugal (PT) | +351935556731 | ||
Spain (ES) | +34672563009 | ||
Sweden (SE) | 410321-9202, 4103219202 | +46701740615 | |
Switzerland (CH) | +41758680000 | ||
United Kingdom (UK) | +447755564318 | ||
United States (DE) | +13106683312 |
Appendix – Cashier Requirements
Item Details
The merchant must provide the following input parameter in the request.
item_type_N
Press here for more details including possible values.
Shipping Details
Shipping details are mandatory for Klarna. There are two ways for a merchant to provide the customer’s shipping details:
- Using dedicated shipping details input parameters.
- Using a dedicated configuration in the back office system that passes the billing details as shipping details. To set this configuration this if needed, please contact the Nuvei Integration Team.
Shipping and Handling Costs
Klarna enables merchants to specify shipping and handling costs that can be assigned to specific items (item level) or to the total amount (cart level). The tax rate on shipping and handling costs can be different than the tax rate on the items.
Formula
Shipping tax amount = shipping tax rate * (shipping cost + handling cost)
Example
Shipping tax rate: 10%
Shipping cost: 15 USD
Handling cost: 5 USD
Shipping tax amount = 10% *(15+5)=2 USD
Discount
Klarna enables merchants to specify a discount amount that can be assigned to specific items (item level) and/or to the cart total.
Example
Item 1 price: 250 USD
Item 1 discount: 20 USD
Cart discount: 30 USD
Total amount: 250-20-30=200 USD
Tax Calculation
Klarna enables merchants to specify tax rates that can be assigned to specific items (item level) and/or to the total amount (cart level). These rates can be different than the tax rate on shipping and handling costs. Taxes are calculated after discounts are applied.
Formulas
Item tax amount = item tax rate * (item amount – item discount)
Total tax amount = total tax rate * (Ʃ (quantity * [item amount – item discount + item tax amount]) – cart discount)
Example
Price: 250 USD
Discount: 50 USD
Tax rate: 10%
Total tax: 10% * (250-50)=20 USD