Back

VibeFox MultiSafepay for PrestaShop — Help

Requirements

PrestaShop: 8.0 to 9.x.

PHP: 8.0 or later. The module refuses to install on older PHP versions.

Currency: the cart currency must be one MultiSafepay accepts, for example EUR, USD, GBP, PLN, CHF, SEK, DKK or NOK. For other currencies the payment method is hidden at checkout.

MultiSafepay account: you need the API key of your website in MultiSafepay Control. Test and live accounts have different keys. Nothing else has to be set up in MultiSafepay: the notification address is sent with every payment.

Public site: MultiSafepay must be able to reach your shop to send notifications. Otherwise orders are still created when the customer returns from MultiSafepay.

VibeFox license key: bought on vibefox.net. One key works on one domain.

Installation

1. In the back office go to Modules > Module Manager and click Upload a module. Choose the module ZIP file.

2. When the upload finishes, click Configure, or find VibeFox MultiSafepay Gateway in the module list later and click Configure.

3. Paste your VibeFox license key into License key in the license block at the top of the Configure page and click Activate (see License key).

4. Paste the test and/or live API key from MultiSafepay Control (see Configuration).

5. Turn on Enable/Disable and click Save. Test a payment with Test mode on, then turn it off to accept real payments.

On install the module creates the order status MultiSafepay payment on hold. PrestaShop offers a new payment module for all currencies, countries and customer groups. You can limit them in Payment > Preferences.

Configuration

All settings are on the module page: Modules > Module Manager > VibeFox MultiSafepay Gateway > Configure. Each section has its own Save button, which saves the whole page. Above the fields the page shows Test mode: new payments use the MultiSafepay test environment (no real payments). while test mode is on, warns you when the current mode has no API key (the payment method is then not shown at checkout) and when MultiSafepay does not accept the default currency of your shop. The page refuses to save without a Title.

Checkout

Enable/Disable: Enable MultiSafepay turns the payment method on or off. Default: off.

Title: the payment method name the customer sees at checkout. It is also the payment method name stored in the order. Default: MultiSafepay. Required.

Description: the text shown under the payment method at checkout. Default: Pay securely with iDEAL, cards, Bancontact, PayPal and more via MultiSafepay.

API keys

Find the API key in MultiSafepay Control > Manage settings > Website settings. The section links to the test account (testmerchant.multisafepay.com) and the live account (merchant.multisafepay.com). They have different keys. Test mode uses only the test key, live mode only the live key.

Test mode: Use the MultiSafepay test environment (no real payments). It switches both the API address and the API key. Payments already made keep using the environment they were made in for status checks and refunds. Default: on. While it is on, customers see Test mode: no real payment will be made. under the payment method.

Test API key: the API key of your MultiSafepay test account.

Live API key: the API key of your MultiSafepay live account.

Saved keys are never shown again. The field stays empty and shows Saved — leave empty to keep it. Type a new value only to change it.

Clear saved keys: tick a key and click Save to remove it. An empty field keeps the saved value.

Notifications

Nothing to configure. The Notification URL field shows the address that is sent to MultiSafepay with every payment. With friendly URLs it looks like https://your-shop/module/wcp_multisafepay_gateway/webhook, possibly with a language code such as /en/. A notification only tells the module which payment changed: the status, amount and currency are always read from the MultiSafepay API with your API key before an order is created or changed. Notifications for payments that were not started in your shop are ignored. The notification works while the shop is in maintenance mode and is not blocked by the country restriction of your shop.

Orders

Order status after payment: the status of a paid order. The status is set at once, with one status change and one customer e-mail.

Processing: the order becomes Payment accepted (default).
Completed: every paid order becomes Delivered.

Advanced

Debug log: Log API calls and notifications to logs/mspg_debug.log.php in the module folder. The file cannot be opened from the web. Errors and warnings are always logged. API keys and customer data are never logged. Default: off.

Log: shows the size and the latest entries of the log. Click Clear log to empty it.

Delete data on uninstall: when on, uninstalling the module removes the settings and the log. The MultiSafepay payment data of orders and the order status always stay, so refunds of old orders stay possible. Disabling the module never deletes anything. Default: off.

Checkout

At the payment step the customer chooses the payment method (by default MultiSafepay, with the MultiSafepay logo) and confirms. The module creates a MultiSafepay payment for the cart total in the cart currency and sends the customer to the MultiSafepay payment page. There the customer chooses any payment method enabled in your MultiSafepay account and pays. The invoice address, e-mail, phone and language of the customer are passed to MultiSafepay, and the payment shows as Order #, the cart number and your shop name. No order exists yet at this point.

