MultiSafepay plugin for Magento 2

Easily integrate MultiSafepay payment solutions into your Magento 2 webshop with the free and completely new MultiSafepay Magento 2 plugin. Our Magento 2 plugin is professionally supported by a certified Magento 2 Solution Specialist and receives regular updates to support the latest features provided by Magento and MultiSafepay.
Adobe Certified Expert - Magento Commerce Business Practitioner

 Adobe Certified Professional - Magento Commerce Developer

 Adobe Innovate Exchange Partner



We are proud to announce that we have been working on a brand new Magento 2 plugin. The new plugin is completely built from the ground up, leaving a lot of the older methods used in the current Magento 2 plugin behind. It brings code improvements, unit/integration testing and it is built on top of the Magento payment provider gateway structure.

If you are on the deprecated plugin and want to upgrade, please read this FAQ article about how you can migrate to the new plugin
The FAQ items regarding the deprecated Magento 2 plugin have been moved to the deprecated plugin page
We have recently added support for Magento Instant Purchase and Magento Vault.
To learn more about these features, read our blog

1. Features

Some of the new features include:

  • Improved Magento backend configuration
  • Improved translations
  • Improved error handling and event & error logs
  • Support information available in the Magento backend
  • Clear explanation of each payment method with links to docs
  • Modular setup, providing more flexibility during the installation process
  • For some payment methods the hosted payment page is now skipped, resulting in a higher conversion rate
  • As of version 2.4.0, we also support Magento Vault and Instant Purchase.
    These features are based on MultiSafepay recurring payments. Please look at our docs page about Recurring payments for more information about this subject.
  • PWA (GraphQL) endpoints

Some features are not available anymore, because they are not supported anymore or have been replaced:

  • Tokenization (Replaced by Magento Vault and Instant Purchase)
  • FastCheckout (Not supported anymore)
  • PWA (REST) endpoints (Replaced by GraphQL endpoints)
MultiSafepay supports most functionalities of Magento. If you have any questions about the services we offer, do not hesitate to contact us at [email protected]

2. Requirements

  • To use the plugin you need a MultiSafepay account. You can create a test account on
  • Magento Open Source version 2.2.x & 2.3.x & 2.4.x or Magento Commerce version 2.3.x & 2.4.x (For GraphQL only Magento Open Source versions 2.4.x are supported)
  • PHP 7.1+

3. Modules

The new MultiSafepay Magento 2 plugin consists of several Magento modules:

For GraphQL support there is a separate module:

4. Installation

For merchants, we recommend installing the meta-package via composer:

composer require multisafepay/magento2
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy

This will automatically install all the modules that are necessary to get started.

After installing, the following command can be used in the Magento 2 root directory to enable all the modules:

./bin/magento module:enable `./bin/magento module:status | grep MultiSafepay_`

4.1 Stock handling

If you have disabled MSI inside Magento 2, then you can use the following command to disable the MultiSafepay MSI module:

php bin/magento module:disable MultiSafepay_ConnectMSI

If you have a Magento 2 installation with MSI enabled, you can use the following command to disable the MultiSafepay CatalogInventory module instead:

php bin/magento module:disable MultiSafepay_ConnectCatalogInventory

4.2 Module dependencies

The meta-package has a dependency on MSI, which means that the MSI modules should be available (but not necessarily enabled) in your store. However, if you have removed it with, for example, a composer-replace trick like yireo/magento2-replace-inventory, you will not be able to install the meta-package. In this case it is still possible to integrate with MultiSafepay. You can then install the magento2-frontend module and the magento2-catalog-inventory module, instead of the meta-package.

The magento2-frontend module has a dependency on the magento2-core and magento2-adminhtml module, so they all will be installed. And then you need to have a module which handles the stock in some specific cases. Since MSI is not available, you can install the magento2-catalog-inventory module instead.

The installation process is the same for the Magento Commerce version.

5. Configuration

  1. Log in to the backend of your webshop and navigate to Stores > Configuration > MultiSafepay > General Information.
    This page contains all main support information and it is advised to read this.

  2. Navigate to Stores > Configuration > MultiSafepay > General Settings.
    This page contains all main settings and is used for all gateways and gift cards. Information on where to find your Account ID, Site ID, Site code or API key can be found on our API key page. Your Account ID is shown in the dashboard of your MultiSafepay Control in the top right corner.

  3. Navigate to Stores > Configuration > MultiSafepay > Payment Methods.
    This page contains the configuration options for all payment methods supported by MultiSafepay.
    Be sure that you have the selected payment methods active in your MultiSafepay Control

  4. Navigate to Stores > Configuration > MultiSafepay > Gift Cards.
    This page contains the configuration options for all gift cards supported by MultiSafepay.
    Gift cards need to be activated, more information can be found on our gift card page

6. Congratulations

