Назад

VibeFox IntaSend for WooCommerce — Помощь

Требования

WordPress: 6.2 или новее.

WooCommerce: 8.0 или новее, установлен и активен. Без него плагин не активируется.

PHP: 8.0 или новее.

HTTPS: IntaSend требует HTTPS для платежей и вебхуков в рабочем режиме. Страница настроек предупреждает, если рабочий режим включён, а адрес магазина не использует HTTPS.

Учётная запись IntaSend: нужны публичный ключ (ISPubKey_...) и секретный ключ (ISSecretKey_...) вашей учётной записи IntaSend, для sandbox, для рабочего режима или для обоих, а также вебхук с кодовой фразой в панели IntaSend (см. Настройка). Публичный ключ создаёт оформление заказа. Секретный ключ используется только на вашем сервере, чтобы запросить у IntaSend статус платежа.

Валюта магазина: KES, USD, EUR, GBP, UGX, TZS, NGN, GHS, XAF или XOF. Для других валют способ оплаты скрывается.

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

Установка

1. В WordPress откройте Plugins > Add New > Upload Plugin, выберите ZIP-файл плагина и нажмите Install Now. Также можно загрузить папку wcp_intasend_pay в /wp-content/plugins/ по FTP.

2. Нажмите Activate.

3. Откройте настройки: WooCommerce > Settings > Payments > IntaSend > Manage или нажмите Settings под названием плагина на странице Plugins.

4. Введите лицензионный ключ VibeFox в блоке лицензии вверху страницы и нажмите Activate.

5. Вставьте ключи IntaSend для sandbox и/или рабочего режима, добавьте вебхук в панели IntaSend и введите ту же кодовую фразу в плагине (см. Настройка).

6. Включите Enable/Disable. Проверьте платёж при включённом Test mode, затем снимите отметку с Test mode, чтобы принимать настоящие платежи.

Настройка

Все настройки находятся на одной странице: WooCommerce > Settings > Payments > IntaSend. Над полями выводится блок статуса с сообщением Test mode: IntaSend sandbox, no real money is charged. или Live mode: real payments are accepted. Он также предупреждает, если ключи текущего режима отсутствуют или неверны (способ оплаты тогда скрыт при оформлении заказа), если валюта магазина не поддерживается, если не задана кодовая фраза вебхука и если рабочий режим используется без HTTPS. В списке способов оплаты IntaSend помечен как требующий настройки, пока ключи текущего режима не верны. Вставленные ключи при сохранении очищаются от лишних пробелов.

Общие

Enable/Disable: Enable IntaSend включает или выключает способ оплаты. По умолчанию: выключено.

Title: название способа оплаты, которое видят покупатели при оформлении заказа. По умолчанию: IntaSend (M-Pesa, card).

Description: текст под способом оплаты при оформлении заказа. По умолчанию: You will be redirected to IntaSend to pay securely with M-Pesa, card or another available method.

Ключи API

Ключи берутся в панели IntaSend, в разделе Settings > API Keys, отдельно в панели sandbox и в панели рабочего режима. Тестовый режим использует ключи sandbox и API sandbox, рабочий режим — рабочие ключи и рабочий API. Плагин проверяет, что публичный ключ начинается с ISPubKey_, секретный — с ISSecretKey_, и что ключи относятся к текущему режиму: ключи sandbox содержат _test, рабочие — _live. Если это не так, способ оплаты скрывается, а блок статуса объясняет причину.

Test mode: Use the IntaSend sandbox (no real money is charged). По умолчанию: включено. Снимите отметку, чтобы принимать настоящие платежи рабочими ключами. Пока тестовый режим включён, при оформлении заказа под способом оплаты показывается TEST MODE - IntaSend sandbox, no real money is charged.

Sandbox publishable key: начинается с ISPubKey_test. Идентифицирует ваш бизнес при создании оформления заказа.

Sandbox secret key: начинается с ISSecretKey_test. Используется только на вашем сервере для подтверждения платежей через Payment Status API.

Live publishable key: начинается с ISPubKey_live.

Live secret key: начинается с ISSecretKey_live. Используется только на вашем сервере для подтверждения платежей.

Вебхук

Вебхук сообщает магазину, что платёж выполнен, даже если покупатель не возвращается в магазин (закрыл браузер, M-Pesa подтвердила позже). В панели IntaSend, для sandbox и для рабочего режима, откройте Webhooks и добавьте URL, который показан в этом разделе настроек. Он выглядит так: https://your-site/wc-api/intasend_pay/. Введите там кодовую фразу и ту же фразу в плагине. Для sandbox и рабочего режима используйте одну кодовую фразу.

