VibeFox EveryPay for WooCommerce — Помощь
Требования
WordPress: 6.0 или новее.
WooCommerce: 7.0 или новее, установлен и активен.
PHP: 8.0 или новее.
Учётная запись EveryPay: нужны имя пользователя API, API secret и название процессингового аккаунта вашего интернет-магазина. Их можно найти в EveryPay Merchant Portal в настройках магазина: демо-портал (mwt-demo.every-pay.com) для тестового режима и рабочий портал (portal.every-pay.eu) для реальных платежей. Тестовая и рабочая среды имеют отдельные учётные данные. URL callback вашего магазина также нужно указать в обоих порталах (см. раздел «Настройка»).
Валюта магазина: процессинговый аккаунт определяет валюту списания, например EUR3D1 списывает в EUR. Способ оплаты предлагается только для заказов в этой валюте.
Лицензионный ключ VibeFox: приобретается на vibefox.net. Один ключ работает на одном домене.
Установка
1. В WordPress перейдите в Plugins > Add New > Upload Plugin, выберите ZIP-архив плагина и нажмите Install Now. Также можно загрузить папку wcp_everypay_payment в /wp-content/plugins/ по FTP.
2. Нажмите Activate.
3. Откройте настройки: WooCommerce > Settings > Payments > EveryPay > Manage, или нажмите Settings под названием плагина на странице «Плагины».
4. Введите лицензионный ключ VibeFox в блоке лицензии вверху страницы и нажмите Activate.
5. Введите имя пользователя API для теста, API secret для теста и название процессингового аккаунта из демо-версии Merchant Portal. Оставьте включённым Test Mode.
6. Скопируйте URL callback, показанный на странице настроек, в Callback notification URL вашего магазина в Merchant Portal.
7. Включите Enable/Disable и сделайте тестовый заказ. Когда всё работает, введите рабочие учётные данные, укажите URL callback и в рабочем портале, а затем снимите отметку с Test Mode.
Настройка
Все настройки находятся на одной странице: WooCommerce > Settings > Payments > EveryPay. Над полями страница показывает Test mode is on: payments go to the EveryPay demo environment, no real money is charged., пока включён тестовый режим. Страница предупреждает, если шлюз включён, но для текущего режима не заполнены имя пользователя API, API secret или процессинговый аккаунт (тогда способ оплаты скрыт на странице оформления заказа), а также если процессинговый аккаунт списывает в валюте, отличной от валюты магазина. В списке способов оплаты EveryPay помечен как требующий настройки, пока не настроен текущий режим. Пробелы и переводы строк, вставленные вместе с учётными данными, удаляются при сохранении.
Общие
Enable/Disable: Enable EveryPay payment gateway включает или выключает способ оплаты. По умолчанию: выключено.
Title: название способа оплаты, которое видят покупатели при оформлении заказа. По умолчанию: EveryPay.
Description: текст под способом оплаты при оформлении заказа. По умолчанию: Pay securely by card or bank link on the EveryPay payment page.
Учётная запись EveryPay
Имя пользователя API, API secret и название процессингового аккаунта показаны в EveryPay Merchant Portal (настройки магазина): демо-портал для тестового режима, рабочий портал для реальных платежей.
Test Mode: Enable test mode отправляет платежи в демо-среду EveryPay с тестовыми учётными данными. Реальные деньги не списываются. По умолчанию: включено.
Test API Username: имя пользователя API демо-среды.
Test API Secret: API secret демо-среды.
Live API Username: имя пользователя API рабочей среды.
Live API Secret: API secret рабочей среды.
Processing Account Name: процессинговый аккаунт EveryPay, например EUR3D1. Аккаунт определяет валюту списания: шлюз предлагается только для заказов в этой валюте. Одно и то же название аккаунта используется в обоих режимах.
Уведомления об оплате (callback)
Callback сообщает вашему магазину, что платёж завершён, поэтому заказы обновляются, даже если покупатель закрыл браузер. Скопируйте URL из этого раздела в Callback notification URL вашего магазина в EveryPay Merchant Portal — и в демо-портале, и в рабочем. URL выглядит так: https://your-site/wc-api/wc_evp_payment/. Запрос на оплату не содержит URL callback, поэтому его нужно указать в портале.
Callback содержит только идентификаторы платежей. Когда он приходит, плагин запрашивает у API EveryPay статус платежа в той среде, где платёж был создан, и проверяет, что ответ относится к этому заказу. Callback для платежа, который этот заказ не создавал, отклоняется. Без callback заказ подтверждается, когда покупатель возвращается в магазин после оплаты, или когда вы запускаете Check EveryPay payment status в заказе.
Дополнительно
Debug log: Log payment events записывает события платежей в WooCommerce > Status > Logs, источник wcp_everypay_payment. Ошибки всегда записываются в журнал. API secret и данные карт никогда не записываются. По умолчанию: выключено.
Uninstall: Delete the gateway settings and logs when the plugin is deleted. По умолчанию: выключено.
Оформление заказа
Покупатель выбирает способ оплаты (по умолчанию EveryPay) и оформляет заказ. В тестовом режиме на странице оформления заказа показывается TEST MODE: EveryPay demo environment, no real money is charged. Плагин создаёт разовый платёж EveryPay на сумму заказа с e-mail и платёжными данными покупателя и перенаправляет покупателя на страницу оплаты EveryPay. Язык страницы соответствует языку сайта (английский, эстонский, русский, латышский, литовский, финский или немецкий; иначе английский). Там покупатель платит одним из способов, включённых для вашей учётной записи EveryPay.
После оплаты покупатель возвращается в магазин. Заказ отмечается оплаченным только после подтверждения EveryPay: плагин запрашивает у API EveryPay статус платежа при возврате покупателя и при callback. Оплаченный заказ, заказ на проверке или платёж, который ещё обрабатывается, ведут на страницу «Заказ получен».
Если платёж не прошёл, покупатель возвращается к оформлению заказа (или на страницу Pay for order) с сообщением Your EveryPay payment was not successful. Please try again or choose another payment method. Если покупатель ушёл со страницы оплаты, не оплатив, выводится сообщение The EveryPay payment was not completed. You can try again or choose another payment method. Каждая новая попытка создаёт новый платёж EveryPay; предыдущие попытки учитываются, поэтому платёж, сделанный по более старой ссылке, всё равно распознаётся.
Если EveryPay не может начать платёж, покупатель видит короткое сообщение, например EveryPay is temporarily unavailable. Please try again in a moment or choose another payment method. Подробности записываются в журнал.
Способ оплаты работает в классическом оформлении заказа, в блоке «Оформление заказа» и на странице Pay for order. Он совместим с WooCommerce High-Performance Order Storage (HPOS). Тексты для покупателя переведены на эстонский язык.
Плагин принимает только разовые платежи. В нём нет возвратов и списания авторизованных средств из WooCommerce, сохранённых карт или платежей в один клик, подписок или регулярных платежей, встроенных полей карты и поддержки нескольких валют.
Заказы
Статусы заказа
Pending payment: покупатель был перенаправлен в EveryPay и ещё не оплатил, или платёж всё ещё обрабатывается.
Processing: EveryPay сообщил, что платёж проведён или авторизован (заказы, содержащие только виртуальные загружаемые товары, переходят в статус «Выполнен», как принято в WooCommerce по умолчанию). В примечании к заказу указаны сумма, валюта и идентификатор платежа. ID транзакции заказа — это идентификатор платежа EveryPay. Для авторизованного платежа примечание сообщает, что средства зарезервированы: если ваш аккаунт не списывает средства автоматически, спишите их в EveryPay Merchant Portal. Когда платёж позже будет проведён, появится одно примечание об этом.
On hold after payment: платёж требует ручной проверки. Оплаченные сумма или валюта отличаются от заказа, заказ был отменён до поступления платежа, или заказ теперь использует другой способ оплаты. Примечание объясняет это и сообщает, что заказ не был отмечен оплаченным. Проверьте платёж в Merchant Portal и вручную завершите или возвратите его. Последующие callback по этому платежу не завершают заказ автоматически.
Failed: последняя попытка оплаты неоплаченного заказа не удалась, была прервана или аннулирована. Примечание показывает причину от EveryPay. Покупатель может повторить попытку.
Если для уже оплаченного заказа проходит вторая оплата, заказ не меняется. Примечание просит вас вернуть дублирующий платёж в EveryPay Merchant Portal.
Check EveryPay payment status
На экране заказа выберите действие заказа Check EveryPay payment status. Плагин проверяет через API каждый платёж EveryPay по заказу, применяет результат, как описано выше, и добавляет примечание со статусом каждого платежа. Используйте его для заказов, по которым callback так и не пришёл.
Возвраты
Возвраты из WooCommerce не поддерживаются. Выполните возврат в EveryPay Merchant Portal, затем измените статус заказа в WooCommerce. Когда EveryPay сообщает, что платёж возвращён или оспорен (чарджбэк), плагин только добавляет примечание к заказу; статус заказа не меняется.
Лицензионный ключ
Плагин работает с лицензионным ключом VibeFox с vibefox.net. Блок лицензии находится вверху страницы WooCommerce > Settings > Payments > EveryPay. Вставьте ключ в License key и нажмите Activate. В блоке показан статус, например дата, до которой лицензия активна, и ваш домен. Используйте Check now, чтобы проверить статус снова, Change key, чтобы ввести другой ключ, и Remove key, чтобы удалить его с этого сайта. Ссылка Manage licenses and domains in your account открывает ваш аккаунт vibefox.net.
Один ключ работает на одном домене. Удаление ключа с сайта не освобождает слот домена. Освободите слот в вашем аккаунте vibefox.net.
Без активного ключа EveryPay не показывается покупателям при оформлении заказа. Если платёж всё же начат, покупатель видит This payment method is not available. Please choose another one. Менеджеры магазина, вошедшие в систему, по-прежнему видят способ оплаты, отмеченный как (unlicensed — visible to admins only), чтобы вы могли настроить и протестировать плагин до покупки ключа. Напоминание появляется на странице «Плагины» и на страницах WooCommerce. Существующие заказы не затрагиваются: уже начатые платежи по-прежнему подтверждаются, и проверка статуса работает.
Когда срок лицензии истекает, плагин продолжает работать, но для обновлений и поддержки нужно продление. Статус автоматически проверяется снова в фоновом режиме.
Устранение неполадок
EveryPay не появляется при оформлении заказа: проверьте, что лицензия активна, включён Enable/Disable, заданы имя пользователя API, API secret и Processing Account Name текущего режима, а валюта магазина (на странице Pay for order — валюта заказа) совпадает с валютой процессингового аккаунта. В этих случаях на странице настроек показывается предупреждение.
Платёж прошёл, но заказ остаётся в статусе Pending payment: callback не работает. Проверьте, что URL callback из настроек указан как Callback notification URL в Merchant Portal того режима, который вы используете (демо или рабочий). Также можно открыть заказ и запустить Check EveryPay payment status. Включите Debug log и посмотрите в WooCommerce > Status > Logs, источник wcp_everypay_payment.
Callback отвечает Unknown payment reference или Payment does not belong to this order: платёж создан не этим заказом, или ответ EveryPay ему не соответствует. Заказ не меняется.
Callback отвечает Not configured: не заданы учётные данные среды, в которой создан платёж, например тестовый платёж после удаления тестовых учётных данных. Введите их снова; EveryPay повторит callback.
Callback отвечает Payment status unavailable или Busy, please retry: API EveryPay недоступен или заказ в этот момент обновлялся другим запросом. EveryPay повторит callback.
Покупатель видит EveryPay is temporarily unavailable: EveryPay отклонил учётные данные или был недоступен. Проверьте имя пользователя API и API secret текущего режима.
Покупатель видит This payment method does not support the order currency: валюта заказа отличается от валюты процессингового аккаунта.
Заказ в статусе On hold after payment: прочитайте примечание к заказу. Сумма или валюта отличались, либо заказ был отменён до поступления платежа. Проверьте платёж в Merchant Portal и вручную завершите или возвратите его.
Блок лицензии показывает ошибку: следуйте сообщению в блоке. Например, если ключ уже используется на другом домене, освободите слот в вашем аккаунте vibefox.net и нажмите Check now. Если адрес сайта изменился, нажмите Check now, чтобы активировать ключ для нового домена. Если сервер лицензий недоступен, плагин продолжает работать по последнему известному статусу.
Для разработчиков в документации плагина перечислены фильтры wc_evp_icon, wc_evp_locale, wc_evp_currency_decimals и wc_evp_oneoff_request.
Удаление
Деактивация плагина сохраняет все данные. Чтобы удалить его, деактивируйте и удалите плагин на странице Plugins. Лицензионный ключ и статус лицензии этого плагина удаляются всегда. Настройки шлюза и журналы удаляются, только если была включена опция Uninstall (Delete the gateway settings and logs when the plugin is deleted). Иначе они сохраняются для повторной установки позже. Идентификаторы платежей EveryPay, сохранённые в заказах, всегда остаются. Существующие заказы сохраняют свои примечания об оплате и ID транзакций.
EveryPay — товарный знак его владельца. Этот плагин не связан с EveryPay и не одобрен компанией EveryPay.
