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
- Prerequisites
- Installation
- Configuration
- Usage
- Client-Side Integration
- Supported Payment Methods
- Extending the Plugin
- Local Development and Customization
- License
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
1yarn 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:
1234567891011121314151617181920modules: [// ... 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:
123MOLLIE_API_KEY=your_mollie_api_keyMOLLIE_REDIRECT_URL=https://your-store.com/checkout/paymentMEDUSA_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:
- 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:
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:
123456789101112131415import { 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