For guest checkout integrations after March 2026, please refer to Klarna.
This previous version of Klarna is for recurring integrations (and for guest checkout integrations existing before March 2026).
In this case, the recurring functionality allows you to save a token which represents your customer's data and use this across multiple requests to Klarna.
Klarna is a "Buy Now, Pay Later" payment method allowing your customer to pay in installments.
Make yourself familiar with our API principles to ensure a resilient integration.
Product overview
- defer payment by 30 days
- spread the cost over a period of up to 36 months (with financing)
- pay the full amount immediately with "Pay Now" for card, local domestic or local bank transfer payments
- spread the cost over three (four in some markets) equal interest-free installments
Klarna manages the relationship and collection of future installment payments directly with your customer. You receive full funding upfront and are protected from the risk of unpaid installments.
Follow the link for the latest guidelines from Klarna.
| Payment type | Countries | Recurring | Reversals | Partial reversals | Disputes | Auth only |
|---|---|---|---|---|---|---|
| Pay Now, Pay in Parts, Pay Later, Financing | AT,BE,FI,DE,NL,NO,ES,SE,CH | ✅ | ✅ |
| Handled directly via Klarna. We will deduct the funds if the dispute is lost. | ✅ |
Refunds are completed through Klarna to your customer's account within 365 days and you can submit multiple partial refunds for one payment.
| Currency | Currency codes |
|---|---|
| Czech Koruna | CZK |
| Danish Krone | DKK |
| Euro | EUR |
| Norwegian Krone | NOK |
| Polish Złoty | PLN |
| Pound Sterling | GBP |
| Swedish Krona | SEK |
| Swiss Franc | CHF |
Use our API reference and set your headers.
POST https://try.access.worldpay.com/apmPayments
Apply APM payment details directly using our APMs API, or use our Components SDK to create a session.
Collect the APM details and send an API request with these details to create a payment.
- Tryhttps://try.access.worldpay.com/apmPayments
- Livehttps://access.worldpay.com/apmPayments
- Payload
- curl
- Python
- Java
- Node.js
- Go
- PHP
- Ruby
- C#
{ "transactionReference": "Memory265-13/08/1876", "orderReference": "apm-order-12345", "merchant": { "entity": "default" }, "instruction": { "method": "klarna", "value": { "amount": 2468, "currency": "GBP" }, "narrative": { "line1": "MindPalace" }, "paymentInstrument": { "type": "direct", "country": "GB", "language": "en", "billingAddress": { "address1": "221B Baker Street", "address2": "Marylebone", "address3": "Westminster", "postalCode": "NW1 6XE", "city": "London", "state": "Greater London", "countryCode": "GB" } }, "resultUrls": { "cancel": "https://worldpay.com/cancel", "failure": "https://worldpay.com/failure", "pending": "https://worldpay.com/pending", "success": "https://worldpay.com/success" }, "shipping": { "method": "registered box", "timeFrame": "normal", "firstName": "James", "lastName": "Moriarty", "phone": "00000000000", "email": "test@email.com", "address": { "address1": "221B Baker Street", "address2": "Marylebone", "address3": "Westminster", "postalCode": "NW1 6XE", "city": "London", "state": "Greater London", "countryCode": "GB" } }, "customerAgreement": { "type": "recurring", "description": "monthly Subscription", "agreementName": "trial1", "startDate": "2024-09-10", "endDate": "2025-09-10", "affiliateName": "partner a" }, "customer": { "firstName": "James", "lastName": "Moriarty", "email": "moriarty@example.com", "phone": "00000000000", "dateOfBirth": "1999-01-01" }, "order": { "orderTotalTaxAmount": 0, "termsUrl": "https://example.com", "items": [ { "type": "physical", "productCode": "fff1223", "name": "Red Hat", "quantity": 1, "unitOfMeasure": "per unit", "unitCost": 1234, "taxRate": 1, "totalTaxAmount": 0, "totalAmount": 1234, "totalDiscountAmount": 0, "productUrl": "https://example.com", "imageUrl": "https://example.com" }, { "type": "physical", "productCode": "fff1256", "name": "Blue Hat", "quantity": 1, "unitOfMeasure": "per unit", "unitCost": 1234, "taxRate": 1, "totalTaxAmount": 0, "totalAmount": 1234, "totalDiscountAmount": 0, "productUrl": "https://example.com", "imageUrl": "https://example.com" } ] } } }
You must settle the payment, using next action links, when using Klarna with a token.
For Bizum transactions, please follow this extra regex [a-zA-Z0-9]{4,12}
A reference that you can apply to one or more payments according to your business needs. You may reuse the same reference across multiple payments, for example where:
- the total amount for a single order is split across multiple payments
- you use a single reference for each payment in a recurring agreement or split shipment scenario
Used to route the request in Access Worldpay, created as part of on-boarding.
Object that contains the payment type and details.
Type of payment method.
- ach
- alipay_cn
- alipay_hk
- alipay_uni
- bancomat
- bancontact
- bizum
- blik
- eft
- euteller
- ideal guest
- ideal recurring
- klarna
- klarna recurring
- klarna token
- konbini
- multibanco
- mybank
- open_banking
- paypal
- paysafecard
- pix
- przelewy
- sepa guest and first recurring
- sepa token
- safetypay
- satispay
- swish
- trustly
- unionpay
- wechatpay
The value of the payment.
The supported ISO 4217 currency codes.
The amount in the lowest denomination of the currency, e.g. pennies for GBP, cents for USD.
The description shown on your customer's bank statement for the payment.
Account type.
Account number of direct debit account.
Routing number of direct debit account.
Check number of the direct debit account.
Company name if a corporate account.
First line of the address.
Second line of the address.
Third line of the address.
Postal code.
City.
State code of the billing address in ISO 3166-2 format.
The supported ISO 3166-1 alpha-2 country codes.
Your customer's email address.
Your customer's first name.
Your customer's last name.
Your unique reference for the customer so that the 'pay faster next time' function can be used during checkout. This allows your customer's chosen bank to be stored for their next payment.
We suggest you provide the cancelURL,failureURL, pendingURL and successURL attribute to redirect your customer to, once you have received the payment result.
{
"paymentId": "uK9Oh5zz4yKhGuFofhhnC056-K6qn-w8Krt2pRT2oSzwh_KRcHUrrs1qJtQso9gjgJ_wwjT869eMBB_T4PM4D6HdjtgfjDBh7htEkjHxp4Q_KzkRIENkZoejad--FtjVrMslJn1mvz4mwr-TuKlP9ZAhBEzSApkfhL__fXCo-vMkR1a2Zrj_R8rGSgu6m2Wd",
"lastEvent": "pending",
"_links": {
"self": {
"href": "https://try.access.worldpay.com/apmPayments/uK9Oh5zz4yKhGuFofhhnC056-K6qn-w8Krt2pRT2oSzwh_KRcHUrrs1qJtQso9gjgJ_wwjT869eMBB_T4PM4D6HdjtgfjDBh7htEkjHxp4Q_KzkRIENkZoejad--FtjVrMslJn1mvz4mwr-TuKlP9ZAhBEzSApkfhL__fXCo-vMkR1a2Zrj_R8rGSgu6m2Wd"
}
},
"_actions": {},
"redirect": "https://secure-test.worldpay.com/jsp/test/shopper/APMSTSimulator.jsp?customerRef=3417843726&paymentMethod=KLARNA_PAYNOW&country=DE",
"paymentInstrument": {
"method": "klarna",
"type": "klarna/token"
},
"commandId": "cmdEy5vwB0krLe9eMwAcE66c0"
}The identifier of the payment resource.
Links to resources related to the request.
The URL to redirect your customer to, or a QR code in Base64 to show to your customer, in order to complete the transaction.
An action ID generated by us, identifying a single merchant interaction.
Payment instrument details for the payment response.
Payment instrument for: ACH, Alipay China, Alipay Hong Kong, Alipay Plus, BANCOMAT Pay, Bancontact, Bizum, BLIK, EFT, Euteller, iDEAL guest, iDEAL recurring, Klarna, Klarna (recurring), Konbini, Multibanco, MyBank, Open Banking, PaysafeCard, Pix, Przelewy24, SafetyPay, Satispay, Swish, Trustly, China UnionPay, WeChat Pay.
For Pix payments - display to your customer for them to copy and paste in the Pix app.
For Swish payments - use this value as the {token} in the custom URL scheme: swish://paymentrequest?token={token}&callbackurl={callbackURL}. This will prompt the app to open, allowing your customer to complete their payment.
Check out our API reference for more responses or error codes.
Next steps