Назад

VibeFox Authorize.Net for PrestaShop — Допомога

Вимоги

PrestaShop: від 8.0 до 9.x.

PHP: 8.0 або новіша. Модуль не встановлюється на старіших версіях PHP.

HTTPS: оформлення замовлення має працювати через HTTPS. Accept.js не запускається на сторінках без HTTPS.

Обліковий запис Authorize.Net: потрібні API Login ID, Transaction Key і Public Client Key вашого облікового запису Authorize.Net, а також Signature Key, якщо ви використовуєте вебхуки. Робочий (account.authorize.net) і тестовий (sandbox.authorize.net) облікові записи мають різні облікові дані. Облікові записи Authorize.Net доступні мерчантам у США, Канаді, Великобританії, Європі, Австралії та Новій Зеландії.

Валюта: валюта кошика має бути USD, CAD, CHF, DKK, EUR, GBP, NOK, PLN, SEK, AUD або NZD, а ваш обліковий запис Authorize.Net має проводити розрахунки в цій валюті. Для інших валют спосіб оплати на оформленні замовлення приховано.

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

Встановлення

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

2. Після завершення завантаження натисніть Configure або пізніше знайдіть VibeFox Authorize.Net Gateway у списку модулів і натисніть Configure.

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

4. Введіть облікові дані тестового і робочого облікових записів (див. Налаштування). За бажання налаштуйте вебхук.

5. Увімкніть Enable/Disable, виберіть Transaction type і натисніть Save. Перевірте оплату в тестовому середовищі карткою 4111 1111 1111 1111, будь-якою майбутньою датою закінчення терміну дії та будь-яким CVV, потім вимкніть Sandbox mode.

Під час встановлення модуль створює два статуси замовлення: Authorize.Net payment authorized і Authorize.Net payment on hold. PrestaShop додає новий платіжний модуль для всіх валют, країн і груп клієнтів. Обмежити їх можна в Payment > Preferences.

Налаштування

Усі параметри розташовані на сторінці модуля: Modules > Module Manager > VibeFox Authorize.Net Gateway > Configure. Кожен розділ має власну кнопку Save, яка зберігає всю сторінку. Над полями сторінка попереджає, якщо SSL не увімкнено для магазину (Accept.js працює лише на сторінках HTTPS), якщо валюта магазину за замовчуванням не підтримується Authorize.Net, якщо для поточного режиму немає API Login ID, Transaction Key або Public Client Key (тоді спосіб оплати приховується на оформленні замовлення) і якщо для поточного режиму немає Signature Key (тоді вебхуки вимкнено). Поки увімкнено тестове середовище, відображається Sandbox mode is on: test transactions, no real charges.

Authorize.Net

Enable/Disable: Enable Authorize.Net вмикає або вимикає спосіб оплати. За замовчуванням: вимкнено.

Title: назва способу оплати, яку бачать покупці на оформленні замовлення. Вона також зберігається в замовленні як назва способу оплати. За замовчуванням: Credit Card. Обов'язкове поле.

Description: текст під способом оплати на оформленні замовлення. За замовчуванням: Pay securely with your credit card via Authorize.Net.

Облікові дані API

У Merchant Interface Authorize.Net відкрийте Account > Settings > Security Settings. У розділі API Credentials & Keys скопіюйте API Login ID і створіть Transaction Key та Signature Key. У розділі Manage Public Client Key скопіюйте Public Client Key. Тестове і робоче середовища використовують різні облікові дані. Сторінка показує поля обох режимів, тож ви можете зберегти обидва набори.

Sandbox mode: використовує тестове середовище Authorize.Net (тестові транзакції, без реальних списань). Він перемикає адресу API, Accept.js і набір облікових даних для нових платежів. За замовчуванням: увімкнено. Вимкніть його, щоб приймати реальні платежі. Поки він увімкнений, покупці бачать підказку з тестовою карткою 4111 1111 1111 1111 під способом оплати.

Sandbox API Login ID і Live API Login ID: API Login ID тестового або робочого облікового запису.

Sandbox Transaction Key і Live Transaction Key: Transaction Key цього облікового запису.

Sandbox Public Client Key і Live Public Client Key: публічний ключ, який Accept.js використовує у браузері.

Sandbox Signature Key і Live Signature Key: потрібні лише для вебхуків. Він перевіряє заголовок X-ANET-Signature кожного сповіщення.

Збережені Transaction Keys і Signature Keys більше не відображаються. Поле залишається порожнім і показує Saved — leave empty to keep it. Вводьте нове значення, лише якщо хочете його змінити.

