Термінал в смартфоні iOS
Для інтеграції з Терміналом в смартфоні на iOS у вас має бути зареєстрований термінал. Подати заявку на реєстрацію можна на сайті https://monobank.ua/terminal
Виклик застосунку “Термінал by mono” та передача параметрів для проведення оплати
Для правильного формування запиту вам знадобиться отримати ряд параметрів
- terminal - ви зможете його отримати після реєстрації терміналу
- integratorId - необхідно звернутися до нас в підтримки, щоб ми вам його надали
Виклик застосунку через deeplink
Приклад deeplink:
terminal.mono.bank://payment/start?id=68df72a6-da85-42fc-8fe8-7d9b8250d8ae&integratorId=19122dda-f00b-46cd-8033-0e20d23f3b78&terminal=MT500040&amount=1000&purpose=Оплата%20замовлення&callbackSuccess=https://example.com/success&callbackFail=https://example.com/success&deeplinkCallback=myapp://payment.com
Опис параметрів:
Поле | Тип | Обов’язкове | Опис |
id | string | так | Унікальний ідентифікатор платежу (до 250 символів), генерується інтегратором. |
integratorId | string | так | Ідентифікатор інтегратора (генерує mono, надається партнеру). |
terminal | string | так | id терміналу (MT%). |
amount | number | так | Сума платежу в копійках (наприклад, 10800 = 108.00 грн). |
purpose | string | так | Призначення платежу. Максимальна довжина – 250 символів. |
paymentType | string | ні | Тип операції: purchase (покупка, за замовчуванням) або refund (повернення). |
paymentFlow | string | ні | Тип оплати: nfc (за замовчуванням). |
rrn | string | ні | RRN NFC (обовʼязково для типу операції refund). |
callbackSuccess | string (URL) | так | Посилання для виклику при успішному платежі. Має бути URL-encoded. |
callbackFail | string (URL) | так | Посилання для виклику при неуспішному платежі. Має бути URL-encoded. |
deeplinkCallback | string (URL) | ні | Діплінк для підняття аплікації інтегратора (URL-encoded). |
Отримання відповіді
Отримання відповіді про успішну оплату або повернення.
Параметри будуть надіслані у callbackSuccess метод POST який був переданий інтегратором у deeplink:
Поле | Тип | Обов’язкове | Опис |
bank | string | так | АТ Універсал Банк – константа |
terminal | string | так | id терміналу (MT%) |
paymentType | string | так | purchase – Продаж, refund – Повернення |
maskedPan | string | так | Маска картки платника |
cardMask | string | так | Mastercard, Visa |
approvalCode | string | так | Код авторизації |
rrn | string | так | rrn |
amount | string | так | Сума |
ccy | string | так | Код валюти |
dataTime | string | так | Дата і час транзакції |
Приклад відповіді:
json
{
"bank": "АТ Універсал Банк",
"terminal": "MT500040",
"paymentType": "purchase",
"maskedPan": "5375********1234",
"cardMask": "Mastercard",
"approvalCode": "123456",
"rrn": "123456789012",
"amount": "10800",
"ccy": "980",
"dataTime": "2025-07-18T16:20:06+03:00"
}
Отримання відповіді на неуспішну оплату/повернення.
Параметри будуть надіслані у callbackFail метод POST який був переданий інтегратором у deeplink:
Поле | Тип | Обов’язкове | Опис |
errorMessage | string | ні | Код помилки |
responseCode | string | ні | Код помилки платіжної системи |
bank | string | ні | АТ Універсал Банк – константа |
terminal | string | ні | id терміналу (MT%) |
paymentType | string | ні | purchase – Продаж, refund – Повернення |
maskedPan | string | ні | Маска картки платника |
cardMask | string | ні | Mastercard, Visa |
approvalCode | string | ні | Код авторизації |
rrn | string | ні | rrn |
amount | string | ні | Сума |
ccy | string | ні | Код валюти |
dataTime | string | ні | Дата і час транзакції |
Приклад відповіді:
json
{
"errorMessage": "Declined by issuer",
"responseCode": "05",
"bank": "АТ Універсал Банк",
"terminal": "MT500040",
"paymentType": "purchase",
"maskedPan": "5375********1234",
"cardMask": "mastercard",
"approvalCode": "654321",
"rrn": "123456789012",
"amount": "10800",
"ccy": "980",
"dataTime": "2025-07-18T16:25:00+03:00"
}
Якщо після створення посилання покупець не проведе оплату, то якщо перевести його на оплату по тому ж самому посиланню, то платіж не пройде. Необхідно сформувати нове посилання
Робота з callback
У deeplink ви передаєте 3 посилання:
- callbackSuccess
- callbackFail
- deeplinkCallback
callbackSuccess - необхідний для отримання інформації про успішну оплату на ваш сервер для подальшого використання
callbackFail - необхідний для отримання інформації про не успішний платіж. Важливо, що текст самої помилки переданий не буде, буде передаватися лише код. Коди помилок описані нижче
deeplinkCallback - необхідний якщо потрібно підіймати екран після створення оплати. Наприклад, це може бути екран вашого застосунку.
Буде накладено підпис на callback для безпеки передачі даних. Необхідно звернутися в підтримку для отримання ключа для подальшої розшифровки даних.
Флоу по створенню оплати

Флоу по створенню запиту на повернення
