Back

VibeFox Moneris for PrestaShop — Help

Requirements

PrestaShop: 8.0 to 9.x.

PHP: 8.0 or later with the SimpleXML extension. The module refuses to install on older PHP versions or without SimpleXML.

Shop currency: CAD for a Canadian Moneris account, USD for a legacy Moneris USA account. The payment method is shown only when the cart currency is the account currency.

HTTPS and PCI DSS: card numbers are entered on your checkout page and pass through your server. Live payments require HTTPS and PCI DSS SAQ D compliance. If you cannot meet that, use a hosted payment page solution instead.

Moneris account: you need the Store ID and API Token of your Moneris Gateway store from the Moneris Merchant Resource Center > Admin > Store Settings. For testing, the public Moneris test store is filled in by default. Test credentials and test cards are on the Moneris developer portal.

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 Moneris 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. Choose the account country and enter the Live Store ID and Live API Token. Test mode is on by default and uses the public test store (store5 / yesguy for Canada, monusqa002 / qatoken for the US).

5. Choose Purchase or Pre-Authorization and the card logos, then turn on Enable / Disable and click Save.

6. Place a test order with a Moneris test card, then turn off Test mode.

On install the module creates two order statuses, Moneris payment authorized and Moneris 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 Moneris Gateway > Configure. Each section has its own Save button, which saves the whole page. Above the fields the page shows Moneris gateway is in TEST MODE. No real charges will be made. while test mode is on. In live mode it warns you when the live fields contain Moneris test credentials (the payment method is then hidden at checkout) and when SSL is not enabled for the shop. It also warns you when the default shop currency is not the currency of the Moneris account; the payment method is then hidden at checkout for other currencies.

Moneris

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

Title: the payment method title shown to the customer. It is also the payment method name stored in the order. Default: Credit card (Moneris). In test mode, (Test Mode) is added to the title. Required.

Description: the text shown above the card fields at checkout. Default: Pay securely with your credit card.

Moneris account

Your Store ID and API Token are in the Moneris Merchant Resource Center under Admin > Store Settings. Test credentials and test cards are on the Moneris developer portal. The section links to both.

Moneris account country: Canadian accounts charge in CAD, US accounts in USD. The payment method is shown only when the cart currency matches. Default: Canada (CAD).

Canada (CAD): a Moneris Canada account.
United States (USD, legacy Moneris USA accounts): a Moneris USA account.

Test mode: uses the Moneris QA gateway and the test credentials; no real charges are made. Captures, voids and refunds are always sent to the environment the payment was made in. Customers see TEST MODE: use a Moneris test card, no real charges are made. above the card fields. Default: on.

Live Store ID: the production Store ID, for example monca01234.

Live API Token: the production API Token.

Test Store ID: the public Moneris test store: store5 (Canada) or monusqa002 (US). Default: store5.

Test API Token: the public test token: yesguy (Canada) or qatoken (US). Default: yesguy.

Saved API tokens 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 tokens: tick a token and click Save to remove it. An empty field keeps the saved value.

Payment

Transaction type: how the card is charged. Default: Purchase.

Purchase (charge immediately): the card is charged when the order is placed. The order gets the status Payment accepted.
Pre-Authorization (capture later): the funds are only reserved and the order gets the status Moneris payment authorized. Capture them with Capture payment in the Moneris block of the order, or by setting the order to a paid status (Payment accepted, Shipped, Delivered). Cancelling the order releases them.

Card logos: the card brands shown with the payment method at checkout: Visa, Mastercard, Discover, American Express, JCB. Accepted brands depend on your Moneris account. Default: Visa and Mastercard.

Advanced

Debug log: logs API requests and responses to logs/wc_mng_debug.log.php in the module folder. The file cannot be opened from the web. Card number, CVV, expiry and API token are masked. Errors are always logged, also while it is off. 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 gateway settings and the log. The Moneris data of orders (needed for refunds) and the order statuses always stay. Default: off.

Checkout

At the payment step the customer chooses the payment method (by default Credit card (Moneris)) and enters Card number, Expiry (MM/YY) and Card code (CVC) in the card form under the option. All three fields are required. When the order is placed, your server sends the card to Moneris for the cart total and gets the result at once. There is no redirect and no webhook. The card data is used for this one request only; it is never stored, and the log shows only the last four digits.

The order is created only from an approved Moneris answer. The customer then sees the standard order confirmation page. With Pre-Authorization the order waits in Moneris payment authorized until you capture the funds. If Moneris processed a different amount than the cart total, or the cart changed during the payment, the order is created in Moneris payment on hold with a note.

If the card is declined, the customer stays at checkout with Your card was declined and the reason from Moneris, and can check the card details or use another card. No order is created. If Moneris could not process the request (for example a wrong Store ID or API Token), the customer sees The payment could not be processed. Please try again or use another payment method. The reason is written to the log. Wrong card fields give short messages such as Invalid card number. or Invalid card expiry date., and nothing is sent to Moneris.

A second click or a second browser tab while a payment is being processed shows A payment for this order is already being processed. Please wait a moment and check your order status before trying again. A cart that already has an order is never charged again; the customer is sent to the existing order.

