Назад

VibeFox Moneris for PrestaShop — Помощь

Требования

PrestaShop: 8.0–9.x.

PHP: 8.0 или новее с расширением SimpleXML. Модуль не устанавливается на более старых версиях PHP и без SimpleXML.

Валюта магазина: CAD для канадской учётной записи Moneris, USD для старой учётной записи Moneris USA. Способ оплаты показывается только тогда, когда валюта корзины совпадает с валютой учётной записи.

HTTPS и PCI DSS: номера карт вводятся на странице оформления заказа и проходят через ваш сервер. Для рабочих платежей нужны HTTPS и соответствие PCI DSS SAQ D. Если вы не можете его обеспечить, используйте готовое решение с размещённой платёжной страницей.

Учётная запись Moneris: нужны Store ID и API Token вашего магазина Moneris Gateway из раздела Moneris Merchant Resource Center > Admin > Store Settings. Для тестов публичный тестовый магазин Moneris уже заполнен по умолчанию. Тестовые учётные данные и тестовые карты находятся на портале разработчиков Moneris.

Лицензионный ключ VibeFox: покупается на vibefox.net. Один ключ работает на одном домене.

Установка

1. В бэк-офисе откройте Modules > Module Manager и нажмите Upload a module. Выберите ZIP-файл модуля.

2. Когда загрузка завершится, нажмите Configure или позже найдите VibeFox Moneris Gateway в списке модулей и нажмите Configure.

3. Вставьте лицензионный ключ VibeFox в поле License key в блоке лицензии вверху страницы Configure и нажмите Activate (см. Лицензионный ключ).

4. Выберите страну учётной записи и введите Live Store ID и Live API Token. Тестовый режим включён по умолчанию и использует публичный тестовый магазин (store5 / yesguy для Канады, monusqa002 / qatoken для США).

5. Выберите Purchase или Pre-Authorization и логотипы карт, затем включите Enable / Disable и нажмите Save.

6. Оформите тестовый заказ тестовой картой Moneris, затем выключите Test mode.

При установке модуль создаёт два статуса заказа: Moneris payment authorized и Moneris payment on hold. PrestaShop включает новый платёжный модуль для всех валют, стран и групп клиентов. Ограничить это можно в Payment > Preferences.

Настройка

Все настройки находятся на странице модуля: Modules > Module Manager > VibeFox Moneris Gateway > Configure. У каждого раздела своя кнопка Save, которая сохраняет всю страницу. Над полями страница показывает Moneris gateway is in TEST MODE. No real charges will be made., пока включён тестовый режим. В рабочем режиме она предупреждает, если в рабочих полях указаны тестовые учётные данные Moneris (тогда способ оплаты скрыт при оформлении заказа), и если SSL не включён для магазина. Она также предупреждает, если валюта магазина по умолчанию не совпадает с валютой учётной записи Moneris; тогда способ оплаты для других валют скрыт при оформлении заказа.

Moneris

Enable / Disable: Enable Moneris Gateway включает или выключает способ оплаты. По умолчанию: выключено.

Title: название способа оплаты, которое видит покупатель. Оно же сохраняется в заказе как название способа оплаты. По умолчанию: Credit card (Moneris). В тестовом режиме к названию добавляется (Test Mode). Обязательное поле.

Description: текст, который показывается над полями карты при оформлении заказа. По умолчанию: Pay securely with your credit card.

Учётная запись Moneris

Store ID и API Token находятся в Moneris Merchant Resource Center в разделе Admin > Store Settings. Тестовые учётные данные и тестовые карты находятся на портале разработчиков Moneris. В разделе есть ссылки на оба.

Страна учётной записи Moneris: канадские учётные записи списывают средства в CAD, американские — в USD. Способ оплаты показывается только при совпадении валюты корзины. По умолчанию: Canada (CAD).

Canada (CAD): учётная запись Moneris Canada.
United States (USD, legacy Moneris USA accounts): учётная запись Moneris USA.

Test mode: использует тестовый шлюз Moneris QA и тестовые учётные данные; реальные списания не производятся. Списания, отмены и возвраты всегда отправляются в среду, в которой прошёл платёж. Покупатели видят TEST MODE: use a Moneris test card, no real charges are made. над полями карты. По умолчанию: включено.

Live Store ID: рабочий Store ID, например monca01234.

