Створення рахунку
Виставлення рахунку для оплати карткою, через застосунок monobank, Apple Pay / Google Pay, або токенізованою карткою
Можливості
- Встановлення терміну дії рахунку. За замовчуванням рахунок дійсний 24 години
- Збереження токена карти для подальшої оплати
- Передавання до API змісту кошика замовлення
- Скасування інвойсу по API в будь-який момент, після чого клієнт не зможе оплатити
- Встановлення типа платежу:
- debit — звичайна оплата карткою або іншим способом
- hold — блокування коштів на картці та фіналізація пізніше
Як працює API створення рахунку в контексті оплати
- 1
Покупець сформував замовлення на Вашому сайті та вже готовий сплатити його
- 2
Ви виконуєте запит на API створення рахунку з переліком товарів або послуг, які клієнт додав до замовлення.
- 3
Ваш сайт переадресовує клієнта на платіжну сторінку monobank з різними варіантами оплати.
- 4
Клієнт проводить оплату будь-яким зручним способом.
Як працює токенізація
Оплата по токену - це списання з картки покупця без повторного введення реквізитів.
Після першої успішної оплати на сайті, реквізити платіжної картки клієнта конвертуються в унікальний токен, який ви як мерчант маєте зберігати на сервері.
Завдяки токену, подальші платежі можуть проводитись без взаємодії з клієнтом, що спрощує процес покупки.
Ідентифікатор гаманця користувача walletId генерується на стороні backend мерчанта.
Для створення рахунку: використайте API та передайте у saveCardData — "saveCard": true,
"walletId": "ідентифікатор гаманця користувача"
Для списання по токену скористайтесь API Оплата по токену
Створення рахунку для оплати
HEADER PARAMETERS:
X-Token
required
string
Токен з особистого кабінету https://web.monobank.ua/ або тестовий токен з https://api.monobank.ua/
X-Cms
string
Назва CMS, якщо ви розробляєте платіжний модуль для CMS
X-Cms-Version
string
Версія CMS, якщо ви розробляєте платіжний модуль для CMS
REQUEST BODY SCHEMA: application/json
amount
required
integer <int64>
Сума оплати у мінімальних одиницях (копійки для гривні)
ccy
integer <int32>
ISO 4217 код валюти, за замовчуванням 980 (гривня)
merchantPaymInfo
object (MerchantPaymInfoItem)
Інформаційні дані замовлення, яке буде оплачуватись. Обовʼязково вказувати при активній звʼязці з ПРРО (звʼязка створюється у веб-кабінеті https://web.monobank.ua)
merchantPaymInfo {redirectUrl
string
Адреса для повернення (GET) - на цю адресу буде переадресовано користувача після завершення оплати (у разі успіху або помилки)
webHookUrl
string
Адреса для CallBack (POST) – на цю адресу буде надіслано дані про стан платежу при зміні статусу, окрім статусу
expired
. Зміст тіла запиту ідентичний відповіді запиту “Статус рахунку”. Гарантії доставки повідомлень одне за одним не надається. Тобто, може бути ситуація, коли вебхук про успішну оплату (status=success
) прийде раніше за вебхук про обробку цієї оплати (status=processing
). Краще орієнтуватись на полеmodifiedDate
при аналізі поточного статусу рахунку. Вебхук із більшимmodifiedDate
буде актуальним.Окрім вебхуків при зміні статусу рахунку, вебхуки також будуть приходити при зміні статусу токенізоваї картки, якщо обʼєкт
saveCardData
було вказано при створенні рахункуvalidity
integer <int64>
Строк дії в секундах, за замовчуванням рахунок перестає бути дійсним через 24 години
paymentType
string
default: debit
enum:debitholdТип операції. Для значення
hold
термін складає 9 днів. Якщо через 9 днів холд не буде фіналізовано — він скасовуєтьсяqrId
string
Ідентифікатор QR-каси для встановлення суми оплати на існуючих QR-кас
code
string
Код терміналу субмерчанта, з апі “Список субмерчантів”. Доступний обмеженому колу мерчантів, які точно знають, що їм це потрібно
saveCardData
object
Дані для збереження (токенізації) картки. Для підключення функції, зверніться, будь ласка, в службу турботи monobank. Токенізація недоступна за замовчуванням
saveCardData {agentFeePercent
number <float>
Відсоток комісії, який агент встановлює для себе
tipsEmployeeId
string
Ідентифікатор співробітника, який може отримати чайові після оплати; ідентифікатор можна взяти з апі “Список співробітників”
displayType
string
enum:iframeОтримання клієнтом посилання iframe для відображення віджета (якщо параметр не передано, то звичайне посилання)
/api/merchant/invoice/create
200 Посилання на оплату рахунку
400 Один із вхідних параметрів невалідний
403 Токен невалідний
404 Пошук за одним із параметрів запиту завершився неуспішно
405 Http-метод невалідний
429 Занадто багато запитів
500 Під час виконання запиту виникла непередбачена помилка