Clear saved secrets: позначте ключ і натисніть Save, щоб видалити його. Порожнє поле зберігає збережене значення.

Оплата

Transaction type: як списуються кошти з картки. Авторизація спливає через 30 днів.

Authorize and capture: списує кошти з картки одразу; замовлення переходить у статус Оплату прийнято (за замовчуванням).
Authorize only: резервує кошти; замовлення переходить у статус Authorize.Net payment authorized. Захопіть їх пізніше дією Capture payment у блоці Authorize.Net замовлення або в панелі Authorize.Net.

Вебхуки (рекомендовано)

Без вебхуків замовлення, утримані Fraud Detection Suite, або захоплені чи анульовані в панелі Authorize.Net, потрібно оновлювати вручну. У Merchant Interface перейдіть до Account > Settings > Business Settings > Webhooks і натисніть Add Endpoint — і в тестовому, і в робочому обліковому записі. Використовуйте URL, який показано в Endpoint URL у цьому розділі. З дружніми URL він має такий вигляд: https://your-shop/module/wcp_authorizenet_gateway/webhook, можливо з кодом мови, наприклад /en/. Скопіюйте URL точно так, як його показують налаштування. Виберіть ці події (вони також перелічені в цьому розділі):

net.authorize.payment.fraud.approved: транзакцію, утримувану для перевірки, схвалено.
net.authorize.payment.fraud.declined: транзакцію, утримувану для перевірки, відхилено.
net.authorize.payment.priorAuthCapture.created: авторизацію було захоплено, наприклад у панелі Authorize.Net.
net.authorize.payment.void.created: транзакцію було анульовано.

Введіть Signature Key кожного облікового запису в поле Sandbox Signature Key або Live Signature Key. Вебхуки без дійсного підпису відхиляються. Сповіщення має бути підписане ключем того режиму, у якому здійснено оплату; сповіщення іншого режиму нічого не змінює. Для кожного сповіщення модуль також запитує в Authorize.Net поточний статус і суму транзакції, перш ніж змінити замовлення, тож повторні сповіщення нічого не змінюють.

Додатково

Debug log: записує запити та відповіді API у logs/wc_ang_debug.log.php у папці модуля. Файл не можна відкрити через веб. Ключі, токени карток і персональні дані приховуються. За замовчуванням: вимкнено. Помилки, наприклад відхилені чи невдалі платежі, помилки API та невдалі повернення, завжди записуються, навіть якщо ця опція вимкнена.

Log: показує розмір журналу та останні записи. Натисніть Clear log, щоб його очистити.

Delete data on uninstall: якщо увімкнено, під час видалення модуля видаляються налаштування та журнал. Транзакції й повернення Authorize.Net та статуси замовлень модуля завжди зберігаються, тож замовлення, оплачені раніше, можна захопити та повернути після повторного встановлення. За замовчуванням: вимкнено.

Оформлення замовлення

На кроці оплати покупець обирає спосіб оплати (за замовчуванням Credit Card) і вводить номер картки, термін дії (MM/YY) та код безпеки (CVV) у формі під ним. Accept.js завантажується лише на сторінці оформлення замовлення. Коли покупець оформлює замовлення, Accept.js у браузері обмінює дані картки на одноразовий токен. Поля картки не мають імен форми, тому номер картки та CVV ніколи не надсилаються на ваш сервер.

Модуль списує токен через API Authorize.Net на суму кошика у валюті кошика. Адреса для рахунку, e-mail і IP-адреса надсилаються разом із транзакцією для перевірки адреси та фільтрів шахрайства. Номер кошика надсилається як номер рахунку, оскільки до оплати замовлення ще не існує. Замовлення позначається оплаченим лише після підтвердження Authorize.Net: якщо транзакцію схвалено, замовлення створюється одразу, і покупець бачить стандартну сторінку підтвердження замовлення з Your card payment has been received. За Authorize only сторінка показує Your card payment has been authorized. The amount will be charged when your order is processed. Якщо Fraud Detection Suite утримує транзакцію, сторінка показує Your payment is being reviewed. We will update your order as soon as the review is complete.

Якщо картку відхилено, покупець залишається на кроці оплати і бачить Payment failed: та причину, наприклад відхилену картку, неправильний код безпеки або прострочену картку. Замовлення не створюється, кошик зберігається. Помилки конфігурації та API покупцям не показуються: вони бачать загальне повідомлення, а деталі записуються в журнал. Якщо магазин не може зв'язатися з Authorize.Net, покупець бачить Payment error: unable to connect to the payment gateway. Please try again. Якщо поля картки порожні, форма просить Please enter the card number, expiry date and card code.