Live API Token: рабочий API Token.

Test Store ID: публичный тестовый магазин Moneris: store5 (Канада) или monusqa002 (США). По умолчанию: store5.

Test API Token: публичный тестовый токен: yesguy (Канада) или qatoken (США). По умолчанию: yesguy.

Сохранённые API-токены больше никогда не показываются. Поле остаётся пустым и показывает Saved — leave empty to keep it. Вводите новое значение, только если хотите его изменить.

Clear saved tokens: отметьте токен и нажмите Save, чтобы удалить его. Пустое поле сохраняет сохранённое значение.

Оплата

Transaction type: способ списания средств с карты. По умолчанию: Purchase.

Purchase (charge immediately): карта списывается при оформлении заказа. Заказ получает статус Payment accepted.
Pre-Authorization (capture later): средства только резервируются, заказ получает статус Moneris payment authorized. Спишите их кнопкой Capture payment в блоке Moneris на странице заказа или переводом заказа в оплаченный статус (Оплата принята, Отправлен, Доставлен). Отмена заказа освобождает средства.

Card logos: логотипы карт, которые показываются вместе со способом оплаты при оформлении заказа: Visa, Mastercard, Discover, American Express, JCB. Принимаемые карты зависят от вашей учётной записи Moneris. По умолчанию: Visa и Mastercard.

Дополнительно

Debug log: записывает запросы и ответы API в logs/wc_mng_debug.log.php в папке модуля. Файл нельзя открыть из браузера. Номер карты, CVV, срок действия и API token маскируются. Ошибки записываются всегда, даже когда опция выключена. По умолчанию: выключено.

Log: показывает размер журнала и его последние записи. Нажмите Clear log, чтобы очистить его.

Delete data on uninstall: если включено, при удалении модуля удаляются настройки шлюза и журнал. Данные Moneris по заказам (нужны для возвратов) и статусы заказов всегда сохраняются. По умолчанию: выключено.

Оформление заказа

На этапе оплаты покупатель выбирает способ оплаты (по умолчанию Credit card (Moneris)) и вводит Card number, Expiry (MM/YY) и Card code (CVC) в форме карты под этим пунктом. Все три поля обязательны. При оформлении заказа ваш сервер отправляет карту в Moneris на сумму корзины и сразу получает результат. Перенаправления и webhook нет. Данные карты используются только для этого одного запроса; они никогда не сохраняются, а в журнале отображаются только последние четыре цифры.

Заказ создаётся только по одобренному ответу Moneris. Затем покупатель видит стандартную страницу подтверждения заказа. При Pre-Authorization заказ ждёт в статусе Moneris payment authorized, пока вы не спишете средства. Если Moneris обработал сумму, отличную от суммы корзины, или корзина изменилась во время оплаты, заказ создаётся в статусе Moneris payment on hold с примечанием.

Если карта отклонена, покупатель остаётся на оформлении заказа с сообщением Your card was declined и причиной от Moneris и может проверить данные карты или использовать другую карту. Заказ не создаётся. Если Moneris не смог обработать запрос (например, из-за неверных Store ID или API Token), покупатель видит The payment could not be processed. Please try again or use another payment method. Причина записывается в журнал. Неверные данные карты дают короткие сообщения, например Invalid card number. или Invalid card expiry date., и в Moneris ничего не отправляется.

Второй клик или вторая вкладка браузера во время обработки платежа показывает A payment for this order is already being processed. Please wait a moment and check your order status before trying again. Корзина, по которой уже есть заказ, никогда не списывается повторно; покупатель перенаправляется на существующий заказ.

Если Moneris не отвечает (сетевая ошибка или тайм-аут), модуль отправляет в Moneris Status Check с тем же номером заказа Moneris, чтобы выяснить, прошла ли транзакция. Если у Moneris нет такой транзакции, покупатель может оплатить снова. Если Status Check тоже не получает ответа, заказ создаётся в статусе Moneris payment on hold с номером заказа Moneris, и покупателя не просят платить во второй раз.

В модуле нет сохранённых карт и Moneris Vault, подписок, Apple Pay, Google Pay или Interac Online, Moneris Checkout или Hosted Tokenization, 3-D Secure, AVS или Kount, а также цен в нескольких валютах.

Заказы и возвраты

Статусы заказа

