Skip to main content
Klarna is a buy now, pay later (BNPL) payment method. Customers pay now, pay later or spread the cost over time, and Klarna selects the options it offers each customer. Payrails processes Klarna directly with Klarna, and through Adyen and Stripe. The flow is the same with each one, but the required request fields, the payment method codes, and the supported workflows differ. Pick a PSP below for its setup steps and request examples.

How a Klarna payment works

Klarna is a redirect payment method:
  1. The customer selects Klarna at checkout.
  2. Payrails returns a redirect URL from the PSP, and the customer goes to a Klarna page.
  3. The customer signs in to Klarna, picks how to pay, and confirms the purchase.
  4. Klarna sends the customer back to your returnInfo URL.
  5. Payrails receives the result from the PSP and updates the payment.
Klarna supports delayed capture with every PSP. Authorize the payment when the customer checks out, then capture it when you ship the order, or cancel it if you don’t. To return funds after capture, refund the payment.

Supported currencies and countries

Klarna supports several currencies, and the currency must match the customer’s country. Through Stripe, Payrails accepts Klarna only in a fixed list of currencies. See the Stripe guide.

Integrate Klarna

Choose the PSP that processes Klarna for you. Each guide covers the PSP-side setup, the Payrails configuration and the request fields that PSP requires.

Adyen

Klarna via Adyen

Klarna

Direct Klarna connection

Stripe

Klarna via Stripe

Compare PSPs

Save Instruments and merchant-initiated transactions (MIT) work only with Adyen. Adyen returns a recurring reference for the Klarna agreement, and Payrails charges later MIT payments against it without a redirect.

Ways to integrate Klarna

  • Payrails SDK: the Web SDK shows Klarna when your workflow returns it as a payment option, and redirects the customer to Klarna. To control how the redirect opens, listen for the actionRequired event.
  • Payrails API: call lookup payment options, then authorize with the payment method code for your PSP. The direct Klarna connection and Stripe use klarna with hpp as the integrationType. Adyen uses klarnaPayLater, klarnaPayNow or klarnaPayOverTime with api. Each PSP guide lists the meta fields that PSP requires.
In both cases, confirm the final result through webhook notifications or the execution status. Don’t treat the customer’s return to your success URL as proof of payment.
Last modified on October 2, 2026