Створення рахунку

Інтеграція дозволяє виставляти рахунок для оплати за допомогою фізичної QR стійки. Клієнти можуть сканувати QR-код за допомогою камери смартфона для здійснення платежу. Якщо немає можливості сканувати QR код, то у відповідь надходить посилання для сплати яке можна надати клієнту зручним способом.

Можливості

  • Створення рахунку, який автоматично прив’язується до QR-коду фізичної стійки.
  • Встановлення терміну дії рахунку. За замовчуванням рахунок дійсний 24 години
  • Передавання до API змісту кошика замовлення
  • Скасування інвойсу по API в будь-який момент, після чого клієнт не зможе оплатити

Тип платежу який доступний за QR стійками debit

Як працює API створення рахунку на QR стійку:

  • 1

    Мерчант отримує стійку з унікальним ідентифікатором qrId.

  • 2

    Стійка реєструється через вебкабінет мерчанта, де генерується її ідентифікатор qrId. Список зареєстрованих стійок доступний через метод cписок QR-кас.

  • 3

    У вашій фронт-системі продавець формує кошик із товарами/послугами, вказує суму та готовий до оплати.

  • 4

    Виконується запит на створення рахунку із зазначенням qrId.

  • 5

    У відповідь API повертає статус успішного створення рахунку. У цей момент QR-код стійки готовий до сканування клієнтом.

  • 6

    Клієнт сканує QR-код, переходить на платіжну сторінку та проводить оплату.

Чайові

Інтеграція дозволяє додати можливість передачі чайових співробітникам при оплаті через QR-код. Клієнт може залишити чайові, які будуть зараховані на рахунок конкретного співробітника.

Як це працює:

  • 1

    Отримувачів чайових можна підключити через службу турботи monobank.

  • 2

    Для отримання переліку співробітників, яким можна передати чайові, скористайтеся методом Список співробітників.

  • 3

    У відповідь ви отримаєте унікальні ідентифікатори співробітників.

  • 4

    У запиті на створення рахунку додайте параметр tipsEmployeeId, щоб вказати співробітника, який буде запропонований клієнту для залишення чайових.

Створення рахунку для оплати

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 для відображення віджета (якщо параметр не передано, то звичайне посилання)

post

/api/merchant/invoice/create

Request samples
Payload

200 Посилання на оплату рахунку

400 Один із вхідних параметрів невалідний

403 Токен невалідний

404 Пошук за одним із параметрів запиту завершився неуспішно

405 Http-метод невалідний

429 Занадто багато запитів

500 Під час виконання запиту виникла непередбачена помилка

Response samples
200
400
403
404
405
429
500