Receive payments on your Medusa commerce application using Klarna.
- 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.
1. Run the following command in the directory of the Medusa backend:
npm install artwerk-payment-klarna
yarn add artwerk-payment-klarna
2. Set the following environment variables in .env
:
STORE_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 medusa-config.js
add the following at the end of the plugins
array:
const 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,
},
},
},
];
1. Run the following command in the directory of the Medusa backend to run the backend:
npm 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.