Klarna

Klarna is a "Buy Now, Pay Later" payment method allowing you to defer or spread the cost of payments.

Note

Make yourself familiar with our API Principles to ensure a resilient integration.

Product Overview

Why use Klarna

It offers your customers the option to either:

  • defer payment by 30 days
  • spread the cost over three (four in some markets) equal interest-free instalments
  • spread the cost up to 36 months (with financing)
  • pay the full ammount immediately with "Pay Now" for card, local domestic or local bank transfer payments

You benefit from reduced cart abandonment, an increase in sales and a reduction in risk.

Brand and marketing guidelines

Follow the link for the latest guidelines from Klarna.

Feature summary

Payment typeCountriesRecurringReversalsPartial ReversalsDisputesAuth only
Pay Now, Pay in Parts, Pay Later, FinancingAT,BE,FI,DE,NL,NO,ES,SE,CH
  • Partial refund - yes
  • Partial cancel- No
Handled directly via Klarna. Worldpay will deduct the funds if the dispute is lost.
Note

Refunds are completed through Klarna to your customer's account within 365 days and you can submit multiple partial refunds for one payment.

Acceptance currencies

CurrencyCurrency Codes
Czech KorunaCZK
Danish KroneDKK
EuroEUR
Norwegian KroneNOK
Polish ZłotyPLN
Pound SterlingGBP
Swedish KronaSEK
Swiss FrancCHF

Get Started

Get started using our API Reference and set your headers.


Request

POST https://try.access.worldpay.com/apmPayments

Example request

Response
application/json
{ "paymentId": "HZ75WBkfRwmD9YzLSZFnQ--xazN30hqhileEoUF53VKlDSUrxrcX5x_wn93uYUZB26bWaGtSc4n1mbKHCn5p1tAsrh_YcN6kEXom71Xl4C2K6uz6RKmSmP_m7-TgEHezOhzH5eLvBJHPh6ir8ugqJqGjb7dlrQPJ4byuGHVAMZ8", "lastEvent": "pending", "_links": { "self": { "href": "https://try.access.worldpay.com/apmPayments/HZ75WBkfRwmD9YzLSZFnQ--xazN30hqhileEoUF53VKlDSUrxrcX5x_wn93uYUZB26bWaGtSc4n1mbKHCn5p1tAsrh_YcN6kEXom71Xl4C2K6uz6RKmSmP_m7-TgEHezOhzH5eLvBJHPh6ir8ugqJqGjb7dlrQPJ4byuGHVAMZ8" } }, "_actions": {}, "redirect": "https://mock.hpp.worldpay.com/app/hpp/xyz/integration/wpg?Ticket=12345678&OrderKey=blah", "paymentInstrument": { "method": "paypal", "type": "redirect" } }
Information

You must settle the payment, using next action links, when using Klarna with a token.

Parameters

transactionReferencestring[ 1 .. 64 ] characters^[a-zA-Z0-9\-_/!@#$%()*=.:;?\[\]{}~+]*$required
merchantobject(MerchantV2)required
merchant.​entitystring[ 1 .. 32 ] characters^([a-zA-Z0-9]*)$required

Used to route the request in Access Worldpay, created as part of on-boarding.

Example: "default"
instructionobject(InstructionV2)required

Object that contains the payment type and details.

instruction.​methodstringrequired

The type of instrument.

Value"paypal"
Discriminator
instruction.​valueobject(Value)required

The value of the payment.

instruction.​value.​amountinteger(int64)[ 1 .. 2147483647 ]required

The amount in the lowest denomination of the currency e.g. pennies for GBP, cents for USD.

Example: 1234
instruction.​value.​currencystringrequired
Enum"AED""AFN""ANG""AOA""ARS""AUD""AWG""AZN""BAM""BBD"
instruction.​narrativeobject(NarrativeBase)required
instruction.​narrative.​line1string[ 1 .. 24 ] characters^[a-zA-Z0-9\\-\\.\\,\\ ]*$required

The description shown on your customer's bank statement for the payment.

Example: "Joe Plumbing Ltd"
instruction.​paymentInstrumentobject(PayPalInstrumentV2)required
instruction.​paymentInstrument.​typestringrequired

The type of instruction.

Value"direct"
instruction.​paymentInstrument.​billingAddressobject(PayPalBillingAddressV2)
instruction.​settlementobject(Settlement)

Indicates whether the transaction should be sent for settlement now = true, or later = false at a time of your choosing.

instruction.​resultUrlsobject(ResultUrls)
instruction.​shippingobject(Shipping)
instruction.​customerobject(Customer)
Recommendation

We suggest you provide the cancelURL,failureURL, pendingURL and successURL attribute to redirect your customer to, once you have received the payment result.

Response

Successful response

  • an HTTP code 201
  • an id which is unique to the payment - we recommend storing the "id" as this can be used to manage the payment later
  • a url to redirect your customer to the APM provider to complete the payment
  • a link to query the payment status
  • an object which will give flow information such as method (e.g. klarna), type (e.g. direct for the Redirect URL flow)

Example Response

{
  "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": "direct"
  }
}

Errors

Check out our API reference for the full error code schema.

Next Steps


Manage your Klarna payment