Подвійний клік, друга вкладка або повторне надсилання форми ніколи не списують кошти за один кошик двічі. Друга спроба, поки перша ще виконується, показує Your payment is already being processed. Please wait a moment and check your order history before trying again. Якщо оплату схвалено, але замовлення створити не вдалося, покупець бачить Your payment was received, but the order could not be completed automatically. Please contact us — do not pay again. Тоді замовлення створюється зі схваленого платежу під час наступної спроби або через вебхук, без повторного списання з картки.

Якщо кошик змінюється під час оплати, списана сума більше не відповідає кошику. Тоді замовлення переходить у статус Authorize.Net payment on hold з приміткою, а платіж записується на фактично списану суму.

Вебхук працює, навіть коли магазин перебуває в режимі обслуговування, і не блокується обмеженням за країнами вашого магазину.

Модуль не має збережених карток чи профілів покупців, підписок і регулярних платежів, eCheck/ACH, Apple Pay, Google Pay, PayPal або 3-D Secure, часткового захоплення авторизації та автоматичної конвертації валют.

Замовлення і повернення коштів

Статуси замовлення

No order: картку відхилено або оплата не вдалася. Існує лише кошик.

Payment accepted: кошти з картки списано (Authorize and capture) або авторизацію захоплено. Платіж записується з Authorize.Net Trans ID як ID транзакції, а примітка показує суму, Trans ID, код авторизації, тип картки та останні чотири цифри.

Authorize.Net payment authorized: кошти лише авторизовано (Authorize only). Захопіть їх до відправлення.

Authorize.Net payment on hold: Fraud Detection Suite утримав транзакцію для перевірки, списана сума не збігається із сумою замовлення, або захоплення, про яке повідомив вебхук, не збігається із сумою замовлення. Примітка пояснює це. Схваліть або відхиліть утримувану транзакцію в панелі Authorize.Net; з вебхуками замовлення оновлюється автоматично.

Canceled: вебхук повідомив, що транзакцію відхилено, анульовано або вона прострочилася до оплати замовлення, або ви анулювали авторизацію, яку не було захоплено. Якщо транзакцію оплаченого замовлення анулюють у панелі Authorize.Net, його статус не змінюється, і додається попереджувальна примітка.

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

Якщо для кошика, у якого вже є замовлення, схвалено другу транзакцію, замовлення не змінюється. Примітка просить перевірити її та анулювати або повернути дублікат у панелі Authorize.Net.

Блок оплати Authorize.Net

На сторінці замовлення показано блок Authorize.Net payment з Trans ID, типом транзакції, статусом транзакції, карткою і кодом авторизації, списаною сумою, сумою замовлення та сумою повернення, значок Sandbox для тестових платежів, історію повернень і Authorize.Net notes замовлення. Для захоплення та повернень потрібне лише право редагувати замовлення, а не доступ до сторінок модулів.

Захоплення

Для замовлення в статусі Authorize.Net payment authorized натисніть Capture payment у блоці та підтвердьте Capture the authorized amount through Authorize.Net? Авторизовану суму захоплено, платіж записано з Trans ID, а замовлення переходить у статус Payment accepted. Якщо захоплення не вдалося, помилку буде показано і додано до приміток. Захопити можна також у панелі Authorize.Net; з вебхуками замовлення оновлюється автоматично.

Повернення коштів

У блоці введіть суму (підставляється сума, яку ще не повернено), за потреби причину, натисніть Refund via Authorize.Net і підтвердьте Refund this amount through Authorize.Net? This cannot be undone. Повернення повної суми спершу анулює транзакцію, якщо її ще не розраховано, або авторизацію, яку не було захоплено. Розраховані транзакції, зазвичай через 24 години, можна повертати повністю або частково. До розрахунку часткове повернення неможливе: поверніть повну суму, щоб анулювати транзакцію, або повторіть спробу після розрахунку. Повернення виконуються в сумі та валюті, які Authorize.Net списав, тож після розбіжності суми можна повернути до тієї суми, яку покупець фактично сплатив, а не до суми замовлення. Якщо Authorize.Net не приймає повернення, блок показує помилку і жодне повернення не записується. Успішне повернення або анулювання додається до історії повернень і приміток. Повне повернення переводить замовлення в статус Refunded (Canceled, якщо анульовано лише авторизацію). Часткове повернення статус не змінює. Поки транзакцію утримано для перевірки, повернення не пропонуються.

Захоплення, повернення та перевірки вебхуків замовлення використовують облікові дані того режиму, у якому замовлення було оплачено, тож замовлення іншого режиму можна захоплювати і повертати навіть після перемикання Sandbox mode. Зберігайте облікові дані цього режиму в їхніх полях, доки ці замовлення не завершено.

