VibeFox Autopay for PrestaShop — Помощь
Требования
PrestaShop: от 8.0 до 9.x.
PHP: 8.0 или новее. Модуль не устанавливается на более старых версиях PHP.
Сервис Autopay: нужны Service ID и Shared key (хэш-ключ) вашего сервиса Autopay. Они показаны в торговом портале Autopay: portal.autopay.eu для рабочей среды, testportal.autopay.eu для тестовой. У тестовых сервисов свои Service ID и Shared key; попросите Autopay открыть такой сервис. Хэш-функция сервиса должна быть SHA-256.
Валюта: валюта корзины должна быть PLN, EUR, GBP, USD или CZK и приниматься вашим сервисом Autopay.
Доступный магазин: Autopay должен иметь возможность отправлять уведомления в ваш магазин, поэтому магазин должен быть доступен из интернета без базовой аутентификации и без файрвола, блокирующего POST-запросы. Режим обслуживания и ограничение по странам вашего магазина уведомления не блокируют.
Лицензионный ключ VibeFox: покупается на vibefox.net. Один ключ работает на одном домене.
Установка
1. В панели администрирования откройте Modules > Module Manager и нажмите Upload a module. Выберите ZIP-файл модуля.
2. Когда загрузка завершится, нажмите Configure или позже найдите VibeFox Autopay Payment в списке модулей и нажмите Configure.
3. Введите лицензионный ключ VibeFox в поле License key в блоке лицензии вверху страницы Configure и нажмите Activate (см. Лицензионный ключ).
4. Введите Service ID и Shared key (тестовой и рабочей среды) и выберите валюты вашего сервиса.
5. В портале Autopay задайте для вашего сервиса URL ITN, URL возврата и хэш-функцию SHA-256 (см. раздел «Настройка»).
6. Включите Enable/Disable и нажмите Save. Оформите тестовый заказ в тестовом режиме, затем выключите Test mode для реальных платежей.
При установке модуль создаёт статус заказа Autopay payment on hold. PrestaShop включает новый платёжный модуль для всех валют, стран и групп покупателей. Ограничить их можно в Payment > Preferences.
Настройка
Все параметры находятся на странице модуля: Modules > Module Manager > VibeFox Autopay Payment > Configure. У каждого раздела своя кнопка Save, которая сохраняет всю страницу. Над полями страница предупреждает, если Service ID или Shared key выбранной среды пусты, и если валюта по умолчанию магазина не выбрана в Currencies. В обоих случаях способ оплаты скрывается на странице оформления заказа (для валюты, которая не выбрана).
Autopay
Enable/Disable: Enable Autopay payment gateway включает или выключает способ оплаты. По умолчанию: выключено.
Title: название способа оплаты, которое видят покупатели на странице оформления заказа. Оно же сохраняется в заказе как название способа оплаты. По умолчанию: Autopay. Обязательно.
Description: текст под способом оплаты на странице оформления заказа. По умолчанию: Pay online by bank transfer, BLIK or card. You will be redirected to the secure Autopay payment page.
Сервис Autopay
Service ID и Shared key показаны в торговом портале Autopay (portal.autopay.eu или testportal.autopay.eu, ссылки в этом разделе).
Test mode: использует тестовую среду Autopay (testpay.autopay.eu) и тестовые реквизиты ниже. По умолчанию: включено. Выключите, чтобы принимать реальные платежи на pay.autopay.eu с рабочими реквизитами.
Service ID (production): числовой идентификатор сервиса с portal.autopay.eu.
Shared key (production): хэш-ключ рабочего сервиса. Храните его в секрете.
Service ID (test): числовой идентификатор тестового сервиса с testportal.autopay.eu.
Shared key (test): хэш-ключ тестового сервиса.
При сохранении Service ID с символами, отличными от букв, цифр, дефисов и подчёркиваний, отклоняется с ошибкой, и ничего не сохраняется. Сохранённые Shared key больше никогда не показываются. Поле остаётся пустым и показывает Saved — leave empty to keep it. Вводите новое значение, только если хотите его изменить.
Clear saved keys: отметьте ключ и нажмите Save, чтобы удалить его. Пустое поле сохраняет сохранённое значение.
Currencies: валюты, которые принимает ваш сервис Autopay: PLN, EUR, GBP, USD, CZK. Autopay обычно открывает отдельный сервис для каждой валюты. Способ оплаты предлагается только тогда, когда валюта корзины выбрана здесь. По умолчанию: PLN.
Уведомления об оплате (ITN) и адрес возврата
Укажите эти адреса в портале Autopay для вашего сервиса — для рабочей и тестовой среды. Точные адреса показаны в поле Addresses этого раздела. При «красивых» URL они выглядят так, возможно, с кодом языка, например /en/:
Копируйте адреса точно так, как их показывают настройки. Без URL ITN заказы никогда не создаются, поскольку PrestaShop создаёт заказ только тогда, когда Autopay подтвердит платёж. Каждый ITN проверяется по хэшу SHA-256, сформированному с Shared key сервиса, указанного в уведомлении. Уведомления без правильного хэша или с неизвестным Service ID отклоняются. Уведомление применяется к корзине, только если её платёж был начат с тем же сервисом Autopay, поэтому тестовое уведомление никогда не подтверждает рабочий платёж. Уведомления о платежах, начатых до переключения Test mode, по-прежнему проверяются правильным ключом, пока оба набора реквизитов сохранены.
Модуль обрабатывает в ITN следующие статусы платежа:
Дополнительно
Logging: записывает события платежей в logs/wc_ap_debug.log.php в папке модуля. Файл нельзя открыть из веба. Ключи и данные покупателей никогда не записываются в журнал. По умолчанию: выключено. Пока он выключен, ничего не записывается, включая ошибки.
Log: показывает размер и последние записи журнала. Нажмите Clear log, чтобы очистить его.
Оформление заказа
На этапе оплаты покупатель выбирает способ оплаты (по умолчанию Autopay) с его описанием и подтверждает выбор. Следующая страница показывает Thank you. You are being redirected to Autopay to complete the payment. Your order is created as soon as Autopay confirms it. и отправляет покупателя на страницу оплаты Autopay. Если покупатель возвращается кнопкой «Назад» браузера, страница показывает кнопку Pay with Autopay вместо повторного перенаправления. На этом этапе заказа ещё нет.
Модуль передаёт сумму корзины в валюте корзины, номер корзины как номер заказа, описание (Cart и номер) и e-mail покупателя. На странице Autopay покупатель выбирает способ оплаты и платит.
Заказ отмечается оплаченным только после подтверждения Autopay подписанным ITN, а сумма и валюта совпадают с корзиной. Затем заказ создаётся, и покупатель получает стандартные письма PrestaShop о заказе. После оплаты покупатель возвращается в ваш магазин. Адрес возврата подписан, но он никогда не создаёт и не меняет заказ. Если заказ уже существует, покупатель видит стандартную страницу подтверждения заказа. Если ITN ещё не пришёл, страница Payment confirmation показывает Thank you. Your payment is being confirmed by Autopay — your order will be created as soon as Autopay confirms it, and you will receive an e-mail. с кнопками Check again и Back to checkout.
Если Autopay сообщил о неуспешном платеже, покупатель возвращается к оформлению заказа с сообщением The payment was not completed. You can try again or choose another payment method. Корзина сохраняется. Если платёж не удалось начать, покупатель остаётся на странице оформления заказа с коротким сообщением, например Autopay payments are not configured. Please choose another payment method or contact the store. или о том, что Autopay не может принимать платежи в этой валюте.
В модуле нет возвратов из PrestaShop, подписок и регулярных платежей, сохранённых карт, кода BLIK или формы карты на странице оформления заказа, выбора банка или платёжного канала на этой странице, и он использует один Service ID на каждую среду.
Заказы
Статусы заказов
No order yet: покупатель был отправлен в Autopay и не оплатил, платёж не прошёл или Autopay ещё не подтвердил платёж. Существует только корзина.
Payment accepted: Autopay подтвердил платёж, сумма и валюта совпадают. Платёж записывается с ID транзакции Autopay (remoteID) в качестве ID транзакции, а примечание показывает сумму, транзакцию Autopay и дату платежа.
Autopay payment on hold: Autopay сообщил сумму или валюту, отличающиеся от суммы корзины (например, корзину изменили после начала платежа). Заказ не отмечается оплаченным. Проверьте транзакцию в портале Autopay и вручную завершите её или сделайте возврат. Более позднее правильное уведомление для этого заказа отмечает его оплаченным. Тот же статус используется, когда платёж поступает по заказу, который был отменён: платёж записывается, а примечание просит вас проверить остатки и выполнить заказ или сделать возврат платежа.
Оплаченный заказ никогда не меняется из-за позднего уведомления о неуспешном платеже. Если Autopay сообщает о другом успешном платеже по оплаченному заказу, примечание предупреждает, что покупатель, возможно, заплатил дважды. Уведомление о платеже, начатом с другим сервисом Autopay, не применяется, и примечание это объясняет. Примечания видны только сотрудникам, в блоке Autopay payment на странице заказа.
Блок Autopay payment
На странице заказа показан блок Autopay payment с Autopay OrderID, Service ID и средой, суммой и валютой, статусом платежа, ID транзакции Autopay, значком Test mode для тестовых платежей и Autopay notes заказа. Блок только для чтения.
Возвраты
Возвраты через Autopay не поддерживаются. Выполните возврат в портале Autopay, затем зарегистрируйте его в PrestaShop стандартными средствами работы с заказом.
Лицензионный ключ
Модуль работает с лицензионным ключом VibeFox с vibefox.net. Блок лицензии License — VibeFox Autopay Payment — это первый блок на странице Modules > Module Manager > VibeFox Autopay Payment > Configure, над настройками. Введите ключ в поле License key и нажмите Activate. После этого блок показывает ключ в замаскированном виде, статус (например, дату, до которой действует лицензия, и ваш домен), а также кнопки Check now для повторной проверки статуса, Change key для ввода другого ключа и Remove key для удаления ключа из этого магазина. Ниже находятся строка Product: presta-payment-autopay и ссылка 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.
Без активного ключа Autopay не показывается покупателям на оформлении заказа. Если платёж всё же начат, покупатель видит This payment method is not available. Please choose another one. Витрина PrestaShop не знает, что вы вошли в back office, поэтому способ оплаты скрыт и для вас: модуль можно настроить до покупки ключа, но нельзя проверить на оформлении заказа. Напоминание появляется в Modules > Module Manager на вкладке Alerts. Существующие заказы не затрагиваются: уже начатые платежи по-прежнему подтверждаются.
Когда лицензия истекает, модуль продолжает работать, но обновления и поддержка требуют продления. Статус автоматически проверяется во время работы в back office: раз в день в первые 14 дней после ввода ключа, затем раз в неделю. Cron-задание не требуется. Удаление или сброс модуля всегда удаляет лицензионный ключ и статус лицензии.
Устранение неполадок
Autopay не появляется при оформлении заказа: проверьте, что лицензия активна, Enable/Disable включён, в выбранной среде есть Service ID и Shared key, а валюта корзины выбрана в Currencies. Страница настроек показывает предупреждение, если чего-то из этого не хватает. В Payment > Preferences проверьте, что модуль разрешён для валюты корзины, страны покупателя и группы покупателя.
Платёж прошёл, но заказ не создан: Autopay не доставил ITN или магазин его отклонил. Проверьте, что URL ITN, показанный в настройках, указан для сервиса в портале Autopay (рабочая или тестовая среда), что хэш-функция — SHA-256 и что Shared key в модуле соответствует сервису. Проверьте, что магазин доступен из интернета. Включите Logging и посмотрите поле Log на странице модуля.
Журнал показывает ITN rejected: invalid hash: Shared key не соответствует сервису, или хэш-функция сервиса не SHA-256.
Журнал показывает, что Service ID не настроен: уведомление пришло от сервиса, чей Service ID не введён в модуль, или чей Shared key пуст.
Журнал показывает could not lock the cart, Autopay will retry: корзину в тот же момент обрабатывало другое уведомление. Магазин отвечает так, чтобы Autopay отправил уведомление повторно. То же происходит, когда заказ не удалось создать, например потому что модуль отключён.
Заказ в статусе Autopay payment on hold с примечанием о несоответствии: Autopay сообщил сумму или валюту, отличающиеся от суммы корзины. Проверьте транзакцию в портале Autopay и вручную завершите заказ или сделайте возврат.
Примечание говорит, что уведомление НЕ применено: платёж по этому заказу не был начат с этим сервисом Autopay, например тестовое уведомление для реального заказа. Проверьте транзакцию в портале Autopay.
После оплаты покупатель попадает на главную страницу: адрес возврата не удалось проверить, например потому что Service ID не введён в модуль. Заказ не затрагивается: он следует за ITN.
Покупатель видит This payment method is not available.: способ оплаты не предлагается для этой корзины (выключен, нет реквизитов, валюта не выбрана или запрещён в Payment > Preferences).
Удаление
Откройте Modules > Module Manager, откройте меню рядом с VibeFox Autopay Payment и выберите Uninstall. Лицензионный ключ и статус лицензии этого модуля всегда удаляются. Настройки модуля, включая ключи, и журнал удаляются. В модуле нет опции сохранить настройки. Платёжные данные Autopay и статус заказа Autopay payment on hold всегда сохраняются. Существующие заказы сохраняют свои платёжные примечания и ID транзакций.
Autopay — торговая марка её правообладателя. Этот модуль не аффилирован с Autopay и не одобрен Autopay.
