Стандартний еквайринг та оплата в додатку
Загальний опис
Інтернет-еквайринг NovaPay – зручне та безпечне рішення для приймання онлайн-платежів.
Інтегруйте наш платіжний сервіс на своєму сайті або в мобільному застосунку та приймайте оплату через:
банківські картки,
Google/Apple Pay
або додаток NovaPay.
Інтеграція інтернет-еквайрингу NovaPay
Крок 1: Підключення інтернет-еквайрингу NovaPay та отримання Merchant ID
Залишіть заявку на сайті та дочекайтесь дзвінка менеджера NovaPay або дзвоніть 📞 за номером 0 800 30 49 49.
Merchant ID
Після реєстрації контрагенту присвоюється унікальний ідентифікатор Merchant ID. Він використовується для ідентифікації контрагента та ініціації сесії оплати.
- 1 Інтеграція інтернет-еквайрингу NovaPay
- 1.1 Крок 1: Підключення інтернет-еквайрингу NovaPay та отримання Merchant ID
- 1.2 Крок 2: Вибір способів оплати та налаштування їх у адмінпанелі
- 1.3 Крок 3: API інтеграція
- 1.3.1 Автентифікація
- 1.3.2 Створення платіжної сесії | Create session
- 1.3.3 Додавання інформації про замовлення та отримання посилання на оплату | Add payment
- 1.3.4 Отримання статусу платежу | Postback
- 1.3.5 Додаткові API методи
- 1.3.5.1 Void session – Скасування або повернення заблокованих/списаних коштів
- 1.3.5.2 Complete hold – Списання раніше заблокованих коштів на рахунку платника
- 1.3.5.3 Expire session – Завершення терміну дії платіжної сесії
- 1.3.5.4 Print Express Waybill – Друк експрес-накладної
- 1.3.5.5 Get status – Отримання статусу сесії
- 1.3.5.6 Confirm delivery hold – Отримання ціни доставки
- 1.3.5.7 Delivery Price – Отримання ціни доставки
- 2 Реалізація API методів
Крок 2: Вибір способів оплати та налаштування їх у адмінпанелі
Контрагенти можуть обирати один або обидва способи оплати:
стандартний еквайринг (оплата через сайт контрагента);
оплата через додаток NovaPay (оплата в мобільному додатку).
Активовані способи оплати визначають доступні варіанти для платника та налаштовуються в кабінеті мерчанта (див. нижче).
Для кожного мерчанта створюється окремий термінал, пов’язаний із сервісом еквайрингу NovaPay. Терміналу присвоюється Merchant ID та додається ключ доступу для захищеного обміну даними між NovaPay та контрагентом.
Для проведення платежів контрагент використовує свій Merchant ID та пару криптографічних ключів (приватний і публічний), що дозволяє формувати підпис (x-sign) для кожного запиту. Ключі генеруються контрагентом самостійно в адміністративній панелі еквайрингу (детальніше: https://nova-pay.atlassian.net/wiki/external/MmVkYjljZGJmZjM4NDA4Mjk4NzYxYTdkNWJmNDVkNDk). Обмін інформацією між NovaPay та контрагентом здійснюється за допомогою двостороннього шифрування, що гарантує безпеку платежів та захист даних платника.
Важливо
Обрані способи оплати автоматично відображатимуться платнику на сайті контрагента.
Якщо активовано обидва способи, платник зможе самостійно вибрати зручний варіант.
Крок 3: API інтеграція
Протестувати API запити можна за посиланням: https://novapay.readme.io/reference
Автентифікація
Цей API використовує формат JSON для отримання тіла запитів і передачі відповідей.
API використовує підписи RSA (передаються в заголовку x-sign) для перевірки походження запиту. Підпис створюється на основі тіла запиту, шифрується у форматі base64 і перевіряється аналогічним чином. Для отримання доступу до API зв’яжіться з нашою службою підтримки, надавши свій відкритий ключ RSA.
Генерація підписів
Алгоритм створення підпису — SHA-256
Ключі
Merchant ID
merchant_id = надається NovaPay при реєстрації
Створення платіжної сесії | Create session
Мерчант створює платіжну сесію, передаючи необхідні дані про замовлення.
Метод POST
URL ендпоінту https://api-qecom.novapay.ua/v1/session
Параметри запиту
Параметр | Тип | Обов’язковий | Опис |
|---|---|---|---|
merchant_id |
| ✅ Так | ID мерчанта, від імені якого створюється сесія. |
client_first_name |
| ❌ Ні | Ім’я клієнта. |
client_last_name |
| ❌ Ні | Прізвище клієнта. |
client_patronymic |
| ❌ Ні | По батькові клієнта. |
client_phone |
| ✅ Так | Номер телефону з кодом країни (наприклад, +380982850620). |
client_email |
| ❌ Ні | Email клієнта. |
callback_url |
| ✅ Так | URL для POST-запиту після оплати з інформацією про сесію. |
success_url |
| ❌ Ні | URL для переходу клієнта після успішної оплати. |
fail_url |
| ❌ Ні | URL для переходу клієнта після невдалої оплати. |
success_redirect_timeout |
| ❌ Ні | Час у секундах, після якого клієнт буде автоматично перенаправлений на |
metadata |
| ❌ Ні | Додаткові дані, які будуть повернені у postback-запитах. |
Додавання інформації про замовлення та отримання посилання на оплату | Add payment
Метод POST
URL ендпоінту https://api-qecom.novapay.ua/v1/payment
Параметри запиту
Параметр | Тип | Обов’язковий | Опис |
|---|---|---|---|
merchant_id |
| ✅ Так | ID мерчанта, від імені якого створюється платіж. |
session_id |
| ✅ Так | Унікальний ідентифікатор платіжної сесії. |
amount |
| ✅ Так | Сума платежу. |
external_id |
| ❌ Ні | ID замовлення в системі мерчанта (для реєстрів). |
use_hold |
| ❌ Ні | Двоетапна оплата (холд і підтвердження). За замовчуванням |
identifier |
| ❌ Ні | Ідентифікатор отримувача платежу (ЄДРПОУ), якщо відрізняється від мерчанта. |
delivery |
| ❌ Ні | Об’єкт із даними про доставку посилки. |
volume_weight |
| ✅ Так | Об’ємна вага посилки. |
weight |
| ✅ Так | Фізична вага посилки. |
recipient_city |
| ✅ Так | Ref міста одержувача. |
recipient_warehouse |
| ✅ Так | Ref складу одержувача. |
products |
| ❌ Ні | Список товарів у замовленні. |
description |
| ✅ Так | Опис товару. За замовчуванням |
count |
| ✅ Так | Кількість товару. За замовчуванням |
price |
| ✅ Так | Ціна товару. За замовчуванням |
Після цього платник бачить frame NovaPay та проводить оплату.
Отримання статусу платежу | Postback
Після оплати NovaPay надсилає postback на callback_url, вказаний при створенні сесії.
Для еквайрингу передбачено один сценарій отримання postback – після оплати.