Klarna via MultiSafepay


⚠️

Note:

We are currently in the pilot phase for this product.

If you are interested in participating in the next stage of our pilot, email [email protected]

Klarna via MultiSafepay is a flexible online payment method that lets customers pay now, in 30 days (Pay Later 30), or in 3 or 4 interest-free installments. It also offers financing. MultiSafepay guarantees settlement, provides operational and onboarding support, and sets pricing, while consumer credit checks and service is managed by Klarna.

Klarna via MultiSafepay offers quicker settlement and simplified reconciliation from your Multisafepay dashboard.

Read how Klarna via MultiSafepay can benefit your business on multisafepay.com

SupportsDetails
CountriesAustria, Belgium, Denmark, Finland, France, Germany, Italy, Netherlands, Norway, Portugal, Spain, Sweden, UK
CurrenciesEUR, DKK, GBP, NOK, SEK, CHF, PLN, USD
ChargebacksYes
DiscountsYes
Payment pagesYes (current version only)
RefundsYes: Full, partial, and API refunds

Payment flow

This diagram shows the flow for a successful transaction. Click to magnify.

Payment statuses

The table below sets out the order status and transaction status for payments and refunds.

DescriptionOrder statusTransaction status
The customer has been redirected to Klarna. You can still cancel with Klarna using the reservation number.InitializedInitialized
Klarna has authorized the transaction and the funds are awaiting capture. You can no longer cancel; you can only refund.CompletedUncleared
⚠️ Note: To capture the funds, manually change the order status to Shipped.ShippedUncleared
MultiSafepay has collected payment.ShippedCompleted
The transaction expired after 1 day or you didn't change the order status to shipped within 28 days.
See Expired orders.
ExpiredExpired
Klarna authorized the transaction, but either you or the customer cancelled it before capture.VoidVoid
Klarna declined the transaction.
Only the customer can contact Klarna to find out why (for privacy and compliance reasons).
For merchant support, email [email protected]
DeclinedDeclined
Refunds: Refund initiated.InitializedCompleted
Refunds: Refund complete.CompletedCompleted

Activation

  1. Email a request to [email protected]. We check your eligibility and if approved, activate the payment method for your account.
  2. Once approved, to activate the method in your dashboard, sign in to your MultiSafepay dashboard .
  3. To activate the payment method for:
    • All websites, go to Settings > Payment methods.
    • A specific website, go to Websites, and then click the relevant website.
  4. Select the checkbox for the payment method, and then click Save.

If you already have Klarna enabled for your account:

  1. Log in to your MultiSafepay dashboard.
  2. Go to Settings > Payment methods > Klarna.
  3. Click Configure Klarna, accept the terms and conditions and click Request activation.
  4. We will review your request and activate Klarna via MultiSafepay for your account.

💬 Support: If the payment method isn't visible in your dashboard, email [email protected]

Integration

API

  • See API reference – Create order > BNPL order.
  • A shopping_cart object is required for all BNPL orders. See Recipes – Include shopping_cart in order .
  • Transactions expire after 1 day.
  • For direct orders, you must display your terms and conditions in your checkout.

Ready-made integrations

Klarna via MultiSafepay is currently not available for ready-made integrations.

Testing

Klarna via MultiSafepay is currently not available for testing.


User guide

Addresses

Different billing and shipping addresses are supported.

Branding

With Klarna via MultiSafepay, you can customize the branding of your payment flow. By applying your own branding, Klarna’s logo is replaced with your business logo within the Klarna payment environment.

You can upload your own logo:

  1. Sign in to your MultiSafepay dashboard.
  2. Under Settings, click Files.
  3. Click Upload and select your desired logo:
    • For best results, use a square image with a transparent background.
    • Resolution 180x180 px or higher
    • The maximum file size is 1024 KB
    • The following formats are supported: GIF, JPG, JPEG, PNG

To change your logo:

  1. Go to Settings > Payment methods
  2. Go to Klarna via MultiSafepay and select a supported image.

Expired orders

Orders may expire if you don't change the order status to Shipped within 28 days.

How to handle expired orders

You can send the customer a payment link from the existing order or a new order.

Existing order

  1. Sign in to your MultiSafepay dashboard.
  2. Go to Transactions > Transaction overview, and then select the expired transaction.
  3. Click Payment link, and then click Duplicate this order.
  4. On the Payment link generator page, click Generate payment link.
  5. Send the payment link to the customer.

New order

  1. Create a new order > BNPL order. See also Examples > Klarna redirect.
  2. Ship the order > Ship order.
  3. Send the payment link to the customer.

