A comprehensive payment provider plugin that enables Mollie payments on Medusa V2 projects.
- Features
- Prerequisites
- Installation
- Configuration
- Usage
- Client-Side Integration
- Supported Payment Methods
- Extending the Plugin
- Local Development and Customization
- License
-
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.
- 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
yarn add @variablevic/mollie-payments-medusaAdd the provider to the @medusajs/payment module in your medusa-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,
},
},
],
},
}
]| Option | Description | Default |
|---|---|---|
apiKey |
Your Mollie API key | Required |
redirectUrl |
The URL to redirect to after payment | Required |
medusaUrl |
The URL of your Medusa server | Required |
autoCapture |
Whether to automatically capture payments | true |
description |
The description that appears on the payment. | Mollie payment created by Medusa |
debug |
Whether to enable debug mode | false |
Create or update your .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.comOnce 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.
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:
- Create a payment session in your checkout flow
- Redirect the customer to the Mollie payment page
- Handle the webhook notifications to update the payment status
Example integration using the Medusa Next.js Starter:
mollie-new.mp4
The plugin currently supports the following Mollie payment methods:
| Payment Method | Provider ID |
|---|---|
| Hosted Checkout | pp_mollie-hosted-checkout_mollie |
| iDEAL | pp_mollie-ideal_mollie |
| Credit Card | pp_mollie-card_mollie |
| Bancontact | pp_mollie-bancontact_mollie |
| Gift Card | pp_mollie-giftcard_mollie |
| PayPal | pp_mollie-paypal_mollie |
| Apple Pay | pp_mollie-apple-pay_mollie |
To add support for additional Mollie payment methods, create a new service in src/providers/mollie/services that extends the MollieBase 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 new method with the actual Mollie payment method ID.
Export your new service from src/providers/mollie/services/index.ts. Then add your new service to the list of services in src/providers/mollie/index.ts.
In case you want to customize and test the plugin locally, refer to the Medusa Plugin docs.
TBD