No order yet: карта была отклонена или не обработана. Существуют только корзина и попытка в журнале. Покупатель может оплатить снова.

Payment accepted: покупка одобрена. Платёж записывается с номером транзакции Moneris в качестве ID транзакции.

Moneris payment authorized: предавторизация одобрена и ждёт списания. Платёж пока не записан.

Moneris payment on hold: обработанная сумма отличалась от суммы корзины, корзина изменилась во время оплаты, Moneris не подтвердил результат, или PrestaShop записал оплаченный статус, хотя списание не удалось. Примечания объясняют причину. При покупке с другой суммой платёж записывается на сумму, обработанную Moneris.

Canceled: для предавторизованного заказа отмена освобождает зарезервированные средства (void).

Refunded: платёж полностью возвращён через модуль.

Блок Moneris payment

На странице заказа показан блок Moneris payment с номером заказа Moneris, страной и режимом учётной записи, значком Test mode для тестовых платежей, Trans ID (и Trans ID предавторизации после списания), типом транзакции и её состоянием (не списана, списана или освобождена), чеком и типом карты, обработанной суммой, суммой заказа и возвращённой суммой, историей возвратов и Moneris notes заказа. Для неподтверждённого платежа блок просит найти номер заказа Moneris в Merchant Resource Center. Для всех действий в блоке нужно только право редактировать заказы.

Списание и отмена

Чтобы списать предавторизованную сумму, нажмите в блоке Capture payment и подтвердите, или переведите заказ в оплаченный статус, например «Оплата принята», «Отправлен» или «Доставлен». Списывается сумма заказа за вычетом возвратов; она не может быть больше авторизованной суммы. После списания кнопкой заказ переходит в статус Payment accepted; платёж записывается с Trans ID списания. Если Moneris отклоняет списание, статус не меняется, письмо об оплаченном статусе не отправляется, а примечание объясняет причину: Status not changed: the Moneris pre-authorization could not be captured и причину. Предавторизации Moneris истекают через несколько дней, поэтому списывайте их вовремя.

Чтобы освободить средства, нажмите Void pre-authorization (cancel order) или переведите заказ в статус «Отменён». Перевод заказа в статус «Возмещён» тоже освобождает открытую предавторизацию. Если освобождение не удалось, примечание попросит освободить её в Merchant Resource Center.

Возвраты

В блоке Moneris payment введите сумму (подставляется сумма, которая ещё не возвращена), при необходимости причину, и нажмите Refund via Moneris. Подтвердите вопрос Refund this amount through Moneris? This cannot be undone. Поддерживаются полные и частичные возвраты. Возвраты ограничены суммой, которую Moneris фактически списал, поэтому после расхождения сумм можно вернуть до суммы, оплаченной покупателем, а не до суммы заказа. Предавторизацию можно вернуть только после списания; до этого отмените заказ, чтобы освободить средства. Возврат отправляется в ту среду и учётную запись, в которых прошёл платёж, поэтому учётные данные этого режима должны оставаться заполненными. Если Moneris не принимает возврат, блок показывает Refund failed с причиной, и возврат не записывается. Успешный возврат добавляется в историю возвратов и примечания с Trans ID Moneris. Полный возврат переводит заказ в статус Refunded; частичный возврат статус не меняет.

Модуль не создаёт кредитные ноты. Стандартные кнопки возврата PrestaShop на странице заказа не возвращают деньги через Moneris.

Лицензионный ключ

Модуль работает с лицензионным ключом VibeFox с vibefox.net. Блок лицензии License — VibeFox Moneris Gateway — первый блок на странице Modules > Module Manager > VibeFox Moneris Gateway > Configure, над настройками. Вставьте ключ в поле License key и нажмите Activate. После этого блок показывает ключ в скрытом виде, статус (например, дату, до которой действует лицензия, и ваш домен), а также кнопки Check now для повторной проверки статуса, Change key для ввода другого ключа и Remove key для удаления ключа из этого магазина. Ниже находятся строка Product: presta-payment-moneris и ссылка Manage licenses and domains in your account, которая открывает ваш аккаунт vibefox.net. Изменить ключ могут только сотрудники с правом Configure для модуля. Тексты блока соответствуют языку бэк-офиса (включены английский и русский).