Disputes

A dispute is when you and a customer disagree about an order:

  • Goods, e.g. the customer returns all or part of the order, or the goods were faulty when delivered
  • Payments, e.g. invoicing errors, or the customer paid Klarna instead of you
  • Other, e.g. insolvency, or bankruptcy

MultiSafepay provides support for resolving disputes.

Gift cards

When paying with a gift card and a BNPL, customers must enter the gift card details before placing their order, i.e. on your checkout page.

This is because BNPL methods collect and require precise order specifications. Our platform would interpret the gift card as a discount and generate incorrect order information, e.g. tax calculations.

You are solely responsible for this in your integration.

Refunds

To refund a Klarna transaction, follow these steps:

Via your dashboard

  1. Sign in to your MultiSafepay dashboard .
  2. Go to Transactions > Transactions Overview and select the relevant transaction.
  3. Click on the transaction to go to the Transaction summary page.
  4. Under Order summary, click Edit order.
  5. Click Refund whole order to process a full refund.
    For partial refunds, you have two options:
    • Click the (❌) remove icon to process a refund for all units of a specific item, or
    • Click Change, enter the item's name, the quantity of items you want to refund, unit price, and select the tax rate. Click Add.
  6. Click Save changes.

Via the API

See API reference - Refund order

Use the Get order request to retrieve the order details.

  1. Under Path Params, enter the order_id of the transaction you want to refund.
  2. Under Body Params, select BNPL Refund. Add all items in the shopping cart.
  3. Duplicate the object of the items you want to refund and enter a negative value for quantity.

⚠️Note: Always include the correct tax rate in tax_table_selector for each item in the shopping cart. Excluding it will result in an incorrect refund amount.

Example request
curl --request POST \
     --url 'https://testapi.multisafepay.com/v1/json/orders/{order_id}/refunds?api_key={your_api_key}' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "checkout_data": {
    "items": [
      {
        "name": "example_item_1",
        "description": "",
        "unit_price": 100,
        "quantity": 3,
        "merchant_item_id": "1111",
        "tax_table_selector": "none",
        "weight": {
          "unit": "KG",
          "value": 12
        }
      },
      {
        "name": "example_item_2",
        "unit_price": 100,
        "quantity": 4,
        "merchant_item_id": "1212",
        "tax_table_selector": "BTW21"
      },
      {
        "name": "example_item_1",
        "unit_price": 100,
        "quantity": -3,
        "merchant_item_id": "1212",
        "tax_table_selector": "none",
        "weight": {
          "unit": "KG",
          "value": 12
        }
      },
      {
        "name": "example_item_2",
        "unit_price": 100,
        "quantity": -4,
        "merchant_item_id": "1212",
        "tax_table_selector": "BTW21"
      }
    ]
  }
}

Shipment

Change the order status

When you ship the order, you must manually change the order status from Completed to Shipped, which:

  • Captures the funds
  • Triggers sending the invoice to the customer
  • Prevents the order from expiring

How to change order status to shipped

In your dashboard

  1. Sign in to your MultiSafepay dashboard .
  2. Go to Transactions > Transactions overview, and then click the relevant transaction.
  3. On the Transaction details page, under Order details, click Change order status.
  4. Change the status to Shipped.
  5. Send the customer the track and trace details, if relevant.

In your backend

If you change the order status in your backend, the following ready-made integrations pass the updated status to your dashboard automatically:

  • Lightspeed, Magento 2, and WooCommerce: When you set the order to Shipped in your backend.
  • Shopware 5: When you set the order to Delivered in your backend.

For other ready-made integrations, make an update order API request.

⚠️ Note: Some third-party plugins may not support updating the status via our API.

Extend the shipping period

If you cannot ship the order within 28 days, you can extend the time period for up to 180 days in segments.

If the order is not captured during this time, the order status and transaction status change to expired.

How to extend the shipping period
  1. Sign in to your MultiSafepay dashboard .
  2. Go to Transactions > Transaction overview, and then click the relevant transaction.
  3. On the Transaction details page, under Order summary, click Extend.

Surcharges

Due to changes to the Wet op het consumentenkrediet, merchants who apply surcharges to BNPL methods are now deemed credit providers under article 7:57 of the Burgerlijk Wetboek. This requires a permit from the Authority for Financial Markets (AFM).

We therefore strongly recommend not applying surcharges.

For more information, see Klarna – Welk bedrag kan ik maximaal doorberekenen aan mijn klant?


💬

Support

Email [email protected]