Webhook challenge: та же кодовая фраза, что в панели IntaSend. Вебхуки с другой фразой отклоняются. Пока это поле пустое, вебхуки не обрабатываются, а платежи подтверждаются только при возврате покупателя в магазин. Такие вебхуки получают ответ Ignored, а не ошибку, поэтому IntaSend не отключает вебхук до того, как вы введёте фразу.

Плагин реагирует на эти статусы платежа, которые сообщает IntaSend. Каждый раз перед изменением заказа он запрашивает актуальный статус через Payment Status API:

COMPLETE: платёж выполнен. Заказ отмечается оплаченным после проверки суммы и валюты.
FAILED or CANCELED: платёж не прошёл. Заказ переходит в статус «Не удался», если он ещё ждёт эту попытку оплаты.
PARTIAL: счёт оплачен частично. Заказ переводится в статус «На удержании».
PENDING, PROCESSING or RETRY: платёж ещё выполняется. Заказ не меняется, пока не придёт окончательный статус.

Уведомления, которые не относятся к оплатам оформления заказа этого магазина, например к платёжным ссылкам или событиям отправки денег с той же учётной записи IntaSend, получают ответ OK и игнорируются, чтобы IntaSend не отключил вебхук.

Дополнительно

Debug log: Log checkout, return and webhook events в WooCommerce > Status > Logs, источник wcp_intasend_pay. Ошибки записываются всегда. Ключи API и данные покупателей никогда не записываются. По умолчанию: выключено.

Delete data on uninstall: Delete the gateway settings and logs when the plugin is deleted. Ссылки IntaSend, сохранённые в заказах, являются историей платежей и всегда сохраняются. Деактивация плагина ничего не удаляет. По умолчанию: выключено.

Оформление заказа

Покупатель выбирает способ оплаты (по умолчанию IntaSend (M-Pesa, card)) и оформляет заказ. Плагин создаёт оформление заказа IntaSend на сумму заказа в его валюте и отправляет покупателя на размещённую у IntaSend страницу оплаты. Там покупатель платит через M-Pesa, картой или другим способом, включённым в вашей учётной записи IntaSend. Адрес электронной почты, имя, адрес, телефон и страна для выставления счёта передаются в IntaSend, если соответствуют правилам его полей. Пустые или неподходящие поля не передаются.

После оплаты покупатель возвращается в ваш магазин. Заказ отмечается оплаченным только после подтверждения IntaSend: плагин запрашивает статус платежа через Payment Status API, когда покупатель возвращается и когда приходит вебхук. Если платёж ещё не подтверждён, страница полученного заказа показывает Your payment is being confirmed by IntaSend (M-Pesa confirmations can take a minute). You will receive an e-mail as soon as it is confirmed. Если заказ был переведён на удержание, показывается Your payment was received and your order is being reviewed. We will contact you if anything is needed.

Если платёж не прошёл или покупатель вернулся, не заплатив, он возвращается к оформлению заказа (или на страницу Pay for order) с сообщением The payment was not successful. Please try again or choose another payment method. (с причиной от IntaSend, если она указана) или The payment was not completed. Please try again or choose another payment method. Покупатель может оплатить заказ снова. Каждая попытка получает свой идентификатор IntaSend.

Если IntaSend не может начать платёж, покупатель видит IntaSend could not start the payment: с причиной от IntaSend или IntaSend is temporarily unavailable. Please try again in a moment or choose another payment method. Подробности записываются в журнал.

Способ оплаты работает на классическом оформлении заказа, в блоке «Оформление заказа» и на странице Pay for order. Совместим с WooCommerce High-Performance Order Storage (HPOS).

Плагин принимает только разовые платежи. Возвраты из WooCommerce в IntaSend не отправляются. В плагине нет сохранённых карт, подписок и встроенной формы оплаты (всплывающего окна). Более ранние ссылки на оплату того же заказа нельзя отменить в IntaSend.

Заказы

Статусы заказа

Pending payment: покупатель был направлен в IntaSend и ещё не оплатил, или IntaSend ещё не подтвердил платёж.

Processing or Completed: платёж подтверждён. WooCommerce присваивает обычный статус оплаченного заказа. Примечание к заказу показывает счёт IntaSend, способ оплаты в IntaSend, сумму, режим (sandbox или рабочий) и способ подтверждения (вебхук или возврат покупателя). ID транзакции — это ID счёта IntaSend.

On hold: IntaSend сообщил сумму или валюту, отличные от суммы заказа, частичный платёж или платёж, поступивший после отмены заказа. Примечание к заказу объясняет это. Проверьте платёж в панели IntaSend и выполните заказ или сделайте возврат платежа.

