Starting January 31st, 2024, the /payments/details
API call is no longer required for Klarna transactions. However, you can continue using this step to check the final payment status. To ensure you are informed of the final payment status for all transactions, you also need to use webhooks to update your order management system.
Accept Klarna payments using our APIs, and build your own payment form to have full control over the look and feel of your checkout page.
With our API-only integration, you can accept Klarna payments using either:
- The Klarna widget: the shopper completes the payment in your checkout.
For more information about the Klarna widget, see the Klarna documentation. - Redirect to Klarna: the shopper is redirected to Klarna to complete the payment.
When making a Klarna payment:
- Provide information about the purchased items by specifying
lineItems
in your payment request. - Indicate in your payment request if you want to use the Klarna widget or redirect to Klarna.
- Capture the payment after the goods have been sent. This triggers the payment instructions to be sent to the shopper.
Requirements
Requirement | Description |
---|---|
Integration type | Make sure that you have built an API-only integration. |
Setup steps | Before you begin, add Klarna in your test Customer Area. |
- Set up webhooks to know the payment outcome.
Build your payment form for Klarna
When making a Klarna payment, collect the following shopper details:
Shopper detail | Description | Required |
---|---|---|
Shopper name | The shopper's full name and gender, if specified. | |
Shopper email | The shopper's email address. This is where Klarna will send the invoice. | |
The billing address | The postal address to be included on the invoice. |
For improved conversion rates, we strongly recommend that you collect the shopper name and the billing address.
If you are using the /paymentMethods endpoint to show the available payment methods to the shopper, specify in your request one of the following combinations of countryCode and amount.currency, depending on which Klarna payment method you want to accept:
Country/region | countryCode |
amount.currency |
Pay now | Pay later | Pay over time |
---|---|---|---|---|---|
Australia | AU | AUD | |||
Austria | AT | EUR | |||
Belgium | BE | EUR | |||
Canada | CA | CAD | |||
Czech Republic | CZ | CZK | |||
Denmark | DK | DKK | |||
Finland | FI | EUR | |||
France | FR | EUR | |||
Germany | DE | EUR | |||
Greece | GR | EUR | |||
Ireland | IE | EUR | |||
Italy | IT | EUR | |||
Norway | NO | NOK | |||
Poland | PL | PLN | |||
Portugal | PT | EUR | |||
Romania | RO | RON | |||
Spain | ES | EUR | |||
Sweden | SE | SEK | |||
Switzerland | CH | CHF | See note 3 |
See note 3 |
|
The Netherlands | NL | EUR | |||
United Kingdom | GB | GBP | |||
United States | US | USD |
3If you want to offer Klarna in Switzerland, contact our Support Team.
The /paymentMethods response contains:
paymentMethod.type
: klarna_paynow for Klarna Pay Now.paymentMethod.type
: klarna for Klarna buy now pay later.paymentMethod.type
: klarna_account for Klarna Pay Over Time.