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).
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.
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) або переведіть замовлення в статус Canceled. Перехід замовлення в статус Refunded також звільняє відкриту попередню авторизацію. Якщо звільнити не вдалося, нотатка попросить зробити це в 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.