You have installed and configured the plugin successfully. If you have any questions regarding the plugin, feel free to contact our Integration Team at [email protected] or start a discussion in our Magento Slack channel #multisafepay-payments

7. Updates

Run the following commands via the CLI:

composer update multisafepay/magento2 --with-dependencies
php bin/magento setup:upgrade
php bin/magento setup:di:compile

Depending on your webserver/webshop configuration, you also need to check: - check the ‘rights’ on files correctly. Our files can be found at vendor/multisafepay - Empty static files when running in production mode - Flush cache.

Release Notes

See our changelog in GitHub for the Magento 2 plugin



Can I integrate the plugin in my PWA storefront?

Yes, the plugin is compatible with GraphQL queries and easy to integrate into your PWA store with an additional module for GraphQL support.
We also have full extensions for the next storefronts: ScandiPWA, Vue Storefront. You can find more information about available integrations here.

Can I refund orders?

Yes, it is possible to refund orders or credit memos from within the Magento 2 backend.

In the Magento backoffice, go to the Invoices tab, click on the invoice that was created by MultiSafepay, and then click Credit Memo. Now you see 2 refund buttons: * Offline refund: refund request will not be sent to MultiSafepay * Refund: a refund request will be sent to MultiSafepay.

You can also refund from your MultiSafepay Control

If you have more questions about refunds, please check out our FAQ on refunds.

Note: Refunding from the Magento 2 backend is disabled when the order has a Fooman Surcharge. It is still possible to refund those orders through MultiSafepay Control

Does the Magento 2 plugin support Magento Vault?

Yes. Our latest Magento 2 plugin supports Magento Vault. In essence, Magento Vault is tokenization with the use of the Magento payment gateway.

This functionality stores payment methods as a token in the Magento database and minimizes the purchase time for returning customers, thus enhancing the conversion rate by facilitating a fast and secure checkout process.

The Recurring Payments feature must be enabled in your MultiSafepay Control before Magento Vault can be activated in your Magento backend. Please refer to How to activate Recurring Payments and the requirements for more information.

If you have any questions about the Magento Vault integration, please contact [email protected]

How can I delete the deprecated Magento 2 plugin?

The deprecated plugin could be installed through various ways, depending on the way you installed it, it can be deleted as follows:

1. Composer

You can either choose to only remove the code base or a full uninstallation including database entries and configuration removal.

Option 1: Removing the code base

composer remove multisafepay/magento2msp
php bin/magento setup:upgrade

Option 2: Complete uninstall (including database entries and configuration removal)

bin/magento module:uninstall MultiSafepay_Connect --remove-data --clear-static-content
php bin/magento setup:upgrade

You can also optionally choose to create a backup of certain parts of the plugin by adding the following parameters: –backup-code, –backup-media and –backup-db

Please take a look at the Magento docs for all the available parameters.

2. app/code

First disable the plugin:

php bin/magento module:disable --clear-static-content
php bin/magento setup:upgrade

To remove the code base, you can delete the app/code/MultiSafepay/Connect directory:

cd app/code/MultiSafepay
rm -rf Connect

3. Marketplace

If you have installed the plugin via the Magento Marketplace inside the Magento admin backend, you can delete the plugin by navigating to the following location:

SystemWeb Setup WizardExtension ManagerUpdate / Uninstall

How can I update the plugin for Magento 2?

The plugin can be updated via Composer

Before you update the plugin, we strongly recommend the following:

  • Make sure you have a backup of your production environment
  • Test the plugin in a staging environment.

Go to our Manual page and follow the instructions from step 7.

Payment fee / Surcharges

Adding a payment fee or Surcharge is no longer supported within the plugin in Magento 2.

However, an external package of Fooman is available. This allows you to still add a payment fee or surcharge within the desired payment method.

Refunding from the Magento 2 backend is disabled when the order has a Fooman Surcharge. It is still possible to refund those orders through MultiSafepay Control

Do mind that because an external module has to be installed, our Integration Team’s help will be limited.

Of course, we do our best to support and assist as best as possible, but we investigate or reproduce on the core of a plugin. Therefore, we do not guarantee perfect compatibility when installing an external package.

Please keep in mind that the Payment Services Directive 2, also called PSD2, is now in place and may have implications on your webshop. PSD2 was first released in 2015 by the European Commission. This directive compelled the Member State to effectively intervene and regulate the payment service industry. See how applying payment fees or surcharges for your customers may affect your webshop on our PSD2 documentation page

Pending payment order lifetime

The lifetime of orders marked as ‘pending payments’ in Magento 2 is determined by the Order Cron Settings configuration. The default value is 480 minutes (8 hours).

When you offer payment methods whose validation period is more than 8 hours, the order in Magento 2 will automatically be marked as canceled due to the default value of Order Cron Settings configuration, as described above. To fix this, increase the value to be greater than the validation period.

In use with an ERP system, for example, where an order is marked as declined, a successful payment will often not be processed to an order that is marked as canceled.