Модуль не створює кредитних нот. Стандартні кнопки повернення PrestaShop на сторінці замовлення не повертають кошти через Authorize.Net. Повернення, зроблені в панелі Authorize.Net, магазину не повідомляються: оновіть замовлення вручну.

Ліцензійний ключ

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

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

Один ключ працює на одному домені — на домені основного магазину, зокрема в конфігурації з кількома магазинами. Видалення ключа з магазину не звільняє слот домену. Звільніть його у своєму обліковому записі vibefox.net.

Без активного ключа ліцензії Authorize.Net покупцям на оформленні замовлення не показується. Якщо оплату все ж розпочато, покупець бачить This payment method is not available. Please choose another one. Вітрина PrestaShop не знає, що ви увійшли в back office, тому спосіб оплати приховано й для вас: модуль можна налаштувати до купівлі ключа, але не можна перевірити на оформленні замовлення. Нагадування з'являється в Modules > Module Manager на вкладці Alerts. Наявні замовлення не змінюються: вже розпочаті платежі як і раніше підтверджуються, а захоплення та повернення працюють.

Коли ліцензія закінчується, модуль продовжує працювати, але оновлення та підтримка потребують продовження. Статус автоматично перевіряється під час роботи в back office: раз на день протягом перших 14 днів після введення ключа, потім раз на тиждень. Cron-завдання не потрібне. Видалення або скидання модуля завжди видаляє ліцензійний ключ і статус ліцензії.

Усунення несправностей

Authorize.Net не відображається на оформленні замовлення: перевірте, чи ліцензія активна, чи увімкнено Enable/Disable, і чи є в поточному режимі API Login ID, Transaction Key і Public Client Key. Сторінка налаштувань показує попередження, якщо чогось бракує. Перевірте, чи підтримується валюта кошика, а в Payment > Preferences — чи дозволено модуль для валюти кошика, країни покупця та групи покупця.

Оплату виконано, але замовлення залишається в статусі Authorize.Net payment on hold або authorized: тип транзакції — Authorize only (захопіть її в блоці замовлення), або Authorize.Net утримав транзакцію для перевірки. Схваліть або відхиліть її в панелі Authorize.Net. Щоб такі замовлення оновлювались автоматично, налаштуйте вебхук: перевірте, чи існує endpoint в обліковому записі використовуваного режиму, чи його URL точно збігається з тим, що показано в Endpoint URL, чи вибрано всі чотири події і чи введено Signature Key цього облікового запису.

Webhook answers webhooks are not configured: для жодного з режимів не введено Signature Key.

Webhook answers invalid signature: Signature Key належить іншому обліковому запису, або ключ було змінено в Authorize.Net. Створіть або скопіюйте Signature Key знову і вставте його в поле свого режиму.

Webhook answers mode mismatch: сповіщення підписано ключем одного режиму, а оплату здійснено в іншому режимі. Перевірте, чи не переплутано Signature Keys тестового та робочого середовищ.

Webhook answers verification failed, retry later: магазин не зміг прочитати транзакцію з API Authorize.Net, або відсутні облікові дані режиму оплати. Authorize.Net повторить доставку.

Webhook answers busy, retry later: замовлення в той самий момент оновлював інший запит, або замовлення не вдалося створити. Authorize.Net повторить доставку. Причину дивіться в полі Log.

URL вебхука в браузері показує method not allowed: це нормально. URL приймає лише запити від Authorize.Net.

Форма картки показує The secure card form (Accept.js) could not be loaded: оформлення замовлення має працювати через HTTPS, а Public Client Key і API Login ID поточного режиму мають бути правильними.

Payment error: the card could not be tokenized: Accept.js не повернув токен. Покупцю слід повторно ввести дані картки і спробувати знову.

Покупець бачить загальну помилку: перегляньте поле Log на сторінці модуля; помилки там записуються завжди. Валюту, яку обліковий запис не підтримує, Authorize.Net відхиляє.

Часткове повернення не виконується, бо транзакцію ще не розраховано: поверніть повну суму, щоб анулювати транзакцію, або повторіть спробу після розрахунку, зазвичай протягом 24 годин.

Повернення або захоплення не виконується з повідомленням про режим: платіж здійснено в тестовому або робочому режимі, а API Login ID і Transaction Key цього режиму не задано. Введіть їх і повторіть спробу.

Видалення

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

Authorize.Net є торговельною маркою її власника. Цей модуль не пов'язаний з Authorize.Net і не схвалений нею.