VibeFox MultiSafepay for WooCommerce — Help
Requirements
WordPress: 6.0 or later.
WooCommerce: 7.0 or later, installed and active. The plugin refuses to activate without it.
PHP: 8.0 or later.
Currency: the store or order 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 site to send notifications. Otherwise orders are still updated when the customer returns from MultiSafepay.
VibeFox license key: bought on vibefox.net. One key works on one domain.
Installation
1. In WordPress go to Plugins > Add New > Upload Plugin, choose the plugin ZIP file and click Install Now. You can also upload the wcp_multisafepay_gateway folder to /wp-content/plugins/ by FTP.
2. Click Activate.
3. Open the settings: WooCommerce > Settings > Payments > MultiSafepay > Manage, or click Settings under the plugin name on the Plugins page.
4. Enter your VibeFox license key in the license block at the top of the page and click Activate.
5. Paste the test and/or live API key from MultiSafepay Control (see Configuration).
6. Turn on Enable/Disable and save. Test a payment with Test mode on, then untick it to accept real payments.
Configuration
All settings are on one page: WooCommerce > Settings > Payments > MultiSafepay. The page title shows a Test mode badge while test mode is on. Above the fields the page warns you when the current mode has no API key (the payment method is then not shown at checkout) or when MultiSafepay does not accept the store currency. In the list of payment methods, MultiSafepay is marked as needing setup until the current mode has an API key.
Checkout
Enable/Disable: Enable MultiSafepay turns the payment method on or off. Default: off.
Title: the payment method name the customer sees at checkout. Default: MultiSafepay.
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 test account (testmerchant.multisafepay.com) and the live account (merchant.multisafepay.com) 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.
Test API key: the API key of your MultiSafepay test account.
Live API key: the API key of your MultiSafepay live account.
Notifications
Nothing to configure. This section shows the notification URL, which is sent to MultiSafepay with every payment. It looks like https://your-site/?wc-api=mspg_webhook. MultiSafepay must be able to reach your site. A notification only tells the plugin which payment changed: the status, amount and currency are always read from the MultiSafepay API with your API key before an order is changed. Notifications for payments that do not belong to an order of your store are ignored.
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.
Advanced
Debug log: Log API calls and notifications writes details to WooCommerce > Status > Logs, source wcp_multisafepay_gateway. Errors are always logged. API keys and customer data are not logged. Default: off.
Delete data on uninstall: Remove settings, logs and MultiSafepay order data when the plugin is deleted. Deactivating the plugin never deletes anything. Default: off.
Checkout
The customer chooses the payment method (by default MultiSafepay) and places the order. The plugin creates a MultiSafepay payment for the order total in the order 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 customer's billing details and the store language are passed to MultiSafepay, and the payment shows as Order #, the order number and your site name. In test mode the checkout shows Test mode: no real payment will be made.
Stock is held while the customer pays, and the cart is kept until the order received page. After paying, the customer returns to the order received page of your store. The order is marked paid only after MultiSafepay confirms it: by the notification or by a check with the MultiSafepay API when the customer lands on that page.
If the customer cancels on the MultiSafepay page during checkout, the order is cancelled the standard WooCommerce way, the stock is released and the products stay in the cart. If the customer was paying from the Pay for order page, they return to that page, and it explains what happened: 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.
A customer can pay an unpaid order again. Before creating a new payment, the plugin checks the previous one at MultiSafepay. If it is already paid, the order is confirmed. 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 sees 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., and can choose another payment method. The MultiSafepay error is added to the order notes.
The payment method works on the classic checkout, on the Checkout block and on the Pay for order page. It is compatible with WooCommerce High-Performance Order Storage (HPOS).
The plugin offers one payment method that leads to the MultiSafepay page. It has no separate WooCommerce 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 WooCommerce. 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
Pending payment: the customer was sent to MultiSafepay and has not paid yet.
Processing or Completed: MultiSafepay confirmed the payment (completed or shipped). The status follows Order status after payment. The order note shows the MultiSafepay payment ID, the payment method and the environment. The transaction ID is the MultiSafepay order ID of the 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 is completed automatically when MultiSafepay reports it as paid.
On hold after payment: MultiSafepay confirmed a different amount or currency than the order total, a test payment was completed while the store is in live mode (no real money was received), or the payment was completed after the order had been cancelled. The order note explains it. Check the transaction in MultiSafepay Control and process or refund the order manually.
On hold after a chargeback: MultiSafepay reported a chargeback for a paid order: the money was taken back from your account.
Failed: the latest payment of an unpaid order was declined, cancelled, expired or voided. The held stock is released. The customer can try again.
A paid, refunded or cancelled order is never reopened by a late notification. If a second payment is completed for an order that is already paid, the order is not changed again. A note asks you to refund the duplicate in MultiSafepay Control.
Refunds
Open the order, click Refund, enter the amount and click Refund via MultiSafepay. Full and partial refunds are supported for orders paid through MultiSafepay. 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, WooCommerce shows the MultiSafepay error and no refund is recorded. A successful request is added to the order notes with the MultiSafepay refund ID.
Refunds made in MultiSafepay Control are added to the order notes when MultiSafepay reports them. They are not recorded as WooCommerce refunds automatically. If needed, create a manual refund in WooCommerce without Refund via MultiSafepay.
License key
The plugin works with a VibeFox license key from vibefox.net. The license block is at the top of WooCommerce > Settings > Payments > MultiSafepay. Paste the key into License key and click Activate. The block shows the status, for example the date the license is active until and your domain. Use Check now to check the status again, Change key to enter another key and Remove key to remove it from this site. The link Manage licenses and domains in your account opens your vibefox.net account.
One key works on one domain. Removing the key from a site 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. Logged-in store managers still see the payment method, marked (unlicensed — visible to admins only), so you can set up and test the plugin before you buy a key. A reminder appears on the Plugins page and on WooCommerce pages. Existing orders are not affected: payments already started are still confirmed, and refunds work.
When a license expires, the plugin keeps working, but updates and support need a renewal. The status is checked again automatically in the background.
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 store or order currency is accepted by MultiSafepay. The settings page shows a warning when the key is missing or the currency is not accepted.
The payment went through, but the order stays Pending payment: the notification did not reach your store. Check that the site is reachable from the internet and that the API key of the payment's environment is set, because the plugin reads the status from the MultiSafepay API. If the API cannot be reached, the notification answers ERROR and MultiSafepay retries it. The order is also updated when the customer returns to the order received page and when the customer tries to pay the same order again.
The customer sees an error when placing the order: open the order notes or turn on Debug log and look at WooCommerce > Status > Logs, source wcp_multisafepay_gateway. 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 On hold after payment: read the order note. The payment may be uncleared or reserved, the paid amount or currency differed from the order, 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 store 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.
The license block shows an error: follow the message in the block. For example, if the key is already used on another domain, free a slot in your vibefox.net account and click Check now. If the site address changed, click Check now to activate the key for the new domain. If the license server cannot be reached, the plugin keeps working on the last known status.
Uninstall
Deactivating the plugin keeps all data. To remove it, deactivate and delete it on the Plugins page. The license key and license status of this plugin are always removed. The gateway settings, the MultiSafepay data stored on orders and the logs are removed only if Delete data on uninstall was on. Otherwise they stay for a later re-install. Existing orders keep their payment notes and transaction IDs.
MultiSafepay is a trademark of its respective owner. This plugin is not affiliated with or endorsed by MultiSafepay.