After paying, the customer returns to your shop. The order is marked paid only after MultiSafepay confirms it: by the notification or by a check with the MultiSafepay API when the customer comes back. The order is then created and the customer sees the standard order confirmation page with Your payment with MultiSafepay has been received. For an order on hold the page shows We are confirming your payment with MultiSafepay. The order will be updated automatically — please do not pay again. If the payment later fails, the page shows Your MultiSafepay payment was not completed. Please contact us about this order. If MultiSafepay has not confirmed the payment yet when the customer comes back (for example a bank transfer is awaited), a Payment confirmation page shows the same "we are confirming" text and a Check again button; the notification creates the order as soon as MultiSafepay reports the payment.

If the customer cancels on the MultiSafepay page, or the payment is declined or expires, the customer is back at checkout with the cart kept and one of these messages: The MultiSafepay payment was cancelled. You can try again or choose another payment method., The payment was declined. Please try again or choose another payment method. or The payment session has expired. Please try again.

Before creating a new payment for the same cart, the module checks the previous one at MultiSafepay. If it is already paid or being processed, the order is created instead of a new payment. If it is still open with the same amount, the same payment page is reused. If the amount changed, the old payment is cancelled at MultiSafepay so it can no longer be paid.

If MultiSafepay cannot start the payment, the customer stays at checkout with a short message, for example Could not connect to MultiSafepay. Please try again in a moment. or MultiSafepay cannot accept this order amount or currency. Please choose another payment method. The technical reason is written to the log.

The module offers one payment method that leads to the MultiSafepay page. It has no separate PrestaShop payment methods per MultiSafepay payment method, no embedded card fields, no Apple Pay or Google Pay express buttons, no subscriptions, recurring payments or saved cards, and no capture or void from PrestaShop. No shopping cart data is sent, so pay-later methods that require it (for example Klarna, in3 or Riverty) are not offered by MultiSafepay for these orders.

Orders and refunds

Order statuses

No order yet: the customer was sent to MultiSafepay and has not paid, or MultiSafepay has not confirmed the payment yet. Only the cart exists.

Payment accepted or Delivered: MultiSafepay confirmed the payment (completed or shipped). The status follows Order status after payment. The payment is recorded with the MultiSafepay order ID as the transaction ID, and a note shows the payment, the payment method and the environment.

MultiSafepay payment on hold before payment: the payment is uncleared (being reviewed by MultiSafepay) or reserved (authorised). Capture a reserved payment in MultiSafepay Control to receive the money. The order moves to the paid status automatically when MultiSafepay reports it as completed.

MultiSafepay payment on hold after payment: MultiSafepay confirmed a different amount or currency than the cart total (for example, the cart was changed after the payment started), a test payment was completed while the module is in live mode (no real money was received, no payment is recorded), or the payment was completed after the order had been cancelled. The note explains it. Check the transaction in MultiSafepay Control and fulfil or refund the order.

MultiSafepay payment on hold after a chargeback: MultiSafepay reported a chargeback for a paid order: the money was taken back from your account.

Payment error: an uncleared or reserved payment was later declined, cancelled, expired or voided.

Refunded: the payment was fully refunded through the module.

A paid or refunded order is never reopened by a late notification. If a second payment is completed for a cart that is already paid, the order is not changed. A note asks you to refund the duplicate in MultiSafepay Control.

MultiSafepay payment block

The order page shows a MultiSafepay payment block with the MultiSafepay order ID, the payment method, the status, the amount paid and refunded, a Test mode badge for test payments, the refund history and the MultiSafepay notes of the order.

Refunds

In the MultiSafepay payment block enter the amount (the amount not refunded yet is filled in), optionally a reason, and click Refund via MultiSafepay. Confirm the question Refund this amount through MultiSafepay? This cannot be undone. Full and partial refunds are supported. You need the right to edit orders; access to the Modules pages is not needed. Refunds are made in the amount and currency MultiSafepay charged, so after an amount mismatch you can refund up to what the customer actually paid, not the order total. The refund is sent to the environment the payment was made in (test or live), so that environment's API key must be set. If MultiSafepay does not accept the refund, the block shows MultiSafepay refund failed: with the MultiSafepay error, and no refund is recorded. A successful refund is added to the refund history and the notes with the MultiSafepay refund ID. A full refund sets the order to Refunded. A partial refund does not change the status. Refunds are available once MultiSafepay has reported the payment.

