На кожну зміну статусу рахунку бекенд еквайрингу виконає до 3-х спроб POST запиту, поки у відповідь не отримує http-статус 200 OK. З параметром X-Sign у хідерах. Параметр містить підпис тіла запиту вебхуку по стандарту ECDSA. Верифікація проводиться за наступним алгоритмом VerifyASN1(DecodeEcdsaPemPubKey(decodedPubkeyBytes), sha256(requestBody), decodedXSignBytes)
API може працювати в режимі тестового середовища. Для цього потрібно використовувати токен із https://api.monobank.ua/
Для тестування не потрібно мати термінал або дозвіл для тестування эквайрингу, тестове середовище доступне всім клієнтам банку. В тестовому середовищі для оплати можна використовувати будь-які номер, дату та cvv картки, навіть якщо вони не є дійсними. Єдина умова: номер картки повинен бути валідним за алгоритмом Луна. При використанні даних реальної банківської картки, вона буде прийнята, але фінансова авторизація здійснюватись не буде.
Створення рахунку для оплати
X-Token required | string Токен з особистого кабінету https://fop.monobank.ua/ або тестовий токен з https://api.monobank.ua/ |
amount required | integer <int64> Сума оплати у мінімальних одиницях (копійки для гривні) |
ccy | integer <int32> ISO 4217 код валюти, за замовчуванням 980 (гривня) |
object | |
redirectUrl | string Адреса для повернення (GET) - на цю адресу буде переадресовано користувача після завершення оплати (у разі успіху або помилки) |
webHookUrl | string Адреса для CallBack (POST) – на цю адресу буде надіслано дані про стан платежу при кожній зміні статусу. Зміст тіла запиту ідентичний відповіді запиту “перевірки статусу рахунку”. |
validity | integer <int64> Строк дії в секундах, за замовчуванням рахунок перестає бути дійсним через 24 години |
paymentType | string Default: "debit" Enum: "debit" "hold" Тип операції |
qrId | string Ідентифікатор QR-каси для встановлення суми оплати на існуючих QR-кас |
{- "amount": 4200,
- "ccy": 980,
- "merchantPaymInfo": {
- "reference": "84d0070ee4e44667b31371d8f8813947",
- "destination": "Покупка щастя",
- "basketOrder": [
- {
- "name": "Табуретка",
- "qty": 2,
- "sum": 1700,
- "icon": "string",
- "unit": "шт."
}
]
}, - "validity": 3600,
- "paymentType": "debit",
- "qrId": "XJ_DiM4rTd5V"
}
{- "invoiceId": "p2_9ZgpZVsl3",
}
Метод перевірки статусу рахунку при розсинхронізації з боку продавця або відсутності webHookUrl при створенні рахунку.
invoiceId required | string Example: invoiceId=p2_9ZgpZVsl3 Ідентифікатор рахунку |
X-Token required | string Токен з особистого кабінету https://fop.monobank.ua/ або тестовий токен з https://api.monobank.ua/ |
{- "invoiceId": "p2_9ZgpZVsl3",
- "status": "created",
- "failureReason": "string",
- "amount": 4200,
- "ccy": 980,
- "finalAmount": 4200,
- "createdDate": "2019-08-24T14:15:22Z",
- "modifiedDate": "2019-08-24T14:15:22Z",
- "reference": "84d0070ee4e44667b31371d8f8813947",
- "cancelList": [
- {
- "status": "processing",
- "amount": 4200,
- "ccy": 980,
- "createdDate": "2019-08-24T14:15:22Z",
- "modifiedDate": "2019-08-24T14:15:22Z",
- "approvalCode": "662476",
- "rrn": "060189181768",
- "extRef": "635ace02599849e981b2cd7a65f417fe"
}
]
}
Скасування успішної оплати рахунку
X-Token required | string Токен з особистого кабінету https://fop.monobank.ua/ або тестовий токен з https://api.monobank.ua/ |
invoiceId required | string Ідентифікатор рахунку |
extRef | string Референс операції скасування, який визначається продавцем |
amount | integer <int64> Сума у мінімальних одиницях (при частковому поверненні) |
{- "invoiceId": "p2_9ZgpZVsl3",
- "extRef": "635ace02599849e981b2cd7a65f417fe",
- "amount": 5000
}
{- "status": "processing",
- "createdDate": "2019-08-24T14:15:22Z",
- "modifiedDate": "2019-08-24T14:15:22Z"
}
Інвалідація рахунку, якщо за ним ще не було здіснено оплати
X-Token required | string Токен з особистого кабінету https://fop.monobank.ua/ або тестовий токен з https://api.monobank.ua/ |
invoiceId required | string Ідентифікатор рахунку |
{- "invoiceId": "p2_9ZgpZVsl3"
}
{ }
Дані про успішну оплату, якщо вона була здійснена
invoiceId required | string Example: invoiceId=p2_9ZgpZVsl3 Ідентифікатор рахунку |
X-Token required | string Токен з особистого кабінету https://fop.monobank.ua/ або тестовий токен з https://api.monobank.ua/ |
{- "maskedPan": "444403******1902",
- "approvalCode": "662476",
- "rrn": "060189181768",
- "amount": 4200,
- "ccy": 980,
- "finalAmount": 4200,
- "createdDate": "2019-08-24T14:15:22Z",
- "terminal": "MI001088",
- "paymentScheme": "full",
- "paymentMethod": "pan",
- "fee": 420,
- "domesticCard": true,
- "country": "804",
- "cancelList": [
- {
- "status": "processing",
- "amount": 4200,
- "ccy": 980,
- "createdDate": "2019-08-24T14:15:22Z",
- "modifiedDate": "2019-08-24T14:15:22Z",
- "approvalCode": "662476",
- "rrn": "060189181768",
- "extRef": "635ace02599849e981b2cd7a65f417fe"
}
]
}
Отримання відкритого ключа для перевірки підпису, який включено у вебхуки
X-Token required | string Токен з особистого кабінету https://fop.monobank.ua/ або тестовий токен з https://api.monobank.ua/ |
{- "key": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFK0UxRnBVZzczYmhGdmp2SzlrMlhJeTZtQkU1MQpib2F0RU1qU053Z1l5ZW55blpZQWh3Z3dyTGhNY0FpT25SYzNXWGNyMGRrY2NvVnFXcVBhWVQ5T3hRPT0KLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg=="
}
X-Token required | string Токен з особистого кабінету https://fop.monobank.ua/ або тестовий токен з https://api.monobank.ua/ |
invoiceId required | string Ідентифікатор рахунку |
amount | integer <int64> Сума у мінімальних одиницях |
{- "invoiceId": "p2_9ZgpZVsl3",
- "amount": 4200
}
{- "status": "success"
}
Інформація про QR-касу, лише для активованих QR-кас
qrId required | string Example: qrId=OBJE Ідентифікатор QR-каси |
X-Token required | string Токен з особистого кабінету https://fop.monobank.ua/ або тестовий токен з https://api.monobank.ua/ |
{- "shortQrId": "OBJE",
- "invoiceId": "4EwIUTA12JIZ",
- "amount": 4200,
- "ccy": 980
}
X-Token required | string Токен з особистого кабінету https://fop.monobank.ua/ або тестовий токен з https://api.monobank.ua/ |
qrId required | string Ідентифікатор QR-каси |
{- "qrId": "XJ_DiM4rTd5V"
}
{ }
X-Token required | string Токен з особистого кабінету https://fop.monobank.ua/ або тестовий токен з https://api.monobank.ua/ |
{- "list": [
- {
- "shortQrId": "OBJE",
- "qrId": "XJ_DiM4rTd5V",
- "amountType": "merchant",
}
]
}
X-Token required | string Токен з особистого кабінету https://fop.monobank.ua/ або тестовий токен з https://api.monobank.ua/ |
{- "merchantId": "12o4Vv7EWy",
- "merchantName": "Your Favourite Company"
}
from required | integer <int64> Example: from=1649329978 utc unix timestamp |
to | integer <int64> Example: to=1649329978 utc unix timestamp |
X-Token required | string Токен з особистого кабінету https://fop.monobank.ua/ або тестовий токен з https://api.monobank.ua/ |
{- "list": [
- {
- "invoiceId": "2205175v4MfatvmUL2oR",
- "status": "success",
- "maskedPan": "444403******1902",
- "date": "2019-08-24T14:15:22Z",
- "paymentScheme": "bnpl_later_30",
- "amount": 4200,
- "profitAmount": 4100,
- "ccy": 980,
- "approvalCode": "662476",
- "rrn": "060189181768",
- "cancelList": [
- {
- "amount": 4200,
- "ccy": 980,
- "date": "2019-08-24T14:15:22Z",
- "approvalCode": "662476",
- "rrn": "060189181768",
- "maskedPan": "444403******1902"
}
]
}
]
}