If Moneris does not answer (network error or timeout), the module sends a Status Check to Moneris with the same Moneris order ID to find out whether the transaction went through. If Moneris has no such transaction, the customer can pay again. If the Status Check gets no answer either, the order is created in Moneris payment on hold with the Moneris order ID, and the customer is not invited to pay a second time.

The module has no saved cards or Moneris Vault, no subscriptions, no Apple Pay, Google Pay or Interac Online, no Moneris Checkout or Hosted Tokenization, no 3-D Secure, AVS or Kount and no multi-currency pricing.

Orders and refunds

Order statuses

No order yet: the card was declined or not processed. Only the cart and the attempt in the log exist. The customer can pay again.

Payment accepted: the purchase was approved. The payment is recorded with the Moneris transaction number as the transaction ID.

Moneris payment authorized: a pre-authorization was approved and waits for capture. No payment is recorded yet.

Moneris payment on hold: the processed amount differed from the cart total, the cart changed during the payment, Moneris did not confirm the result, or PrestaShop wrote a paid status although the capture had failed. The notes explain it. For a purchase with a different amount, the payment is recorded with the amount Moneris processed.

Canceled: for a pre-authorized order, cancelling releases the reserved funds (void).

Refunded: the payment was fully refunded through the module.

Moneris payment block

The order page shows a Moneris payment block with the Moneris order ID, account country and mode, a Test mode badge for test payments, the Trans ID (and the pre-authorization Trans ID after a capture), the transaction type and its state (not captured, captured or released), the receipt and card type, the processed amount, the order total and the amount refunded, the refund history and the Moneris notes of the order. For an unconfirmed payment the block asks you to look up the Moneris order ID in the Merchant Resource Center. All actions in the block need only the right to edit orders.

Capture and void

To capture a pre-authorization, click Capture payment in the block and confirm, or change the order status to a paid status such as Payment accepted, Shipped or Delivered. The order total, minus refunds, is captured; it cannot be higher than the authorized amount. After a capture with the button the order becomes Payment accepted; the payment is recorded with the capture Trans ID. If Moneris refuses the capture, the status is not changed, no paid-status e-mail is sent and a note explains it: Status not changed: the Moneris pre-authorization could not be captured with the reason. Moneris pre-authorizations expire after a few days, so capture them in time.

To release the funds, click Void pre-authorization (cancel order) or set the order to Canceled. Setting the order to Refunded also releases an open pre-authorization. If the release fails, a note asks you to release it in the Merchant Resource Center.

Refunds

In the Moneris payment block enter the amount (the amount not refunded yet is filled in), optionally a reason, and click Refund via Moneris. Confirm the question Refund this amount through Moneris? This cannot be undone. Full and partial refunds are supported. Refunds are limited to the amount Moneris actually charged, so after an amount mismatch you can refund up to what the customer paid, not the order total. A pre-authorization can be refunded only after it was captured; before that, cancel the order to release the funds. The refund is sent to the environment and account the payment was made in, so that mode's credentials must still be filled in. If Moneris does not accept the refund, the block shows Refund failed with the reason and no refund is recorded. A successful refund is added to the refund history and the notes with the Moneris Trans ID. A full refund sets the order to Refunded; a partial refund does not change the status.

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

License key

The module works with a VibeFox license key from vibefox.net. The license block License — VibeFox Moneris Gateway is the first block on Modules > Module Manager > VibeFox Moneris 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-moneris 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, Moneris 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: captures, voids and refunds of earlier payments 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

Moneris does not appear at checkout: check that the license is active, Enable / Disable is on and the current mode has a Store ID and API Token. In live mode the live fields must contain your production credentials, not Moneris test credentials. Check that the cart currency is the account currency: CAD for Canada, USD for a US account. In Payment > Preferences check that the module is allowed for that currency, the customer's country and the customer's group.

The payment went through, but the order is Moneris payment on hold: the module has no webhook; the result comes only from the Moneris answer. Read the Moneris notes in the block. If Moneris did not confirm the result, Moneris did not answer and the Status Check failed too. Look up the Moneris order ID in the Merchant Resource Center: if the transaction is there, ship the order (and refund it there if needed); if not, cancel the order or ask the customer to pay again. If the amount differed, check the order and fulfil it or refund the payment.

The customer sees Payment gateway is misconfigured. Please contact the store administrator.: the credentials of the current mode are missing, or live mode is on with Moneris test credentials in the live fields. Enter your production Store ID and API Token.

The customer sees This payment method does not support the order currency.: the cart currency is not the Moneris account currency.

The customer sees an error when paying: look at the Log field on the module page. Errors are always written; turn on Debug log to see the full requests and responses.

Capture fails: the order has no pre-authorization waiting for capture, the order total is zero, or the amount is higher than the authorized amount. Moneris pre-authorizations also expire after a few days.

Refund, capture or void fails with a message about the mode or account: the payment was made in test or live mode, and the credentials of that mode are not set, or the payment was made with a Moneris account of the other country. Enter the credentials, or process the payment in the Merchant Resource Center.

Card-testing attacks: direct card forms are a target for card testing. Use the eFraud or velocity rules in your Moneris account and a CAPTCHA or rate-limiting module for your shop.

Uninstall

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

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