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:
Повідомлення, які не стосуються оплат оформлення замовлень цього магазину, наприклад платіжних посилань або подій переказу грошей з того самого облікового запису 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. Деталі записуються в журнал.
Спосіб оплати працює в класичному оформленні замовлення, у блоці Checkout і на сторінці 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.
