VibeFox EveryPay for PrestaShop — Help
Requirements
PrestaShop: 8.0 to 9.x.
PHP: 8.0 or later. The module refuses to install on older PHP versions.
EveryPay account: you need the API username, the API secret and the processing account name of your e-shop. They are in the EveryPay Merchant Portal, in the settings of your e-shop: the demo portal for test mode, the live portal for live payments. Test and live environments have separate credentials. You also set the callback URL of your shop in both portals (see Configuration).
Shop currency: the processing account defines the charged currency, for example EUR3D1 charges EUR. The payment method is offered only for carts in that currency.
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 EveryPay Payment 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. Enter the test API username, test API secret and processing account name from the demo Merchant Portal. Keep Test Mode on.
5. Copy the callback URL shown on the settings page into the Callback notification URL of your e-shop in the Merchant Portal.
6. Turn on Enable/Disable, click Save and place a test order. When everything works, enter the live credentials, set the callback URL in the live portal too and turn off Test Mode.
On install the module creates the order status EveryPay 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 EveryPay Payment > Configure. Each section has its own Save button, which saves the whole page. Above the fields the page shows Test mode is on: payments go to the EveryPay demo environment, no real money is charged. while test mode is on. It warns you when the payment method is enabled but the API username, API secret or processing account of the current mode is missing (the payment method is then hidden at checkout), and when the processing account charges another currency than the default currency of the shop. Spaces and line breaks pasted with the credentials are removed when you save.
EveryPay
Enable/Disable: Enable EveryPay payment gateway turns the payment method on or off. Default: off.
Title: the payment method name customers see at checkout. It is also the payment method name stored in the order. Default: EveryPay.
Description: the text shown under the payment method at checkout. Default: Pay securely by card or bank link on the EveryPay payment page.
EveryPay account
The API username, API secret and processing account name are shown in the EveryPay Merchant Portal (e-shop settings): the demo portal for test mode, the live portal for live payments. The section links to both portals.
Test Mode: when on, payments go to the EveryPay demo environment with the test credentials. No real money is charged. Default: on. While it is on, customers see TEST MODE: EveryPay demo environment, no real money is charged. under the payment method.
Test API Username: the API username of the demo environment.
Test API Secret: the API secret of the demo environment.
Live API Username: the API username of the live environment.
Live API Secret: the API secret of the live environment.
Saved secrets 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 API secrets: tick a secret and click Save to remove it. An empty field keeps the saved value.
Processing Account Name: the EveryPay processing account, for example EUR3D1. The account defines the charged currency: the payment method is offered only for carts in that currency. The same account name is used in both modes.
Payment notifications (callback)
The callback tells your shop that a payment has been finalised, so orders are created even if the customer closes the browser. Copy the URL shown in Callback notification URL into the Callback notification URL of your e-shop in the EveryPay Merchant Portal, both demo and live. With friendly URLs it looks like https://your-shop/module/wcp_everypay_payment/callback. Copy the URL exactly as the settings show it. The payment request does not carry a callback URL, so it must be set in the portal.
The callback carries only payment references. When it arrives, the module asks the EveryPay API for the payment status with the credentials of the environment where the payment was created, and checks that the answer belongs to this cart. Callbacks for a payment your shop did not create are rejected without a request to EveryPay. Without the callback, the order is created when the customer comes back to the shop after paying, or when EveryPay retries the callback.
Advanced
Debug log: logs payment events to logs/wc_evp_debug.log.php in the module folder. The file cannot be opened from the web. Errors and warnings are always logged, even while it is off. API secrets, card data and customer e-mails are never logged. Default: off.
Log: shows the size and the latest entries of the log. Click Clear log to empty it.
Uninstall: delete the gateway settings and logs when the module is uninstalled. EveryPay payment data of orders is always kept. Default: off.
Checkout
At the payment step the customer chooses the payment method (by default EveryPay) and confirms. The module creates a one-off EveryPay payment for the cart total in the cart currency with the customer's e-mail and billing address, and sends the customer to the EveryPay payment page. The page language follows the shop language (English, Estonian, Russian, Latvian, Lithuanian, Finnish or German; otherwise English). There the customer pays with one of the methods enabled for your EveryPay account. No order exists yet at this point.
After paying, the customer returns to your shop. The order is marked paid only after EveryPay confirms it: the module asks the EveryPay API for the status of the payment on the return and on the callback. The order is then created and the customer sees the standard order confirmation page. If EveryPay is still processing the payment, or its API cannot be reached at that moment, a Payment confirmation page shows Your payment is being confirmed by EveryPay. You will receive an e-mail as soon as the order is confirmed. and a Check again button; the callback creates the order as soon as EveryPay confirms the payment.
If the payment failed, the customer is back at checkout with Your EveryPay payment was not successful. Please try again or choose another payment method. If the customer left the payment page without paying, the message is The EveryPay payment was not completed. You can try again or choose another payment method. The cart is kept. Each new attempt creates a new EveryPay payment; older attempts are remembered, so a payment made with an older link is still recognised.
If EveryPay cannot start the payment, the customer stays at checkout with a short message, for example EveryPay is temporarily unavailable. Please try again in a moment or choose another payment method. The details are in the log.
The callback works while the shop is in maintenance mode and is not blocked by the country restriction of your shop.
The module takes one-time payments only. It has no refunds or capture from PrestaShop, no saved cards or one-click payments, no subscriptions or recurring payments, no embedded card fields and no multi-currency.
Orders
Order statuses
No order yet: the customer was sent to EveryPay and has not paid, the payment failed or was abandoned, or EveryPay has not confirmed the payment yet. Only the cart exists.
Payment accepted: EveryPay reported the payment as settled or authorised. The payment is recorded with the EveryPay payment reference as the transaction ID, and a note shows the amount, the currency and the reference. For an authorised payment the note says the funds are reserved: if your account does not capture automatically, capture the payment in the EveryPay Merchant Portal. When it is settled later, one note says so.
EveryPay payment on hold: the payment needs manual review. The paid amount or currency differs from the cart (for example, the cart was changed after the payment started), the order had been cancelled before the payment arrived, or the order uses another payment method now. The note explains it and says the order was not marked as paid. Check the payment in the Merchant Portal and fulfil or refund it manually. Later callbacks for this payment do not complete the order automatically.
If a second payment is completed for an order that is already paid, the order is not changed. A note asks you to refund the duplicate payment in the EveryPay Merchant Portal.
EveryPay payment block
The order page shows an EveryPay payment block with every EveryPay payment attempt of the order: date, payment reference (with a Test mode badge for test payments), order reference, amount, EveryPay state and result. Below it are the EveryPay notes of the order, newest first.
Check EveryPay payment status: the button in the block checks every EveryPay payment of the order with the API, newest first, applies the result as above and adds one note with the state of each payment. The result is shown in the block. You need the right to edit orders; access to the Modules pages is not needed. Use it when a callback never arrived, for example to see a later capture or refund.
Refunds
Refunds from PrestaShop are not supported. Refund in the EveryPay Merchant Portal, then update the order status in PrestaShop. When EveryPay reports a payment as refunded or charged back, the module only adds a note to the order; the order status is not changed. The standard PrestaShop refund buttons of the order page do not send money back through EveryPay.
License key
The module works with a VibeFox license key from vibefox.net. The license block License — VibeFox EveryPay Payment is the first block on Modules > Module Manager > VibeFox EveryPay Payment > 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-everypay 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, EveryPay 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 the status check works.
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
EveryPay does not appear at checkout: check that the license is active, Enable/Disable is on, the API username, API secret and Processing Account Name of the current mode are set, and the cart currency is the currency of the processing account. The settings page shows a warning in these cases. 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 callback is not working. Check that the callback URL from the settings is set as Callback notification URL in the Merchant Portal of the mode you use (demo or live). The order is also created when the customer returns to the shop after paying. Look at the Log field on the module page: errors are always logged.
Callback answers Unknown payment, Unknown payment reference or Payment does not belong to this order: the payment was not created by this shop or this cart, or the EveryPay answer does not match it. Nothing is changed.
Callback answers Not configured: the credentials of the environment where the payment was created are missing, for example a test payment after the test credentials were removed. Enter them again; EveryPay retries the callback.
Callback answers Payment status unavailable, Busy, please retry or Order could not be created: the EveryPay API could not be reached, the order was being created by another request at the same moment, or the order could not be created (for example, the module is disabled). EveryPay retries the callback. The reason is in the log.
The customer sees EveryPay is temporarily unavailable: EveryPay refused the credentials or could not be reached. Check the API username and API secret of the current mode.
The customer sees This payment method does not support the order currency: the cart currency differs from the currency of the processing account.
The customer stays on the Payment confirmation page: EveryPay has not finalised the payment yet. The order is created by the callback or when the customer clicks Check again after EveryPay confirms the payment.
Order is EveryPay payment on hold: read the EveryPay notes in the order block. The amount or currency differed, or the order had been cancelled before the payment arrived. Check the payment in the Merchant Portal and fulfil or refund it manually.
For developers, the README of the module lists the hooks actionWcpEverypayOneoffRequest (change the payment request) and actionWcpEverypayLocale (change the payment page language).
Uninstall
Go to Modules > Module Manager, open the menu next to VibeFox EveryPay Payment and choose Uninstall. The license key and license status of this module are always removed. If Uninstall (delete the gateway settings and logs) is on in the settings, the gateway settings and the log are removed. If it is off, all settings are kept for a later re-install. The EveryPay payment data of orders and the order status EveryPay payment on hold are always kept. Existing orders keep their payment notes and transaction IDs.
EveryPay is a trademark of its respective owner. This module is not affiliated with or endorsed by EveryPay.