The lifetime of a bank transfer is 86400 minutes (60 days)

The order will be set to cancelled in Magento 2 before a payment can be linked.

To set pending payments order lifetime, read Magento’s documentation on pending payments

What is a generic gateway?

The Magento 2 plugin offers a generic gateway. It can be found under the MultiSafepay payment methods inside the MultiSafepay configuration:

Stores > Configuration > MultiSafepay > Payment Methods > Generic Gateway

  • You enter the gateway code and upload a custom gateway image.
  • You also need to set if the gateway requires a shopping cart or not.
  • It works for the most part as a regular redirect payment method.
  • Except for recurring payments, all the features like refunding and creating a backend order are supported.

  • If you have any questions regarding the integration of the generic gateway, please contact our integration team at [email protected]

What should I do when migrating to the new plugin?

Our new plugin has been built from the ground up. This also means that there are some differences, compared to the deprecated plugin. This article will describe in detail all of the most important differences, to prevent you running in to unexpected behaviour.

1. Installation of the new plugin

We recommend to completely remove the deprecated plugin, before installing the new one. If you need help with removing the deprecated plugin, please take a look at our dedicated FAQ article for this. The payment gateways that were in the deprecated plugin will now not be available anymore, which means that online refunds for orders with these gateways can not be done anymore. These orders can be refunded via the MultiSafepay merchant control panel instead.

2. Configuration field changes in General Settings

Some configuration fields are now changed as well. Below you can find all the configuration fields that were available in the deprecated plugin that have changed in some way:

E-mail invoice to customer

The feature for sending invoices is still present in the new plugin, but instead of a separate configuration field for enabling/disabling sending the invoice, the plugin now decides to send a invoice based on the following Magento core configuration field:

Sales > Sales E-mails > Invoice > Enabled

Declined Order Status, Canceled Order Status, Expired Order Status and Chargeback Order Status

These fields have been removed and all of these MultiSafepay statusses will now set the order to the default ‘Canceled’ status via the offline action.

This configuration field has been removed and a payment link will always be generated and available in the order notes for all MultiSafepay orders that are created.

Reset Gateway

This configuration field has been removed, because when creating an order in the Magento backend, you can now select the MultiSafepay payment gateway instead. This payment gateway will show all the active payment gateways to the customer based on the website settings inside the merchant control panel. To make sure this gateway is only available inside the backend and not on the frontend checkout of the store, we have added an extra configuration field ‘Can Use Checkout’ to the MultiSafepay gateway to enable or disable the gateway in the frontend checkout.

Keep cart alive

This configuration field has been removed, because the cart will always be kept alive when a customer uses the back button on the payment page.

Want one of these feature back? Please send us an e-mail at [email protected] and we will look into the possibility of bringing the desired feature(s) back.

3. Changes in order status flow

The order status flow has been changed a bit. In the new plugin from version 2.5.0, all new orders will start with the state ‘Pending’. When redirecting the customer, the order will get the ‘Pending Payment’ state, until the customer has reached the ‘Thank you’ page. If the payment has been succesfully received by then, the status will then be changed to ‘Processing’. Around the same time the offline action will be triggered and the invoice will get created. If the state has not been set to ‘Processing’ yet by then, the offline action will set the state ‘Processing’ instead. For ‘Bank Transfer’ payments, the state will not be changed to ‘Pending Payment’ so the order will not get automatically canceled after a set period of time, to give the customer more time to pay.

4. Changes in the checkout

For the following payment methods, the payment flow has been changed from Redirect to Direct. This applies to the following payment methods: Afterpay, Request to Pay, Direct Debit, Einvoicing, in3 and Pay After Delivery (Betaal na Ontvangst).

For these payment methods, we have included extra fields in the checkout. This means that if you are using a customised checkout, you now not only have to account for the iDEAL issuers checkout field, but also other checkout fields for the other payment methods mentioned above.

An example of differences in the Luma checkout between Afterpay in the deprecated and the new plugin

Afterpay in the deprecated plugin:

Afterpay payment page in the deprecated plugin:

Afterpay in the new plugin:

Which Magento 2 Checkouts are supported?

Currently we test our plugin at two Magento 2 checkouts:

Most Magento checkout plugins are compatible with our plugin. However, we can not guarantee the proper functioning of all features within the checkout plugin.


You're missing something out and would like us to fix it? Suggest an improvement to this page!


Other languages

Liever uitleg in het Nederlands? Neem contact op met uw accountmanager.

Vuoi ricevere informazioni in italiano? Contatta il tuo account manager.

Falls Sie eine deutschsprachige Erklärung bevorzugen, kontaktieren Sie bitte Ihren Kundenbetreuer.

Prefieres tener la explicación en Español? Contacta con tu gerente de cuentas.

Vous préférez une explication en français? Contactez votre gestionnaire de compte.