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.
Some of the new features include:
Some features are not available anymore, because they are not supported anymore or have been replaced:
The new MultiSafepay Magento 2 plugin consists of several Magento modules:
For GraphQL support there is a separate module:
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_`
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
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.
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.
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.
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
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
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
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.
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
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]
The deprecated plugin could be installed through various ways, depending on the way you installed it, it can be deleted as follows:
You can either choose to only remove the code base or a full uninstallation including database entries and configuration removal.
composer remove multisafepay/magento2msp php bin/magento setup:upgrade
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.
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
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:
System ⇒ Web Setup Wizard ⇒ Extension Manager ⇒ Update / Uninstall
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
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
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
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]
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.
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.
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:
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
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.
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.
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.
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.
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.
Afterpay in the deprecated plugin:
Afterpay payment page in the deprecated plugin:
Afterpay in the new plugin: