VibeFox Paystack for WooCommerce — Помощь
Требования
WordPress: 5.8 или новее.
WooCommerce: 7.0 или новее, установлен и активен. Без него плагин не активируется.
PHP: 8.0 или новее.
Валюта: заказ должен быть в валюте, которую принимает Paystack: NGN, USD, GHS, ZAR, KES, XOF, EGP или RWF, как включено в вашем аккаунте Paystack. В других валютах способ оплаты скрывается. В XOF и RWF Paystack принимает только целые суммы.
Аккаунт Paystack: нужны секретные ключи вашего аккаунта Paystack: тестовый секретный ключ (sk_test_...) и/или боевой секретный ключ (sk_live_...). Публичные ключи (pk_...) не нужны, потому что оплата проходит на защищённой странице Paystack. В панели Paystack также задаётся URL webhook вашего магазина (см. раздел «Настройка»). Ваш сайт должен быть доступен из интернета, чтобы получать webhook-уведомления.
Лицензионный ключ VibeFox: приобретается на vibefox.net. Один ключ работает на одном домене.
Установка
1. В WordPress откройте Plugins > Add New > Upload Plugin, выберите ZIP-архив плагина и нажмите Install Now. Также можно загрузить папку wcp_paystack_payment в /wp-content/plugins/ по FTP.
2. Нажмите Activate.
3. Откройте настройки: WooCommerce > Settings > Payments > Paystack > Manage или нажмите Settings под названием плагина на странице «Плагины».
4. Введите лицензионный ключ VibeFox в блоке лицензии вверху страницы и нажмите Activate.
5. Вставьте секретные ключи из панели Paystack и задайте URL webhook в панели Paystack (см. раздел «Настройка»).
6. Включите Enable/Disable и сохраните. Оставьте Test Mode включённым, пока не выполните тестовый платёж, затем снимите отметку, чтобы принимать реальные платежи.
Настройка
Все настройки находятся на одной странице: WooCommerce > Settings > Payments > Paystack. Над полями блок статуса показывает режим: Тестовый режим: реальные деньги не списываются. или Боевой режим: принимаются реальные платежи. Он также предупреждает, когда для текущего режима не задан секретный ключ, когда публичный ключ (pk_...) введён в поле секретного ключа, когда в боевом режиме указан тестовый ключ (sk_test_...) или в тестовом режиме боевой ключ (sk_live_...), а также когда Paystack не принимает валюту вашего магазина. Пока существует проблема с ключом, способ оплаты скрыт на оформлении заказа. В списке способов оплаты Paystack помечается как требующий настройки, пока для текущего режима не задан секретный ключ.
Оформление заказа
Enable/Disable: Enable Paystack Payment включает или выключает способ оплаты. По умолчанию: выключено.
Title: название способа оплаты, которое видит покупатель на оформлении заказа. По умолчанию: Paystack.
Description: текст под способом оплаты на оформлении заказа. По умолчанию: Pay securely using your debit card, credit card, or bank account via Paystack.
API-ключи
Скопируйте секретные ключи в панели Paystack на странице Settings > API Keys & Webhooks. В разделе есть ссылка на неё.
Test Mode: Enable Test Mode использует тестовый секретный ключ для новых платежей, и реальные деньги не списываются. Снимите отметку, чтобы принимать реальные платежи боевым секретным ключом. Платежи, проведённые в другом режиме, для проверки и возвратов по-прежнему используют ключ своего режима. По умолчанию: включено.
Test Secret Key: ваш тестовый секретный ключ Paystack. Начинается с sk_test_.
Live Secret Key: ваш боевой секретный ключ Paystack. Начинается с sk_live_.
Webhook
Webhook сообщает вашему магазину, что платёж выполнен, даже если покупатель не вернулся в магазин. В панели Paystack, на странице Settings > API Keys & Webhooks, укажите URL из этого раздела как в поле Test Webhook URL, так и в поле Live Webhook URL. Он выглядит так: https://your-site/wc-api/paystack_p_webhook/. Скопируйте URL точно так, как он показан в настройках.
Paystack подписывает каждое webhook-уведомление вашим секретным ключом, поэтому больше ничего настраивать не нужно. Тестовые webhook-уведомления проверяются тестовым секретным ключом, боевые — боевым секретным ключом. Webhook-уведомления без действительной подписи отклоняются. Плагин использует событие charge.success:
На другие события отвечается OK и они игнорируются. Без webhook заказ подтверждается, только когда покупатель возвращается в магазин после оплаты. Банковские переводы и платежи USSD, которые завершаются позже, подтверждаются только webhook-уведомлением.
Заказы
Autocomplete Order: Automatically mark orders as completed after successful payment. Если отмечено, оплаченные заказы переходят в статус «Выполнен» вместо «В обработке», с одним изменением статуса и одним письмом покупателю. По умолчанию: выключено.
Дополнительно
Debug log: Log Paystack events and API calls for debugging записывает подробности в WooCommerce > Status > Logs, источник wcp_paystack_payment. Ошибки записываются всегда. Ключи и данные покупателей никогда не записываются в журнал. По умолчанию: выключено.
Delete data on uninstall: Remove the gateway settings and logs when the plugin is deleted. Деактивация плагина ничего не удаляет. Платёжные данные, сохранённые в заказах, всегда сохраняются. По умолчанию: выключено.
Оформление заказа
Покупатель выбирает способ оплаты (по умолчанию Paystack) и оформляет заказ. В тестовом режиме на оформлении заказа отображается ТЕСТОВЫЙ РЕЖИМ ВКЛЮЧЁН. Реальные списания не производятся. Плагин создаёт транзакцию Paystack на сумму заказа в валюте заказа с адресом электронной почты для счёта и отправляет покупателя на защищённую платёжную страницу Paystack. Там покупатель оплачивает одним из каналов, включённых в вашем аккаунте Paystack.
После оплаты покупатель возвращается в ваш магазин. Заказ помечается как оплаченный только после подтверждения Paystack: при возврате покупателя и при поступлении webhook плагин получает транзакцию через API Paystack с секретным ключом режима, в котором был начат платёж, и проверяет референс, статус, сумму и валюту. Если платёж ещё обрабатывается, например банковский перевод, на странице «Заказ получен» отображается Ваш платёж подтверждается Paystack. Вы получите письмо, как только платёж будет подтверждён. Webhook завершит заказ позже.
Если покупатель отменяет оплату на странице Paystack или уходит с неё без оплаты, заказ продолжает ожидать оплаты. Покупатель возвращается на оформление заказа или на страницу Pay for order с сообщением, например Оплата отменена. Вы можете повторить попытку или выбрать другой способ оплаты., Оплата не завершена. Вы можете повторить попытку или выбрать другой способ оплаты. или Ваш платёж отклонён. Вы можете повторить попытку или выбрать другой способ оплаты. Покупатель может снова оплатить тот же заказ. Более ранняя страница оплаты заказа остаётся действительной: если платёж по ней пройдёт позже, он будет принят.
Страница «Заказ получен» открывается только для покупателя этого заказа: по подписанной ссылке возврата, в сессии оформления, которая создала заказ, или в аккаунте покупателя. Другим пользователям показывается нейтральное сообщение на оформлении заказа, а страница заказа не отображается.
Если Paystack не может начать платёж, покупатель видит короткое сообщение, например Paystack не смог начать платёж: с причиной от Paystack, или Paystack временно недоступен. Повторите попытку через некоторое время или выберите другой способ оплаты. Сумма заказа должна быть больше нуля, а у заказа должен быть корректный адрес электронной почты.
Способ оплаты работает в классическом оформлении заказа, в блоке «Оформление заказа» и на странице Pay for order. Он совместим с WooCommerce High-Performance Order Storage (HPOS).
Плагин не имеет встроенной или всплывающей платёжной формы, сохранённых карт, подписок, разделённых платежей или субаккаунтов и не предлагает выбор платёжных каналов в WooCommerce.
Заказы и возвраты
Статусы заказа
Pending payment: покупатель перенаправлен в Paystack, но ещё не оплатил, ушёл со страницы Paystack без оплаты, либо платёж ещё обрабатывается Paystack. Когда покупатель возвращается без оплаты, примечание сообщает, что заказ всё ещё ожидает оплаты.
Processing or Completed: платёж подтверждён. Статус «Выполнен», если включена опция Autocomplete Order. В примечании к заказу указаны сумма, референс Paystack, номер транзакции, режим (тестовый или боевой), платёжный канал, тип карты и последние цифры при оплате картой, а также комиссии Paystack, которые оплатил покупатель. Идентификатор транзакции заказа — это референс Paystack (order_...).
On hold: оплаченные сумма или валюта не совпадают с заказом (примечание Paystack amount or currency mismatch), либо платёж поступил после отмены заказа. В примечании к заказу объясняется, что нужно проверить. Выполните заказ или верните платёж.
Failed: Paystack сообщает, что последняя попытка оплаты ожидающего заказа не удалась или была отменена. Неудача более ранней попытки не меняет заказ. Покупатель может оплатить снова.
Если вторая попытка оплаты уже оплаченного заказа тоже проходит, заказ не меняется. Примечание предлагает вернуть дублирующий платёж в панели Paystack. Платёж, поступивший по заказу в другом статусе, например Refunded, только отмечается в заказе.
Возвраты
Откройте заказ, нажмите Refund, введите сумму и нажмите Refund via Paystack. Поддерживаются полные и частичные возвраты. Кнопка возврата доступна только для заказов, оплаченных через проверенную транзакцию Paystack. Возврат направляется на транзакцию, которой был оплачен заказ, с секретным ключом режима (тестового или боевого), в котором она проходила, поэтому этот ключ должен быть задан. В XOF и RWF возвраты должны быть целыми суммами. Paystack ставит возвраты в очередь: в примечании к заказу отображается статус, который вернул Paystack, например pending, и идентификатор возврата. Если Paystack не принимает возврат, WooCommerce показывает Paystack refund failed: с причиной, и возврат не регистрируется.
Возвраты, оформленные в панели Paystack, а также окончательный статус возвратов, поставленных Paystack в очередь, не синхронизируются с WooCommerce. При необходимости зарегистрируйте их вручную.
Лицензионный ключ
Плагин работает с лицензионным ключом VibeFox с сайта vibefox.net. Блок лицензии находится вверху страницы WooCommerce > Settings > Payments > Paystack. Вставьте ключ в поле License key и нажмите Activate. В блоке отображается статус, например дата окончания действия лицензии и ваш домен. Кнопкой Check now можно повторно проверить статус, Change key позволяет ввести другой ключ, а Remove key удаляет его с этого сайта. Ссылка Manage licenses and domains in your account открывает ваш личный кабинет на vibefox.net.
Один ключ работает на одном домене. Удаление ключа с сайта не освобождает место под домен. Освободите его в личном кабинете vibefox.net.
Без действующего ключа Paystack не отображается покупателям на оформлении заказа. Если платёж всё же начат, покупатель видит сообщение This payment method is not available. Please choose another one. Авторизованные администраторы магазина по-прежнему видят способ оплаты с пометкой (unlicensed — visible to admins only), чтобы вы могли настроить и проверить плагин до покупки ключа. Напоминание появляется на странице «Плагины» и на страницах WooCommerce. Существующие заказы не затрагиваются: уже начатые платежи по-прежнему подтверждаются, а возвраты работают.
Когда срок лицензии истекает, плагин продолжает работать, но для обновлений и поддержки нужно продление. Статус автоматически проверяется в фоновом режиме.
Устранение неполадок
Paystack не появляется на оформлении заказа: проверьте, что лицензия активна, что Enable/Disable включён, что для текущего режима задан правильный секретный ключ (Test Secret Key с sk_test_... в тестовом режиме, Live Secret Key с sk_live_... в боевом режиме) и что валюта заказа поддерживается Paystack. Блок статуса вверху настроек указывает на проблему.
Платёж прошёл, но заказ остаётся в статусе Pending payment: webhook не дошёл до магазина, а покупатель не вернулся. В панели Paystack проверьте, что Test Webhook URL и Live Webhook URL совпадают с URL из настроек, и что никакой режим обслуживания, файрвол или защита паролем его не блокирует. Посмотрите WooCommerce > Status > Logs, источник wcp_paystack_payment, на наличие отклонённых webhook-уведомлений.
Webhook отвечает Invalid signature: webhook подписан не тем тестовым или боевым секретным ключом, который введён в настройках, например потому, что ключи принадлежат другому аккаунту Paystack. Введите ключи того аккаунта, который отправляет webhook.
Webhook отвечает Secret key not configured: ни один секретный ключ не задан. Введите секретные ключи в настройках.
Webhook отвечает Verification failed или Busy, retry later: в этот момент транзакцию не удалось получить через API Paystack, либо заказ в это же время обновлялся при возврате покупателя. Заказ не меняется, а Paystack отправит webhook повторно.
Webhook отвечает OK - unknown reference: платёж был сделан не по заказу этого магазина, например на странице оплаты Paystack или в другой интеграции в том же аккаунте. Он игнорируется.
Покупатель видит Payment gateway is not properly configured: секретный ключ текущего режима отсутствует или неверен. Исправьте его, следуя блоку статуса вверху настроек.
Заказ в статусе On hold после оплаты: прочитайте примечание к заказу. Оплаченные сумма или валюта отличались от заказа, либо платёж поступил после отмены заказа. Обработайте заказ или верните платёж.
Возврат не выполняется с сообщением о режиме: платёж был проведён в тестовом или боевом режиме, а секретный ключ этого режима не задан. Введите его и повторите попытку. Сообщение No verified Paystack payment was found for this order означает, что заказ не был оплачен через проверенную транзакцию Paystack. Оформите возврат в панели Paystack.
Блок лицензии показывает ошибку: следуйте сообщению в блоке. Например, если ключ уже используется на другом домене, освободите место в личном кабинете vibefox.net и нажмите Check now. Если адрес сайта изменился, нажмите Check now, чтобы активировать ключ для нового домена. Если сервер лицензий недоступен, плагин продолжает работать по последнему известному статусу.
Удаление
Деактивация плагина сохраняет все данные. Чтобы удалить его, деактивируйте и удалите плагин на странице Plugins. Лицензионный ключ и статус лицензии этого плагина удаляются всегда. Настройки платёжного шлюза и журналы удаляются, только если была включена опция Delete data on uninstall. Иначе они сохраняются для повторной установки. Существующие заказы сохраняют примечания об оплате, идентификаторы транзакций и референсы Paystack.
Paystack является товарным знаком своего правообладателя. Этот плагин не связан с Paystack и не одобрен компанией Paystack.
