VibeFox PayU India for WooCommerce — Допомога
Вимоги
WordPress: 5.8 або новіша.
WooCommerce: 6.0 або новіша, встановлений і активний. Плагін відмовляється активуватися без нього; якщо WooCommerce вимкнути пізніше, плагін нічого не робить і показує сповіщення в панелі керування.
PHP: 8.0 або новіша.
Store currency: індійська рупія (INR). PayU India стягує кошти лише в рупіях. Для інших валют спосіб оплати приховується під час оформлення замовлення.
Phone number: PayU вимагає номер телефону для кожного платежу. Зробіть поле номера телефону обов'язковим або принаймні видимим під час оформлення замовлення.
PayU India account: вам знадобляться Merchant Key і Merchant Salt (v1) з розділу PayU Dashboard > Payment Gateway > Key Salt Details. Перемкніть панель керування в Test Mode, щоб побачити тестову пару. Використовуйте Salt v1, а не Salt v2.
Internet access to your site: необхідний для додаткового вебхука. Без нього замовлення підтверджуються, коли покупець повертається з PayU.
VibeFox license key: придбаний на vibefox.net. Один ключ діє на одному домені.
Встановлення
1. У WordPress перейдіть до Plugins > Add New > Upload Plugin, виберіть ZIP-файл плагіна та натисніть Install Now. Також можна завантажити папку wcp_payu_india_payment до /wp-content/plugins/ через FTP.
2. Натисніть Activate.
3. Відкрийте налаштування: WooCommerce > Settings > Payments > PayU India > Manage або натисніть Settings під назвою плагіна на сторінці Plugins.
4. Введіть ваш ліцензійний ключ VibeFox у блок ліцензії вгорі сторінки та натисніть Activate.
5. Введіть тестові Merchant Key і Salt, а також робочі Merchant Key і Salt (див. розділ «Налаштування»).
6. Рекомендовано: у розділі PayU Dashboard > Webhooks додайте URL вебхука, зазначений на сторінці налаштувань, для успішних і невдалих платежів.
7. Виберіть Mode та увімкніть Enable/Disable. Протестуйте платіж у режимі Test, а потім перемкніться на Live.
Налаштування
Усі налаштування знаходяться на одній сторінці: WooCommerce > Settings > Payments > PayU India. Над полями сторінка попереджає, якщо відсутній ключ або salt поточного режиму, показує Test mode is active: payments go to test.payu.in and no real money is charged. у режимі Test і попереджає, якщо валютою магазину є не INR (у такому разі шлюз приховується під час оформлення замовлення).
Під час збереження з ключів і salt видаляються пробіли та переноси рядків, оскільки випадково вставлений пробіл призвів би до збою перевірки кожної відповіді PayU.
Загальні
Enable/Disable: Enable PayU India Payment Gateway вмикає або вимикає спосіб оплати. За замовчуванням: вимкнено.
Title: назва способу оплати, яку покупець бачить під час оформлення замовлення. За замовчуванням: PayU India.
Description: опис способу оплати, який покупець бачить під час оформлення замовлення. За замовчуванням: Pay securely via Credit/Debit Card, NetBanking, UPI, or Wallets through PayU.
Облікові дані API
Скопіюйте Merchant Key і Merchant Salt (v1) із розділу PayU Dashboard > Payment Gateway > Key Salt Details. Перемкніть панель керування в Test Mode для отримання тестової пари.
Mode: яке середовище PayU використовуватиметься для нових платежів.
Повернення коштів завжди надсилаються в той режим, у якому було здійснено платіж.
Live Merchant Key: ваш робочий Merchant Key PayU.
Live Merchant Salt (v1): ваш робочий Merchant Salt (v1) PayU. Він підписує запити та перевіряє відповіді PayU. Зберігайте його в таємниці.
Test Merchant Key: ваш тестовий Merchant Key PayU, використовується тільки в режимі Test.
Test Merchant Salt (v1): ваш тестовий Merchant Salt (v1) PayU, використовується тільки в режимі Test.
URL повернення та вебхука
Return URL: має вигляд https://your-site/wc-api/payu_p_callback/. Він автоматично передається до PayU з кожним платежем; нічого налаштовувати не потрібно.
Webhook URL: має вигляд https://your-site/wc-api/payu_p_webhook/. Необов'язковий, але рекомендований: підтверджує платежі навіть тоді, коли покупець закриває браузер до повернення в магазин. Додайте його в PayU Dashboard > Webhooks для успішних і невдалих платежів. Скопіюйте URL точно так, як показано на сторінці налаштувань.
Додатково
Verify Payment: Double-check every successful payment with the PayU verify_payment API. Рекомендовано. Якщо перевірку не вдається завершити, замовлення переводиться у статус «На утриманні» замість позначення оплаченим. За замовчуванням: увімкнено.
Enable Logging: Log gateway events for troubleshooting. Записується у WooCommerce > Status > Logs, джерело wcp_payu_india_payment. Помилки та попередження записуються завжди; цей параметр додає решту подій. Ключі, salt і персональні дані клієнтів ніколи не записуються в журнал. За замовчуванням: вимкнено.
Delete data on uninstall: Delete the plugin settings and logs when the plugin is deleted (orders are never deleted). За замовчуванням: вимкнено.
Оформлення замовлення
Покупець обирає спосіб оплати (за замовчуванням PayU India) і розміщує замовлення. Якщо в замовленні немає платіжного номера телефону (або номера телефону для доставки), покупець бачить PayU India requires a phone number. Please enter your phone number and try again. В іншому разі покупець потрапляє на коротку сторінку Thank you for your order. You will be redirected to PayU to complete your payment., яка надсилає підписаний запит на оплату на розміщену платіжну сторінку PayU. Там покупець сплачує карткою, через NetBanking, UPI або електронний гаманець.
Кожна платіжна сторінка отримує власний ідентифікатор транзакції PayU, збережений у замовленні разом із сумою та режимом. Платіж, здійснений на раніше відкритій платіжній сторінці того самого замовлення, все одно приймається. Оплачене, утримуване або скасоване замовлення ніколи не отримує нової платіжної форми, тому кнопка «Назад» у браузері не може спричинити повторний платіж.
PayU передає результат разом із поверненням покупця та, якщо налаштовано, через вебхук. Результат приймається лише з дійсним хешем PayU, створеним із ключем і salt того режиму, в якому було розпочато платіж, і лише для ідентифікатора транзакції, виданого для цього замовлення. Якщо ввімкнено Verify Payment, успішний результат також перевіряється через API verify_payment від PayU. Сплачена сума повинна з точністю до пайси дорівнювати сумі замовлення в INR. Замовлення позначається оплаченим лише після того, як PayU підтвердить його в такий спосіб. Плагін обробляє такі результати PayU:
Після успішного або очікуваного платежу покупець бачить сторінку підтвердження замовлення вашого магазину. Після невдалого платежу покупець повертається до оформлення замовлення з повідомленням: Payment was not completed. Please try again or choose a different payment method., Payment was cancelled. You may try again. або, коли результат не вдалося перевірити, We could not confirm the payment result. If your account was charged, please contact us before paying again. Ці повідомлення працюють під час класичного оформлення замовлення та в блоці оформлення замовлення.
Спосіб оплати працює під час класичного оформлення замовлення, у блоці оформлення замовлення та на сторінці Pay for order. Він сумісний із високопродуктивним сховищем замовлень WooCommerce (HPOS).
Плагін стягує кошти виключно в INR і не підтримує мультивалютну обробку (MCP). У ньому немає збереження карток і токенізації, немає WooCommerce Subscriptions, немає форми картки на сайті (seamless), немає керування EMI чи пропозиціями та немає швидкої оплати в один клік від PayU.
Замовлення та повернення коштів
Статуси замовлення
Pending payment: покупця було спрямовано до PayU, і він ще не сплатив.
Processing: платіж підтверджено. Примітка до замовлення показує ідентифікатор транзакції PayU (mihpayid), режим оплати та код банку. Ідентифікатор транзакції замовлення — це PayU mihpayid. Замовлення, що містять лише віртуальні товари для завантаження, набувають статусу «Виконано», як це робить WooCommerce за замовчуванням.
On hold: платіж усе ще очікує обробки в PayU (UPI або NetBanking), сплачена сума чи валюта відрізняються від замовлення, API verify_payment був недоступний або ще не підтвердив платіж, або надійшов платіж за скасоване замовлення. У примітці до замовлення зазначено причину. Перевірте транзакцію в PayU Dashboard та підтвердіть або поверніть її. Якщо перевірка завершилася помилкою, замовлення автоматично підтвердиться під час наступного надходження результату.
Failed: платіж було відхилено або скасовано. Покупець може спробувати оплатити знову.
Якщо PayU повідомляє про ще один успішний платіж за вже оплаченим замовленням, примітка пропонує повернути дублікат у PayU Dashboard.
Повернення коштів
Відкрийте замовлення, натисніть Refund, введіть суму та натисніть Refund via PayU India (кнопка відображає ваш Title). Підтримуються повні та часткові повернення коштів; сума має бути більшою за нуль. Повернення надсилається через API повернення PayU з ключем і salt того режиму, в якому було здійснено платіж, тому ці облікові дані мають бути налаштовані. Якщо PayU відхиляє повернення, WooCommerce відображає повідомлення PayU, і повернення не фіксується.
PayU ставить повернення в чергу та виконує їх асинхронно; покупець зазвичай отримує кошти протягом 5–7 робочих днів. У примітці до замовлення показано суму, ідентифікатор запиту PayU та причину. Плагін не перевіряє статус повернення пізніше.
Ліцензійний ключ
Плагін працює з ліцензійним ключем VibeFox із vibefox.net. Блок ліцензії знаходиться вгорі сторінки WooCommerce > Settings > Payments > PayU India. Вставте ключ у License key і натисніть Activate. Блок показує статус, наприклад дату закінчення дії ліцензії та ваш домен. Використовуйте Check now, щоб перевірити статус знову, Change key, щоб ввести інший ключ, і Remove key, щоб видалити його з цього сайту. Посилання Manage licenses and domains in your account відкриває ваш обліковий запис vibefox.net.
Один ключ діє на одному домені. Видалення ключа із сайту не звільняє слот домену. Звільніть слот у вашому обліковому записі на vibefox.net.
Без активного ключа PayU India не показується покупцям під час оформлення замовлення. Якщо оплату все ж розпочато, покупець бачить This payment method is not available. Please choose another one. Авторизовані менеджери магазину продовжують бачити спосіб оплати з позначкою (unlicensed — visible to admins only), щоб ви могли налаштувати та протестувати плагін перед придбанням ключа. Нагадування з'являється на сторінці Plugins і на сторінках WooCommerce. Наявні замовлення не зачіпаються: вже розпочаті платежі підтверджуються, а повернення коштів працюють.
Коли термін дії ліцензії закінчується, плагін продовжує працювати, але оновлення та підтримка потребують продовження. Статус автоматично перевіряється знову у фоновому режимі.
Усунення несправностей
PayU India does not appear at checkout: перевірте, що ліцензія активна, Enable/Disable увімкнено, а ключ і salt для вибраного Mode заповнені. Перевірте, що валютою магазину (або валютою замовлення на сторінці «Pay for order») є INR. Сторінка налаштувань показує попередження для кожної з цих проблем.
The payment went through, but the order stays Pending payment: покупець не повернувся до магазину, і вебхук не надійшов. Додайте URL вебхука з налаштувань у розділі PayU Dashboard > Webhooks для успішних і невдалих платежів та переконайтеся, що він доступний з Інтернету.
Webhook answers invalid_signature: хеш PayU не збігся. Перевірте правильність ключа та salt для режиму платежу, а також те, що використовується Salt v1, а не Salt v2. Замовлення при цьому не змінюється.
Webhook answers not_configured: відсутній ключ або salt для режиму, в якому було розпочато платіж. Вкажіть їх; PayU повторить надсилання вебхука.
Webhook answers verify_unavailable: API verify_payment ще не зміг підтвердити платіж. Замовлення перебуває на утриманні, а наступна доставка виконає перевірку знову.
The customer sees PayU India requires a phone number: зробіть поле номера телефону обов'язковим або видимим під час оформлення замовлення. Використовується платіжний номер телефону або номер телефону для доставки, якщо заповнено тільки його.
The order is On hold: перегляньте примітку до замовлення. Причиною може бути очікування платежу UPI чи NetBanking, розбіжність суми або валюти, невдала чи очікувана перевірка або надходження платежу за скасованим замовленням.
Refund fails: повідомлення PayU transaction ID not found for this order. означає, що замовлення не містить платежу через PayU. Повідомлення про те, що Merchant Key/Salt для режиму платежу не налаштовані, означає, що спершу потрібно ввести облікові дані для цього режиму.
Too little in the log: помилки та попередження записуються завжди; увімкніть Enable Logging, щоб бачити також кожен запит і результат PayU.
Developer hooks: фільтр payu_p_request_fields змінює поля платіжного запиту до їх підписання; фільтр payu_p_icon змінює значок під час оформлення замовлення.
The license block shows an error: дотримуйтеся повідомлення в блоці. Наприклад, якщо ключ уже використовується на іншому домені, звільніть слот в обліковому записі vibefox.net і натисніть Check now. Якщо адреса сайту змінилася, натисніть Check now, щоб активувати ключ для нового домену. Якщо сервер ліцензій недоступний, плагін продовжує працювати за останнім відомим статусом.
Видалення
Деактивація плагіна зберігає всі дані. Щоб повністю видалити його, деактивуйте та видаліть його на сторінці Plugins. Ліцензійний ключ і статус ліцензії цього плагіна видаляються завжди. Налаштування шлюзу та журнали цього плагіна (файли журналів і рядки журналу в базі даних WooCommerce) видаляються лише в разі, якщо було ввімкнено Delete data on uninstall. В іншому разі вони зберігаються для повторного встановлення в майбутньому. Наявні замовлення зберігають платіжні примітки, ідентифікатори транзакцій PayU та ідентифікатори запитів на повернення коштів.
PayU є товарним знаком відповідного власника. Цей плагін не пов'язаний із компанією PayU і не схвалений нею.
