Klarna plugin for Medusa.js
Receive payments on your Medusa commerce application using Klarna.
Features
- Authorize payments on orders from any sales channel.
- Creates Medusa Order on /push callback
- Retrieve Cart by Klarna Order Id
- Capture payments from the admin dashboard.
- Support for Webhooks.
Prerequisites
How to Install
1. Run the following command in the directory of the Medusa backend:
npm
1npm install artwerk-payment-klarna
yarn
1yarn add artwerk-payment-klarna
2. Set the following environment variables in Copy to clipboard
.env
:12345678STORE_CORS=<YOUR_STORE_FRONT_URL>KLARNA_BACKEND_URL=<YOUR_KLARNA_BACKEND_URL>KLARNA_URL=<YOUR_KLARNA_URL>KLARNA_USER=<YOUR_KLARNA_USER>KLARNA_PASSWORD=<YOUR_KLARNA_PASSWORD>KLARNA_TERMS_URL=<YOUR_KLARNA_TERMS_URL>KLARNA_CHECKOUT_URL=<YOUR_KLARNA_CHECKOUT_URL>KLARNA_CONFIRMATION_URL=<YOUR_KLARNA_CONFIRMATION_URL>
3. In Copy to clipboard
medusa-config.js
add the following at the end of the Copy to clipboardplugins
array:123456789101112131415161718const plugins = [// other plugins...{resolve: `medusa-payment-klarna`,options: {backend_url: process.env.KLARNA_BACKEND_URL,url: process.env.KLARNA_URL,user: process.env.KLARNA_USER,password: process.env.KLARNA_PASSWORD,store_cors: process.env.STORE_CORS,merchant_urls: {terms: process.env.KLARNA_TERMS_URL,checkout: process.env.KLARNA_CHECKOUT_URL,confirmation: process.env.KLARNA_CONFIRMATION_URL,},},},];
Test the Plugin
1. Run the following command in the directory of the Medusa backend to run the backend:
1npm run start
2. Enable Klarna in a region in the admin. You can refer to this User Guide to learn how to do that. Alternatively, you can use the Admin APIs.
3. Place an order using a storefront or the Store APIs. You should be able to use Klarna as a payment method.