Klarna via Direct Integration
Let customers securely make payments using Klarna on your website or mobile application.
On Web, iOS, Android and React Native, we support the following Klarna flows:
- Pay Now
- Pay Later: Pay in 30 days
- Pay over time: Pay in 3-4 instalments. First payment right away, then the rest in instalments (no interest)
- Fair financing: Instalment plans of 6, 12, 24, and 36 months with flexible payments (with interest)
Get started with Klarna
Before you begin
If this is your first payment method, make sure to follow the Get started guide to begin processing payments with Primer.
Configure in the Dashboard
- Add Klarna payment method to your Dashboard
Go to the Connections section of the Dashboard and look for Klarna.
Follow the instructions to connect your Klarna processor account to your Primer Dashboard.
- Activate Klarna on the Checkout
Go to the Checkout section of the Dashboard and activate the Klarna payment method.
Then go to the settings view of Klarna, and make sure that Klarna is properly set up to use your Klarna processor account.
- Configure a Workflow to process payments made with Klarna
Go to the Workflow make sure your Klarna processor is used to process payments made with Klarna.
Prepare the client session
Klarna leverages the following parameters to process a payment.
Pass them when creating the client session.
Parameter Name | Required | Description |
---|---|---|
currencyCode | ✓ | 3-letter currency code in ISO 4217 format, e.g. USD for US dollars |
order ↳ lineItems | ✓ | Details of the line items of the order |
order ↳ countryCode | ✓ | The country code of the user.Learn more about the supported countries and currencies by visiting Klarna Documentation. |
customer ↳ emailAddress | Customer’s email address. Pass this value to pre-fill the Klarna payment form. | |
customer ↳ mobileNumber | Customer’s mobile number (make sure it is the correct format for the country code). Pass this value to pre-fill the Klarna payment form. | |
customer ↳ shippingAddress | Customer’s shipping address. Pass this value to pre-fill the Klarna payment form. | |
customer ↳ billingAddress | Customer’s billing address. Pass this value to pre-fill the Klarna payment form. When passing customer.billingAddress in the client session, ensure that Klarna has payment method categories configured for the given address. If Klarna is not supported for the given billing address, no Klarna button will be rendered in the checkout | |
paymentMethod ↳ options ↳ KLARNA ↳ extraMerchantData | Extra Merchant Data (EMD) package supported by Klarna can be passed via the client session. Any JSON object that will be accepted by Klarna can be sent. Available schemas are documented here |