Если ключ не принят, блок сообщает причину, например Key not found, This key belongs to another product, Domain limit reached или License expired on с датой. После смены адреса магазина или после освобождения слота домена в вашем аккаунте нажмите Check now. Если сервер лицензий недоступен, модуль продолжает работать по последнему известному статусу.

Один ключ работает на одном домене: на домене основного магазина, в том числе в конфигурации с несколькими магазинами. Удаление ключа из магазина не освобождает слот домена. Освободите слот в своём аккаунте vibefox.net.

Без действующего ключа Moneris не показывается покупателям при оформлении заказа. Если платёж всё же начат, покупатель видит This payment method is not available. Please choose another one. Витрина PrestaShop не знает, что вы вошли в бэк-офис, поэтому способ оплаты скрыт и для вас: настроить модуль можно до покупки ключа, но проверить его на этапе оформления заказа нельзя. Напоминание появляется в Modules > Module Manager на вкладке Alerts. Существующие заказы не затрагиваются: списания, отмены и возвраты по уже совершённым платежам работают.

Когда лицензия истекает, модуль продолжает работать, но для обновлений и поддержки нужно продление. Статус автоматически проверяется снова, пока вы работаете в бэк-офисе: раз в день в первые 14 дней после ввода ключа, затем раз в неделю. Задание cron не нужно. Удаление или сброс модуля всегда удаляет лицензионный ключ и статус лицензии.

Устранение неполадок

Moneris не появляется при оформлении заказа: проверьте, что лицензия действует, Enable / Disable включено и в текущем режиме указаны Store ID и API Token. В рабочем режиме рабочие поля должны содержать ваши рабочие учётные данные, а не тестовые учётные данные Moneris. Проверьте, что валюта корзины совпадает с валютой учётной записи: CAD для Канады, USD для американской учётной записи. В Payment > Preferences проверьте, что модуль разрешён для этой валюты, страны покупателя и группы покупателя.

Платёж прошёл, но заказ в статусе Moneris payment on hold: у модуля нет webhook; результат приходит только из ответа Moneris. Прочитайте Moneris notes в блоке. Если Moneris не подтвердил результат, значит, Moneris не ответил и Status Check тоже не сработал. Найдите номер заказа Moneris в Merchant Resource Center: если транзакция там есть, отправьте заказ (и при необходимости верните средства там); если её нет, отмените заказ или попросите покупателя оплатить снова. Если сумма отличалась, проверьте заказ и выполните его или сделайте возврат.

Покупатель видит Payment gateway is misconfigured. Please contact the store administrator.: не заполнены учётные данные текущего режима, или включён рабочий режим, а в рабочих полях указаны тестовые учётные данные Moneris. Введите рабочие Store ID и API Token.

Покупатель видит This payment method does not support the order currency.: валюта корзины не является валютой учётной записи Moneris.

Покупатель видит ошибку при оплате: посмотрите поле Log на странице модуля. Ошибки записываются всегда; включите Debug log, чтобы увидеть полные запросы и ответы.

Списание не удаётся: у заказа нет предавторизации, ожидающей списания, сумма заказа равна нулю, или сумма больше авторизованной. Предавторизации Moneris также истекают через несколько дней.

Возврат, списание или отмена не удаётся с сообщением о режиме или учётной записи: платёж был сделан в тестовом или рабочем режиме, а учётные данные этого режима не заполнены, или платёж был сделан с учётной записью Moneris другой страны. Введите учётные данные или обработайте платёж в Merchant Resource Center.

Атаки перебором карт: формы карт на сайте — мишень для перебора номеров карт. Используйте правила eFraud или velocity в вашей учётной записи Moneris, а также модуль CAPTCHA или ограничения частоты запросов для вашего магазина.

Удаление

Перейдите в Modules > Module Manager, откройте меню рядом с VibeFox Moneris Gateway и выберите Uninstall. Лицензионный ключ и статус лицензии этого модуля всегда удаляются. Если Delete data on uninstall включено, настройки шлюза и журнал удаляются. Если выключено, все настройки сохраняются для будущей переустановки. Транзакции и возвраты Moneris и статусы заказов Moneris payment authorized и Moneris payment on hold всегда сохраняются, поэтому заказы, оплаченные раньше, можно списать или вернуть и после переустановки. Существующие заказы сохраняют свои платёжные примечания и ID транзакций.

Moneris — товарный знак его правообладателя. Этот модуль не связан с Moneris и не одобрен Moneris.