Failed: последняя попытка оплаты не удалась. В примечании указана причина от IntaSend. Покупатель может попробовать снова.

Если для уже оплаченного заказа поступает второй платёж, заказ больше не меняется. Примечание просит вернуть его в панели IntaSend, если это дубликат. Платёж по возвращённому заказу добавляет примечание и не переоткрывает заказ.

Возвраты

Возвраты из WooCommerce в IntaSend не отправляются. Выполните возврат платежа в панели IntaSend и вручную отметьте возврат в WooCommerce.

Лицензионный ключ

Плагин работает с лицензионным ключом VibeFox с vibefox.net. Блок лицензии находится вверху страницы WooCommerce > Settings > Payments > IntaSend. Вставьте ключ в поле License key и нажмите Activate. В блоке показывается статус, например дата, до которой лицензия действует, и ваш домен. Используйте Check now, чтобы проверить статус снова, Change key, чтобы ввести другой ключ, и Remove key, чтобы удалить его с этого сайта. Ссылка Manage licenses and domains in your account открывает вашу учётную запись vibefox.net.

Один ключ работает на одном домене. Удаление ключа с сайта не освобождает слот домена. Освободите его в учётной записи vibefox.net.

Без активного ключа IntaSend не показывается покупателям при оформлении заказа. Если платёж всё же запущен, покупатель видит This payment method is not available. Please choose another one. Администраторы магазина, вошедшие в систему, по-прежнему видят способ оплаты с пометкой (unlicensed — visible to admins only), чтобы вы могли настроить и проверить плагин до покупки ключа. Напоминание появляется на странице Plugins и на страницах WooCommerce. Существующие заказы не затрагиваются: уже начатые платежи по-прежнему подтверждаются.

Когда лицензия истекает, плагин продолжает работать, но для обновлений и поддержки нужно продление. Статус автоматически проверяется в фоновом режиме.

Устранение неполадок

IntaSend не появляется при оформлении заказа: проверьте, что лицензия активна, что Enable/Disable включено и что ключи текущего режима заполнены и относятся к нему: ключи sandbox (с _test) в тестовом режиме, рабочие ключи (с _live) в рабочем режиме. Валюта магазина должна поддерживаться. Блок статуса вверху страницы настроек показывает, что не так.

Платёж прошёл, но заказ остаётся в статусе Pending payment: подтверждения M-Pesa могут занять некоторое время. Вебхук подтверждает заказ, когда IntaSend сообщает окончательный статус. Проверьте, что URL вебхука в панели IntaSend (sandbox или рабочий режим, тот, который вы используете) точно совпадает с URL из настроек, а кодовая фраза там совпадает с Webhook challenge.

Вебхук отвечает Ignored: webhook challenge not configured: поле Webhook challenge пустое. Введите кодовую фразу из панели IntaSend.

Вебхук отвечает Invalid challenge: кодовые фразы в IntaSend и в плагине не совпадают.

Вебхук отвечает Verification unavailable, retry later или Busy, retry later: IntaSend в этот момент был недоступен или заказ подтверждал другой запрос. IntaSend повторит вебхук.

Вебхук отвечает Invoice not verified или Invoice does not match the reference: IntaSend не подтвердил, что этот счёт относится к заказу. Заказ не меняется.

Заказ On hold: прочитайте примечание к заказу. Оплаченные сумма или валюта отличались от заказа, платёж был частичным или поступил после отмены заказа. Проверьте платёж в панели IntaSend.

Покупатель видит ошибку при оформлении заказа: включите Debug log и посмотрите WooCommerce > Status > Logs, источник wcp_intasend_pay. Сумма заказа должна быть больше нуля. Если в журнале сказано, что URL возврата содержит символы, которые IntaSend не принимает, причина в адресе магазина или в параметре языка в нём.

Блок лицензии показывает ошибку: следуйте сообщению в блоке. Например, если ключ уже используется на другом домене, освободите слот в учётной записи vibefox.net и нажмите Check now. Если адрес сайта изменился, нажмите Check now, чтобы активировать ключ для нового домена. Если сервер лицензий недоступен, плагин продолжает работать по последнему известному статусу.

Удаление

Деактивация плагина сохраняет все данные. Чтобы удалить плагин, деактивируйте его и удалите на странице Plugins. Лицензионный ключ и статус лицензии этого плагина всегда удаляются. Настройки шлюза и журналы удаляются, только если была включена опция Delete data on uninstall. Иначе они сохраняются для повторной установки. Существующие заказы сохраняют примечания об оплате и ID транзакций.

IntaSend — товарный знак его правообладателя. Этот плагин не аффилирован с IntaSend и не одобрен компанией IntaSend.