CMS плагін NovaPay

CMS плагін NovaPay

Плагін NovaPay для Wordpress|WooCommerceце спеціалізований платіжний плагін для магазинів. Він виконує роль платіжного шлюзу, забезпечує еквайринг через NovaPay, підтримує холдування та синхронізацію статусів транзакцій між NovaPay і WooCommerce.

CMS (Content Management System) у контексті e-commerce – це система, на базі якої можна створити інтернет-магазин, керувати контентом, товарами, сторінками та налаштуваннями сайту через адмін-панель без програмування. Наприклад, WordPress у поєднанні з WooCommerce перетворюється на повноцінну e-commerce платформу.


Інструкція зі встановлення плагіна

Завантажити zip-архів з плагіном можна за посиланням – https://github.com/NovaPay

Вимоги до системи:

  • WordPress: версія 6.8 або вище

  • WooCommerce: версія 8.0 або вище

Встановлення через завантаження архіву

  1. В адмін-панелі WordPress перейдіть до розділу Плагіни.

  2. Натисніть Додати плагін.

Додати плагін.png
  1. На екрані з плагінами оберіть опцію Завантажити плагін.

Завантажити плагін.png
  1. Натисніть Вибрати файл.

Вибрати файл.png
  1. Виберіть архів плагіна (.zip) без розпакування.

Обрати архів.png
  1. Натисніть Встановити зараз.

Встановити зараз.png
  1. Після встановлення активуйте плагін.

Активувати плагін.png

Оновлення або перевстановлення (якщо плагін уже встановлений)

Система покаже екран порівняння версій (поточної та завантаженої). Оберіть дію: Замінити поточну версію завантаженою або Скасувати та повернутися.

image-20251114-095719.png

Інтеграція плагіну NovaPay з WooCommerce

Плагін NovaPay для WooCommerce забезпечує повну інтеграцію платіжних операцій, синхронізацію статусів замовлень та підтримку сценаріїв Hold/Direct.

Основні можливості:

  • Двосторонній обмін статусами замовлень і платежів між NovaPay та WooCommerce.

  • Автоматичне оновлення статусу замовлення після оплати або зміни стану платежу.

  • Відображення всіх транзакційних подій.

  • Підтримка сценарію утримання коштів (Hold)/пряме списання (Direct).

Сценарій Hold

Під час оформлення замовлення кошти клієнта блокуються (холдяться) на рахунку.
Мерчант перевіряє наявність товарів на складі та виконує необхідні дії у WooCommerce:

  • Підтвердження холдування – кошти списуються з рахунку клієнта.

  • Часткове підтвердження – уся сума була захолдована, але списуються кошти лише за доступні товари, а залишок автоматично повертається клієнту.

Якщо сума списання була захолдована і потрібно її змінити (не може бути в більшу сторону) – застосовується метод Complete hold із скоригованою сумою, а залишок автоматично повертається.

  • Скасування холдування – кошти розморожуються у разі відсутності товару або рішення не проводити операцію.

  • Скасування платежу – можливе в день оплати замовлення (до 23:59). Статус змінюється з “На утриманні” на “Повернено”.

Якщо вже було виконано Complete hold, то скасування платежу більше не спрацює – навіть у той самий день.

Для скасування: у блоці “Позиція” → натиснути “Повернення” → ввести суму → обрати “Відшкодовано через NovaPay Gateway”.

Повернення.png
Відшкодування.png

 

Налаштування плагіна

Після активації плагіна перейдіть: WooCommerce → Налаштування → Платежі → NovaPay Gateway → Керувати

Керування плагіном.png

Основні параметри

Параметри

Опис

Параметри

Опис

1

Enable/Disable

Увімкнення або вимкнення плагіна. Якщо встановлено Enable – ввімкнено продуктовий режим

2

Test Mode

Активує тестовий режим, де будуть створюватись транзакції за тестовими даними. Для прийняття платежів в проді режим повинен бути вимкнений.

3

Merchant ID

Ідентифікатор мерчанта NovaPay. Клієнт має ввести значення, отримане після активації в NovaPay.
Цей ID є обов’язковим для виконання операцій у продакшн-режимі

4

Public key

Ключі, які необхідні для підпису запиту з метою безпеки

5

Private key

6

Payment type

Спосіб списання коштів: прямий або утримання. Значення за замовчуванням – прямий

Налаштування.png

 

Після заповнення всіх полів натисніть Зберегти зміни.

Статуси

У налаштуваннях плагіна, під основними параметрами, потрібно задати власні статуси операцій:

Параметр

Стан замовлення

Можливі статуси

Параметр

Стан замовлення

Можливі статуси