The module does not create credit slips. The standard PrestaShop refund buttons of the order page do not send money back through MultiSafepay.

Refunds made in MultiSafepay Control are added to the notes when MultiSafepay reports them. The order status and credit slips are not changed automatically. Update them manually if needed.

License key

The module works with a VibeFox license key from vibefox.net. The license block License — VibeFox MultiSafepay Gateway is the first block on Modules > Module Manager > VibeFox MultiSafepay Gateway > Configure, above the settings. Paste the key into License key and click Activate. After that the block shows the key masked, the status (for example the date the license is active until and your domain) and the buttons Check now to check the status again, Change key to enter another key and Remove key to remove the key from this shop. Below them are the line Product: presta-payment-multisafepay and the link Manage licenses and domains in your account, which opens your vibefox.net account. Only employees with the Configure permission for the module can change the key. The texts of the block follow the back office language (English and Russian are included).

If the key is not accepted, the block says why, for example Key not found, This key belongs to another product, Domain limit reached or License expired on a date. After the shop address changes, or after you free a domain slot in your account, click Check now. If the license server cannot be reached, the module keeps working on the last known status.

One key works on one domain: the domain of the main shop, also in a multistore setup. Removing the key from the shop does not free its domain slot. Free the slot in your vibefox.net account.

Without an active key, MultiSafepay is not shown to customers at checkout. If a payment is started anyway, the customer sees This payment method is not available. Please choose another one. The PrestaShop storefront does not know that you are logged in to the back office, so the payment method is hidden for you too: you can set up the module before you buy a key, but not test it at checkout. A reminder appears in Modules > Module Manager on the Alerts tab. Existing orders are not affected: payments already started are still confirmed, and refunds work.

When a license expires, the module keeps working, but updates and support need a renewal. The status is checked again automatically while you work in the back office: once a day for the first 14 days after the key is entered, then once a week. No cron job is needed. Uninstalling or resetting the module always removes the license key and license status.

Troubleshooting

MultiSafepay does not appear at checkout: check that the license is active, Enable/Disable is on, the current mode has an API key (Test API key in test mode, Live API key in live mode) and the cart currency is accepted by MultiSafepay. The settings page shows a warning when the key is missing or the shop currency is not accepted. In Payment > Preferences check that the module is allowed for the cart currency, the customer's country and the customer's group.

The payment went through, but no order was created: the notification did not reach your shop. Check that the shop is reachable from the internet and that the API key of the payment's environment is set, because the module reads the status from the MultiSafepay API. If the API cannot be reached or the key is missing, the notification answers ERROR and MultiSafepay retries it. The order is also created when the customer returns to the shop and when the customer tries to pay the same cart again.

Notification answers Invalid request: the request had no valid transaction ID. Notifications from MultiSafepay always have one.

The customer sees an error when choosing MultiSafepay: turn on Debug log and look at the Log field on the module page. This payment method is temporarily unavailable. Please choose another payment method. usually means a wrong or missing API key. MultiSafepay cannot accept this order amount or currency. Please choose another payment method. means MultiSafepay refused the amount or currency.

Order is MultiSafepay payment on hold: read the notes in the MultiSafepay payment block. The payment may be uncleared or reserved, the paid amount or currency differed from the cart, a test payment arrived in live mode, the payment came after the order was cancelled, or there was a chargeback. Check the transaction in MultiSafepay Control.

Test payments do not confirm a live order: a test payment never pays an order while the module is in live mode; the order is put on hold instead. Earlier test payments are still checked and refunded with the test key after you switch to live.

Refund fails with a message about the environment: the payment was made in the test or live environment, and the API key of that environment is not set. Enter it and try again.

Uninstall

Go to Modules > Module Manager, open the menu next to VibeFox MultiSafepay Gateway and choose Uninstall. The license key and license status of this module are always removed. If Delete data on uninstall is on, the settings and the log are removed. If it is off, all settings are kept for a later re-install. The MultiSafepay payment data of orders and the order status MultiSafepay payment on hold are always kept, so orders paid before can still be refunded after a re-install. Existing orders keep their payment notes and transaction IDs.

MultiSafepay is a trademark of its respective owner. This module is not affiliated with or endorsed by MultiSafepay.