- METHOD TYPEBNPL
- PAYMENTS
- PAYOUTS
- REFUNDS
- RECURRING
Introduction
Klarna is a payment method optimized for merchants and shoppers. Klarna allows payments of any size with one step. Klarna supports more than 60 million users and more than 90,000 merchants in their local currencies, whether they choose to pay immediately or pay later. Deposits and refunds are supported, but not withdrawals.
Supported Countries
- Austria
- Denmark
- Finland
- Germany
- Netherlands
- Norway
- Sweden
- United Kingdom
Supported Currencies
- EUR
- USD
- GBP
- DKK
- NOK
- SEK
Payment (Deposit) Flow
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>" }
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>" }
- 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 is redirected to the Klarna page, and is offered payment options (can vary depending on the country and the merchant).
- The user enters the 6-digit code that was sent to their phone.
- The user confirms the payment.
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