Status when Payment Action Created

При створенні платежу

  • Очікування оплати

  • В обробці

  • На утриманні

  • Виконано

  • Скасовано

  • Повернено

  • Не вдалося

  • Чернетка

Status when Payment Action Expired

Після закінчення терміну платежу

Status when Payment Action Processing

При обробці платежу

Status when Payment Action Holded

При утриманні платежу

Status when Payment Action Hold Confirmed

При підтвердженні утримання платежу

Status when Payment Action Hold Completion

При обробці завершення утримання платежу

Status when Payment Action Paid

При успішній оплаті

Status when Payment Action failed

При невдалій оплаті

Status when Payment Action void

При анулюванні платежу

Status when Payment Action voided

При анулюванні платежу

Після зміни налаштувань статусів натисніть Зберегти зміни.

Статуси.png

Синхронізація статусів

  1. Після оплати, холду або зміни статусу NovaPay надсилає відповідь (postback) до WooCommerce.

  2. Статус замовлення в WooCommerce оновлюється відповідно до стану платежу в NovaPay.

  3. Усі зміни відображаються в історії транзакцій.

  4. Якщо статус змінюється у WooCommerce, плагін NovaPay виконує відповідну операцію в системі еквайрингу.

Статуси замовлень.png

 


Флоу оплати користувачем на сторінці Checkout

  1. Клієнт додає товари у кошик та переходить до сторінки Checkout.

image-20251113-145935.png
  1. На екрані Checkout користувач вводить контактну та платіжну інформацію (ім’я, адресу, телефон, поштовий індекс).

image-20251113-150002.png
  1. Плагін додає кнопку NovaPay до доступних методів оплати.

image-20251113-150041.png
  1. Після підтвердження замовлення клієнт перенаправляється на сторінку NovaPay, де виконується оплата.

image-20251113-150116.png
  1. Транзакція обробляється на стороні еквайрингу NovaPay. Після завершення NovaPay надсилає postback до WooCommerce, і статус замовлення оновлюється автоматично.


Флоу роботи зовнішнього еквайрингу та плагіна NovaPay

Нижче описано послідовність взаємодії між клієнтом, плагіном, та системою NovaPay під час створення і виконання платіжної сесії.

  1. Клієнт відправляє запит. Клієнт формує запит до NovaPay, передаючи тіло запиту (body) та згенерований підпис.

  2. Пошук мерчанта. На стороні NovaPay за параметром merchant_id визначається мерчант, який ініціював запит.

  3. Отримання публічного ключа. У профілі мерчанта зберігається публічний ключ, який був переданий ним під час створення. Цей ключ використовується для перевірки підписів запитів.

  4. Перевірка підпису. NovaPay за допомогою публічного ключа перевіряє, чи відповідає накладений підпис тілу запиту (body).

  5. Створення платіжної сесії. Якщо запит успішно пройшов перевірку – створюється нова платіжна сесія. Під час створення сесії продавець передає callback_url, на який NovaPay надсилатиме postback-запити для інформування про статус платежу.

  6. Повернення ID сесії. У відповіді NovaPay повертає ID створеної сесії, який використовується для подальших дій.

  7. Запит Payment від клієнта. Клієнт надсилає до NovaPay запит Payment, який ініціює створення нової операції.

  8. Створення операцій у NovaPay. На стороні NovaPay кожен Payment створює окрему сутність операції.
    Наприклад:

  • клієнт додає кілька товарів у кошик;

  • кожен товар – це окремий Payment;

  • для кожного Payment створюється три операції, що виконуються послідовно.

Усі запити клієнта підписуються та перевіряються через публічний ключ мерчанта.

  1. Відповідь на Payment. NovaPay повертає у відповіді: ID операції, посилання для відкриття фрейму оплати.

10. Redirect після останнього Payment. Після створення останнього платежу клієнт виконує redirect на отримане посилання платіжної сторінки.

11. Відкриття платіжної сторінки. Відкривається платіжна сторінка NovaPay, де користувач може ввести платіжні дані.

12. Введення даних карти. Клієнт вводить дані картки або обирає оплату через Apple Pay / Google Pay, після чого натискає кнопку «Сплатити».

13. Обробка запиту на бекенді NovaPay. Фронтенд передає дані картки на бекенд NovaPay. Після цього сесія переходить у статус paid.

14. Оновлення операцій Payment. У всіх створених операціях оновлюється статус на paid.

15. Надсилання postback до плагіна. NovaPay надсилає postback-запит із новим статусом платежу (paid) до плагіна. Плагін отримує оновлення і змінює статус замовлення у системі мерчанта.


 

 

In NovaPay We Trust