Оплата частинами Monobank (Server - Server)
Цей функціонал буде активовано після вашого запиту в груповому чаті.
Зміст
- 1.1 Зміст
- 1.2 Опис
- 1.3 Чекліст інтеграції
- 1.4 Рекомендації
- 1.5 Best Practices
- 1.6 Вимоги до сайту
- 1.7 API параметри
- 1.8 Приклад запиту
- 1.9 Тестування
- 1.10 Перевірка платежів
- 1.11 Callback
- 2 Синхронний режим
- 3 Асинхронний режим
- 3.1 Помилки запитів
Опис
Цей функціонал дозволить розмістити на вашому боці інтерфейс оплати частинами для клієнтів Monobank.
Мінімальна сума - 500 грн.
Максимальна сума - визначається Monobank та відображається в умовах та правилах Monobank.
Після відправки API запиту у платника буде 15 хв на прийняття рішення.
Цей функціонал працює в два етапи. При успішному запиті загальна сума потрапляє в холд, після чого необхідно буде провести підтвердження списання для зарахування коштів на ваш рахунок.
Підтвердження списання можливе декількома методами:
Вручну в нашому особистому кабінеті.
Налаштувати на боці PSP Platon автоматичне підтвердження списання в термін від 1 години до 29 днів, про що необхідно повідомити в груповий чат. В цьому випадку менеджеру мерчанта необхідно вручну перевіряти кінцевий статус оплати в особистому кабінеті PSP Platon. Фінальний статус успішнох оплати буде SETTLED CAPTURE SUCCESS.
Налашатувати по API запиту підтвердження списання з холду під вашу бізнес-логіку використовуючи Підтвердження списання з HOLD.
Ознайомтесь з PDF файлом з Best Practices як найкраще надати клієнтам інформацію про нову для ним можливість оплати частинами на вашому ресурсі:
HTTP METHOD: POST
API ENDPOINT: https://secure.platononline.com/post/
Параметр | Значення | Опис | Особливості |
---|---|---|---|
|
| Код платіжного метода |
|
| String | API ключ мерчанта | Ключ надається на пошту мерчанта |
| String | ID оплати в системі мерчанта | Max 32 символи |
| Number | Сума оплати | |
|
| Валюта | |
| String | Опис | Max 255 символів |
| Number | IP-адреса платника | В форматі "ХХХ.ХХХ.ХХХ.ХХХ" |
| String | Посилання по якому буде відправлено платника після спроби оплати | Max 255 символів |
| String | Пошта платника | Max 255 символів |
| Number | Фінансовий номер телефону платника прив'язаний до Monobank | |
| String |
| JSON з кількістю обраних частин від 3 до 25 (включно), наприклад |
|
|
|
|
| String | Контрольний підпис | md5(
strtoupper($pass).
strrev($order_id)
) |
|
| Включити асинхронний режим | В асинхронному режимі обов'язкове використання коллбеків. |
| String | Ім'я платника | Max 32 символи без пробілів |
| String | Прізвище платника | Max 32 символи без пробілів |
| String | Адреса платника | Max 256 символи |
| String | Країна платника | Стандарт ISO 3166-1 alpha-2 |
| String | Штат платника | Стандарт ISO 3166-2 |
| String | Місто плателника | Max 32 символи |
| String | Поштовий індекс платника | Max 32 символи |
| String | 10 додаткових полів | Max 1024 символи в кажному ext полі |
Тестування рекомендовано проводити реальним номером телефону, який підключено до Monobank та має відповідний баласн для оплати частинами.
Якщо ви не маєте змоги робити це реальним номером телефону, то можете використати тестове середовище, але зверніть увагу, що його використання сильно відрізняється від реального використання так як не включає в себе використання додатку Monobank яке є обов'язковим при реальній оплаті. Нижче описано варіанти доступні для тестового середовища:
Успішне підтвердження заявки. Для цієї ситуації потрібно передати фейковий номер телефону, що закінчується на 1. У цьому випадку через 5 секунд буде кинуто callback про успішне затвердження заявки.
Заявка, що очікує підтвердження від клієнта. Для цієї ситуації необхідно передати фейковий номер телефону, що закінчується на 2.
Помилка підтвердження заявки через недостатній ліміт у клієнта. Для цієї ситуації потрібно передати фейковий номер телефону, що закінчується на 3. У цьому випадку через 5 секунд буде кинуто callback про відхилення заявки.
Заявка підтверджена клієнтом та очікує на підтвердження від магазину. Для цієї ситуації необхідно передати фейковий номер телефону, що закінчується на 4.
Синхронний режим
Стандартний режим роботи. Передавати async = N
не потрібно.
Асинхронний режим
Цей режим активується при передачі async = Y
. В цьому режимі є обов'язковим використання коллбеків.
Принципової різниці у використанні синхронного або асинхронного режимів немає. Вам необхідно вибрати в залежності від найбільш зручного варіанту реалізації саме під ваш проект.
Якщо в запиті буде вказано не фінансовий номер телефону клієнта (тобто той який не підв'язаний в Monobank) - буде помилка "decline_reason":"Phone not found in MONO"