What is Klarna for Magento ?
Klarna for Magento wires the Swedish Buy-Now-Pay-Later (BNPL) provider into the Magento checkout via the official Klarna_Kp module. Customers can split a purchase across Pay-in-3 (3 interest-free instalments), Pay-in-4 (US, 4 instalments), Pay-Later-30-Days (interest-free), or Financing (6 – 36 months at APR). Klarna takes the credit risk; the merchant is paid upfront on a T+1 to T+3 schedule. Available in 25+ countries, with conversion lifts of 15 – 30% on AOV $100+.
Five steps from composer-install to live BNPL checkout
Klarna is not a black-box checkout button — Magento talks to it through a documented module, a per-store credential pair, and signed webhooks. Here is the wiring, end to end.
-
01
Composer-install the Klarna Payments module
On a standard Magento install, run
composer require klarna/m2-kpfor the free Klarna Payments module (Klarna_Kp). For full hosted-checkout (KCO) replacing Magento’s native checkout entirely, use the paidklarna/module-klarna-checkout. Thenbin/magento module:enable Klarna_Kp Klarna_Core Klarna_Ordermanagementfollowed bysetup:upgradeandsetup:di:compile. The module supports Magento 2.4.4+ and is Hyvä-compatible via the separateklarna/hyva-checkoutbridge. -
02
Wire your Klarna API credentials in admin
Sign up at
portal.klarna.com, pick your merchant region (EU / NA / OC), and copy the API username + password from Klarna’s merchant portal. In Magento admin go toStores → Configuration → Sales → Payment Methods → Klarna Payments. Paste the credentials per store view, set the region, toggle test mode for staging, and pick which Klarna products (Pay-in-3, Pay-in-4, Pay-Later-30, Financing) to expose at checkout. Klarna negotiates fees per merchant — typically 3 – 5% MDR depending on country and volume. -
03
Customer picks Klarna at checkout — soft credit check runs
At the Magento checkout step the Klarna widget loads inline and runs a soft credit check in milliseconds against Klarna’s risk engine — no impact on the shopper’s credit score. Klarna returns an approve / decline plus the available BNPL products. Approved customers pick
Pay-in-3(3 interest-free instalments),Pay-Later-30(full payment due in 30 days, interest-free), orFinancing(6 – 36 months at APR). The merchant captures the authorisation on order placement. -
04
Klarna pays the merchant upfront, then chases the customer
Once the order is captured, Klarna settles the full order amount (minus MDR) to the merchant bank account on a
T+1toT+3schedule depending on region and contract. From that moment on, Klarna owns the credit risk — they collect each instalment from the customer, handle late fees, and run their own collections if the customer defaults. The merchant balance is risk-free, which is the core BNPL value proposition on top of the conversion lift. -
05
Webhooks keep Magento and Klarna order state in sync
Klarna pushes order-event webhooks to
/klarna_kp/webhookfor capture, refund, partial-return, and dispute events. TheKlarna_Kp\Controller\Webhookcontroller verifies the HMAC signature, updates the Magento order state, and writes a comment to the order history. Refunds initiated in Magento admin call Klarna’s Refund API automatically —do notbypass this; manual ledger fixes leave the customer still owing Klarna.
Four scenarios where adding Klarna is the obvious answer
Klarna isn’t a free lift — the merchant pays 3-5% MDR. These four scenarios are where the BNPL conversion lift clears the fee delta with room to spare.
-
Stores with AOV $100+ (especially fashion, electronics, furniture)
BNPL conversion lift is roughly proportional to cart size — on $20 carts the lift is negligible because customers pay with a card anyway. The economic break-even sits around AOV $100, and the lift compounds steeply on $300+ carts. Fashion, consumer electronics, and furniture are Klarna’s sweet spot: high-AOV, high-consideration purchases where splitting a $400 payment into 3 x $133 removes the “is this a stretch?” objection at checkout. Expect 15 – 30% conversion lift on qualifying carts.
-
Stores selling into EU, UK, and the Nordics
Klarna is the dominant BNPL provider across Europe — Sweden (Klarna’s home market), Germany, Netherlands, Finland, Norway, Denmark all show Klarna penetration above 40% of online checkouts, with Sweden cresting
60%+. If your Magento store sells into any of those markets and you’re not offering Klarna, you’re excluding the dominant payment method. The UK and Austria are catching up fast. US adoption is growing but Affirm and Afterpay still dominate certain US verticals. -
D2C brands targeting Gen-Z and millennial shoppers
BNPL adoption is generational. Klarna’s own data and independent surveys consistently put 18 – 34 BNPL usage above
40%, versus under 15% for 55+. If your D2C brand’s audience skews young — streetwear, beauty, fitness, lifestyle — Klarna isn’t a nice-to-have; it’s table-stakes alongside Apple Pay and Shop Pay. The on-site messaging widget reinforces the BNPL signal on PDP and category pages, which is where the conversion lift actually starts. -
Stores with high cart abandonment at the payment step
If your Magento analytics show a 25%+ drop between “reached payment” and “placed order”, you’re losing customers who reached the wallet step and bailed because the total felt too high in one go. Klarna recovers roughly
20%of those would-be drops by reframing the cost as 3 x $X rather than 1 x $3X. Pair Klarna with cart-abandonment email flows that mention BNPL specifically — the abandoner copy converts dramatically better when it leads with “split this into 3 payments”.
Three Klarna integration mistakes that wreck the ROI
Every Klarna-related Magento engagement I’ve been called in to fix came from one of these three mistakes. Audit your config and on-site widgets before going live.
-
Enabling Klarna without modelling the fee delta
Klarna’s merchant discount rate (MDR) sits at roughly
3 – 5%depending on country, volume, and which Klarna products you enable — meaningfully higher than Stripe’s typical~3%on cards. The decision isn’t “Klarna or Stripe” (most stores run both); it’s “does the BNPL conversion lift cover the fee delta?” Build a simple sheet: current Stripe AOV * conversion rate * (1 – 3%) versus projected Klarna AOV * lifted conversion rate * (1 – 4.5%). On AOV $100+ carts the math almost always works. On AOV under $50 it rarely does. -
Forgetting on-site messaging on PDP and cart pages
The single biggest mistake I see: stores install Klarna at the checkout step only and skip Klarna’s
On-Site Messagingwidget on product detail and cart pages. The BNPL price-tag (“From $25/month with Klarna” or “3 payments of $33 — learn more”) is what drives the conversion lift — it reframes the purchase before the shopper even adds to cart. Klarna provides drop-in JavaScript widgets viaklarna-osm-magento. Place them under the price block on PDP and in the cart summary. Without them you’re paying Klarna’s MDR for the checkout step only and leaving the conversion lift on the table. -
Not wiring the refund hand-off back to Klarna’s API
When a customer requests a refund or partial return in Magento, the admin must trigger Klarna’s Refund API in addition to issuing the Magento credit memo. If you forget — or if a custom RMA workflow bypasses the Klarna_Kp observer — Magento marks the order refunded but Klarna keeps chasing the customer for the original instalments. The customer gets debt-collection emails for an order they returned, complains to Klarna, and Klarna chargebacks the merchant plus dispute fees. Test the refund flow end-to-end in Klarna’s sandbox before going live.
Klarna for Magento — frequently asked questions
-
Klarna vs Afterpay vs Affirm — which BNPL for Magento?
Pick by geography first, then by audience. Klarna is the right default if you sell into Europe, the UK, or the Nordics — it dominates those markets by a wide margin and is increasingly strong in the US. Afterpay (Clearpay in the UK) leans hardest into Pay-in-4 for fashion and beauty under $400, especially in Australia and the US. Affirm leads US-only high-AOV financing (think Peloton, mattresses, electronics over $500) with longer 12 – 36 month terms. If you only enable one, pick by where your top-5 markets are. If you sell globally, run Klarna plus one regional alternate — the Magento module ecosystem supports all three concurrently. -
Does Klarna replace Stripe / PayPal, or run alongside?
Alongside, every time. Klarna is a BNPL specialist, not a general card processor — it does not handle low-value card payments efficiently and most shoppers still want a plain card option at checkout. The standard production Magento stack runs Stripe (or Braintree / Authorize.Net) for cards and Apple Pay / Google Pay, PayPal for the PayPal-loyal segment, and Klarna for the BNPL upgrade path on AOV $100+ carts. Magento’s checkout supports an arbitrary number of payment methods side by side, and Klarna’s module is built to coexist with the others — the widget only renders when Klarna’s risk engine approves the cart. -
What’s Klarna’s MDR and who pays Klarna’s fees?
The merchant pays. Klarna’s merchant discount rate sits in the <code>3 – 5%</code> band of order value depending on country, volume, and which Klarna products are enabled — Pay-in-3 typically costs the merchant less than Financing because Klarna’s risk window is shorter. That compares to Stripe’s roughly <code>~3%</code> on cards and PayPal’s <code>2.9 – 3.49%</code>. The customer pays nothing extra for Pay-in-3 or Pay-Later-30 (interest-free), and only pays interest on the Financing product. Klarna negotiates rates per merchant — if you process more than ~$1M/year in Klarna volume, ask for a custom rate; the rack rate is for small merchants. -
Is Klarna PSD2 / SCA safe for European checkouts?
Yes — Klarna is fully PSD2 / SCA compliant out of the box, and that’s actually one of the operational reasons to add Klarna to a European Magento store. Klarna handles the strong-customer-authentication flow internally (typically via banking-app push notification or one-time-passcode) and returns an authenticated session to Magento. The Klarna_Kp module passes the 3DS-equivalent flag through to the Magento order, and the order is exempt from chargeback risk because Klarna assumed the SCA liability. This is the same reason banks accept Klarna-routed payments without extra authentication steps. -
Does Hyvä storefront work with Klarna?
Yes — Klarna ships a Hyvä-compatibility bridge as <code>klarna/hyva-checkout</code>, separate from the Luma module. The bridge ports the Klarna Payments widget into Hyvä’s Alpine.js-based checkout, preserves the inline risk-check and on-site-messaging components, and is maintained alongside Magento upgrades. Install with <code>composer require klarna/hyva-checkout</code> on top of the standard <code>klarna/m2-kp</code> module. The on-site-messaging widget for PDP / cart works on Hyvä without additional changes. Klarna_Checkout (the paid hosted-checkout product) also has a Hyvä bridge but the migration path is less clean — if you’re on Hyvä and starting fresh, Klarna Payments is the better fit. -
How does Klarna handle refunds and partial returns in Magento?
Refunds are wired through Magento’s credit memo flow. When you create a credit memo in the Magento admin against a Klarna-paid order, the Klarna_Kp observer intercepts the save event and calls Klarna’s Refund API with the same amount, marking the refund against the original Klarna order reference. Partial refunds work the same way — refund a single line item via the credit memo, Klarna refunds the matching instalment proportionally. Returns initiated by the customer through Klarna’s own portal also push back into Magento via the webhook controller, which auto-creates the credit memo. The one edge case: custom RMA modules that bypass the standard credit-memo event will skip the Klarna hand-off — always test the RMA flow end-to-end in Klarna’s sandbox before shipping a custom return workflow.
Want a Klarna BNPL audit on your Magento store?
Send your storefront URL — I will check your Klarna_Kp install, on-site-messaging placement, refund hand-off wiring, and BNPL conversion math, then reply with a written tuning plan, fixed-price quote, and earliest start date. 24-business-hour turnaround.