Overview
Icon for Mollie

Mollie

Accept multi-currency payments easily with Mollie

Mollie Payments for Medusa

A comprehensive payment provider plugin that enables Mollie payments on Medusa V2 projects.

Table of Contents

Features

  • Multiple Payment Methods: Supports a wide range of Mollie payment methods including:
    • Mollie Hosted Checkout
    • iDEAL
    • Bancontact
    • Credit Card
    • PayPal
    • Apple Pay
    • Gift Card
  • Easily Extendable: The modular architecture makes it easy to add support for additional Mollie payment methods.
  • Webhook Support: Full support for Mollie webhooks for real-time payment status updates.
  • Automatic Capture: Configurable automatic capture of payments.
[!WARNING] This plugin has not been tested on a live store. Please conduct thorough testing before using it in a production environment. I am not responsible for any missed or failed payments resulting from the use of this plugin. If you encounter any issues, please report them here.

Prerequisites

  • Medusa server v2.3.0 or later
  • Node.js v20 or later
  • A Mollie account and API key with payment methods enabled.
[!NOTE] You can get an API key from your Mollie dashboard: click Browse > Developers > API keys

Installation

yarn add @variablevic/mollie-payments-medusa

Configuration

Add the provider to the Copy to clipboard@medusajs/payment module in your Copy to clipboardmedusa-config.ts file:

modules: [
// ... other modules
{
resolve: "@medusajs/payment",
options: {
providers: [
// ... other providers
{
resolve: "@variablevic/mollie-payments-medusa/providers/mollie",
id: "mollie",
options: {
apiKey: process.env.MOLLIE_API_KEY,
redirectUrl: process.env.MOLLIE_REDIRECT_URL,
medusaUrl: process.env.MEDUSA_URL,
},
},
],
},
}
]

Configuration Options

Option Description Default Copy to clipboardapiKey Your Mollie API key Required Copy to clipboardredirectUrl The URL to redirect to after payment Required Copy to clipboardmedusaUrl The URL of your Medusa server Required Copy to clipboardautoCapture Whether to automatically capture payments Copy to clipboardtrue Copy to clipboarddescription The description that appears on the payment. Copy to clipboardMollie payment created by Medusa Copy to clipboarddebug Whether to enable debug mode Copy to clipboardfalse

Environment Variables

Create or update your Copy to clipboard.env file with the following variables:

MOLLIE_API_KEY=your_mollie_api_key
MOLLIE_REDIRECT_URL=https://your-store.com/checkout/payment
MEDUSA_URL=https://your-medusa-server.com

Usage

Once installed and configured, the Mollie payment methods will be available in your Medusa admin. To enable them, log in to you Medusa Admin, browse to Settings > Regions, add or edit a region and select the desired Mollie providers from the dropdown.

Make sure that the selected payment methods are enabled in your Mollie origanization settings as well.

Client-Side Integration

To integrate with your storefront, you'll need to implement the payment flow according to Mollie's and Medusa's documentation. Here's a basic example:

  1. Create a payment session in your checkout flow
  2. Redirect the customer to the Mollie payment page
  3. Handle the webhook notifications to update the payment status

Example integration using the Medusa Next.js Starter:

https://github.com/user-attachments/assets/742ee261-5e41-4e33-9a72-faf1a424fc52

Supported Payment Methods

The plugin currently supports the following Mollie payment methods:

Payment Method Provider ID Hosted Checkout Copy to clipboardpp_mollie-hosted-checkout_mollie iDEAL Copy to clipboardpp_mollie-ideal_mollie Credit Card Copy to clipboardpp_mollie-card_mollie Bancontact Copy to clipboardpp_mollie-bancontact_mollie Gift Card Copy to clipboardpp_mollie-giftcard_mollie PayPal Copy to clipboardpp_mollie-paypal_mollie Apple Pay Copy to clipboardpp_mollie-apple-pay_mollie

Extending the Plugin

To add support for additional Mollie payment methods, create a new service in Copy to clipboardsrc/providers/mollie/services that extends the Copy to clipboardMollieBase class:

import { PaymentMethod } from "@mollie/api-client";
import MollieBase from "../core/mollie-base";
import { PaymentOptions, PaymentProviderKeys } from "../types";
class MollieNewMethodService extends MollieBase {
static identifier = "mollie-new-method";
get paymentCreateOptions(): PaymentOptions {
return {
method: PaymentMethod.newMethod,
};
}
}
export default MollieNewMethodService;

Make sure to replace Copy to clipboardnew method with the actual Mollie payment method ID.

Export your new service from Copy to clipboardsrc/providers/mollie/services/index.ts. Then add your new service to the list of services in Copy to clipboardsrc/providers/mollie/index.ts.

Local development and customization

In case you want to customize and test the plugin locally, refer to the Medusa Plugin docs.

License

TBD

You may also like

Browse all integrations

Build your own

Develop your own custom integraiton

Build your own integration with our API to speed up your processes. Make your integration available via npm for it to be shared in our Library with the broader Medusa community.

gift card interface

Ready to build your custom commerce setup?