Info |
---|
Цей функціонал буде активовано після вашого запиту в груповому чаті. |
Зміст
Table of Contents | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Опис
Цей функціонал дозволить розмістити на вашому боці інтерфейс оплати частинами для клієнтів ПриватБанк.
Використовуючи цей розділ ви зможете реалізувати онлай та оффлайн оплату частинами.
Для використання в оффлайні вам необхідно інтегрувати це API до вашого ПЗ. Механізм взаємодії в такому випадку буде наступним:
Клієнт в оффлайн магазині говорить, що хоче оплатити частинами Monobank.
Мінімальна сума - 300 грн.
Максимальна сума - 300 000 грн.
Чекліст интеграції
- Привести сайт / додаток до відповідності вимогам.
- Передати тех підтримці PSP Platon посилання для Callback.
- Повідомити тех підтримці PSP Platon ваші IP адреси серверів сайта або про те, що буде використовуватись додаток (в цьому випадку обмеження по IP будуть зняті).
- Провести інтеграцію цього API методу.
- Створити і відобразити клієнту кнопку оплати частинами Приватбанк
- Відобразити клієнту вибір кількості частин за необхідності в проміжку від 2 до 24 платежів (включно).
- Відправити API запит з вашого сервера / додатку відповідно до цього API методу.
Клієнту на телефон в додаток Monobank надходить повідомлення з пропозицією про можливість взяття оплати частинами, яке він може прийняти / відхилити, збільшити кількість частин (від наданої мерчантом кількості частин) з додатковою платою з боку клієнта за тарифами Monobank.
Після успішного підтвердження клієнтом в додатку до вас в систему буде відправлено коллбек з даними про платіж по результату якого менеджер може вибити чек та видати товар.
Минимальная сумма - отсутствует.
Максимальная сумма - 300 000 грн.
Этот функционал работает в два этапа. При успешном запросе общая сумма попадает в холд, после чего необходимо будет провести подтверждение списания для зачисления средств на ваш счет.
Подтверждение списания возможно несколькими способами:
Вручную в нашем личном кабинете
Настроить на стороне PSP Platon автоматическое списание в срок от 1 часа до 29 дней, о чем просьба сообщить в чат
Настроить автоматическое списание по API запросу списания с холда под вашу бизнес-логику
Warning |
---|
Внимание! Подтверждение списания и возврат производится в полном объеме суммы кредита. Частичное списание или частичный возврат запрещены. |
Чеклист интеграции
- Привести сайт / приложение к соответствию требованиям.
- Передать тех поддержке PSP Platon ссылку для Callback.
- Сообщить в тех поддержке PSP Platon ваши IP адреса сервера сайта или о том, что будет использоваться приложение (в этом случае ограничения по IP будут сняты).
- Провести интеграцию данного API.
- Отобразить клиенту форму для ввода номера телефона, который привязан к Приватбанк.
- Отобразить клиенту выбор количества платежей на ваш выбор в в промежутках от 2 до 24 платежей (включительно).
- Отправить запрос с вашего сервера / приложения согласно данного API.
- Получить Response или Callback со статусом платежа от PSP Platon.
- Уведомить клиента об успешном / не успешном запросе на оплату частями.
Рекомендации
Panel | ||||||
---|---|---|---|---|---|---|
| ||||||
Рекомендуем клиенту самостоятельно вводить свой номер телефона в ПриватБанк. Если у вас в системе уже есть номер телефона клиента, мы не рекомендуем подставлять его в данный запрос, так как возможны ситуации, когда у клиента есть несколько номеров телефонов и тот, что был записан у вас ранее может не совпадать с финансовым номером клиента в приложении Privat24. |
Tip |
---|
Рекомендуем отобразить уведомление, о том что клиенту поступит push-уведомление в приложение Privat24 для ознакомления с договором оплаты частями и решения о согласии с условиями. |
Tip |
---|
Рекомендуем отобразить уведомление, что клиенту необходима карта ПриватБанк. |
Tip |
---|
Рекомендуем отобразить уведомление, что клиенту необходимо проверить доступный размер лимита оплаты частями на соответствие сумме заказа. |
Tip |
---|
Рекомендуем отобразить уведомление, что первый платеж будет списан с клиента сразу. |
Требования к сайту
Expand | ||
---|---|---|
| ||
У вашого сайту має бути валідний SSL сертифікат. Для перевірки валідності та терміну дії вашого SSL сертифіката рекомендуємо скористатися сервісом за посиланням. |
title | Логотипы платежных систем и PSP Platon |
---|
В футере вашего сайта необходимо разместить логотипы платежных систем и PSP Platon.
Скачайте подходящие под стиль вашего сайта варианты логотипов.
Expand | ||
---|---|---|
| ||
Необходима поддержка протокола TLS не ниже версии 1.2 |
API параметры
HTTP METHOD: POST
API ENDPOINT: https://secure.platononline.com/post/
Параметр
Значение
Описание
Особенности
action
Status | ||||
---|---|---|---|---|
|
SALE_PART
Код платежного метода
client_key
Status | ||||
---|---|---|---|---|
|
String
API ключ мерчанта
Ключ предоставляется на почту мерчанту
order_id
Status | ||||
---|---|---|---|---|
|
String
ID платежа в системе мерчанта
Max 32 символа
order_amount
Status | ||||
---|---|---|---|---|
|
Number
Сумма платежа
Tip |
---|
Верный вариант 1000.00 |
Warning |
---|
Неверные варианты 1000 |
order_currency
Status | ||||
---|---|---|---|---|
|
UAH
Валюта платежа
Info |
---|
Оплата возможна только в национальной валюте гривне |
order_description
Status | ||||
---|---|---|---|---|
|
String
Описание платежа
Note |
---|
Для кириллических символов необходимо использовать формат UTF-8 |
Max 255 символов
payer_ip
Status | ||||
---|---|---|---|---|
|
Number
IP-адрес плательщика
В формате "ХХХ.ХХХ.ХХХ.ХХХ"
Note |
---|
IPv6 на данный момент не поддерживается |
term_url_3ds
Status | ||||
---|---|---|---|---|
|
String
Ссылка по которой будет отправлен клиент после успешной оплаты при прохождении 3DS
Max 255 символов
payer_email
Status | ||||
---|---|---|---|---|
|
String
Почта плательщика
Info |
---|
Обязательно валидная почта. |
Info |
---|
Отсутствие пробелов. |
Max 255 символа
payer_phone
Status | ||||
---|---|---|---|---|
|
Number
Финансовый номер телефона плательщика привязанный к Приватбанк
Info |
---|
Обязательный формат телефона +380XXXXXXXXX |
ext4
Status | ||||
---|---|---|---|---|
|
String
"{"available_parts_count":"n"}"
JSON с количеством выбранных клиентом платежей от 2 до 24 (включительно), например "{"available_parts_count":"6"}"
channel_id
Status | ||||
---|---|---|---|---|
|
privat_parts
Признак оплаты частями монобанк
hash
Status | ||||
---|---|---|---|---|
|
String
Контрольная подпись
Code Block | ||
---|---|---|
| ||
md5(
strtoupper($pass).
strrev($order_id)
) |
async
Status | ||||
---|---|---|---|---|
|
Y
N
Включить асинхронный режим
В асинхронном режиме обязательное использование коллбеков.
По умолчанию значение N
payer_first_name
Status | ||||
---|---|---|---|---|
|
String
Имя плательщика
Max 32 символа без пробелов
payer_last_name
Status | ||||
---|---|---|---|---|
|
String
Фамилия плательщика
Max 32 символа без пробелов
payer_address
Status | ||||
---|---|---|---|---|
|
String
Адрес плательщика
Max 256 символа
Укажите NA
, если нет данных
payer_country
Status | ||||
---|---|---|---|---|
|
String
Страна плательщика
Стандарт ISO 3166-1 alpha-2
В формате "ХХ"
2 символа
Укажите NA
, если нет данных
payer_state
Status | ||||
---|---|---|---|---|
|
String
Штат плательщика
Note |
---|
Обязательный параметр для стран US, CA, AU |
Стандарт ISO 3166-2
В формате "ХХ"
2 символа
Укажите NA
, если нет данных
payer_city
Status | ||||
---|---|---|---|---|
|
String
Город плательщика
Max 32 символа
Укажите NA
, если нет данных
payer_zip
Status | ||||
---|---|---|---|---|
|
String
Почтовый индекс плательщика
Max 32 символа
Укажите NA
, если нет данных
ext1
, ext2
, ext3
, ext5
, ext6
, ext7
, ext8
, ext9
, ext10
Status | ||||
---|---|---|---|---|
|
String
10 дополнительных полей
Max 1024 символа в каждом ext поле
Примеры запроса
Expand | |||||
---|---|---|---|---|---|
| |||||
|
Проверка платежей
title | Полный список методов получения результата транзакции |
---|
Callback
title | Особенности работы с Callback |
---|
title | Безопасность |
---|
Синхронный режим:
Данный режим работает по умолчанию. Передавать async = N
не нужно.
При успешном редиректе (синхронный режим):
Expand | |||||
---|---|---|---|---|---|
| |||||
|
Expand | |||||
---|---|---|---|---|---|
| |||||
|
При успешной оплате з HOLD (синхронный режим):
title | Response при успешном списании |
---|
Code Block | ||
---|---|---|
| ||
{
"action":"SALE",
"result":"SUCCESS",
"status":"PENDING",
"order_id":"4385302",
"trans_id":"28261-34099-19648",
"descriptor":null,
"trans_date":"2020-02-25 06:50:09"
} |
Параметр
Описание
action
SALE
result
SUCCESS
status
PENDING
order_id
Уникальный ордер ID транзакции в системе мерчанта
trans_id
Уникальный ордер ID транзакции в системе Platon
trans_date
Время проведения транзакции в формате UTC (YYYY-MM-DD HH-MM-SS)
descriptor
NULL
title | Callback при успешном списании |
---|
Code Block | ||
---|---|---|
| ||
array (
'action' => 'SALE',
'result' => 'SUCCESS',
'status' => 'PENDING',
'order_id' => '4385323',
'trans_id' => '28261-47789-28578',
'trans_date' => '2020-02-25 07:12:58',
'descriptor' => NULL,
'hash' => '********************************',
) |
Параметр
Описание
action
SALE
result
SUCCESS
status
PENDING
order_id
Уникальный ордер ID транзакции в системе мерчанта
trans_id
Уникальный ордер ID транзакции в системе Platon
trans_date
Время проведения транзакции в формате UTC (YYYY-MM-DD HH-MM-SS)
descriptor
NULL
hash
Зашифрованная подпись для проверки достоверности коллбека
Code Block |
---|
md5(
strtoupper(
strrev(email).
client_pass.
trans_id
)
) |
Info |
---|
Внимание! Если при запросе на оплату не был указан |
При успешной оплате (синхронный режим):
title | Response при успешном списании |
---|
Code Block | ||
---|---|---|
| ||
{
"action":"SALE",
"result":"SUCCESS",
"status":"SETTLED",
"order_id":"4385302",
"trans_id":"28261-34099-19648",
"descriptor":null,
"trans_date":"2020-02-25 06:50:09"
} |
Параметр
Описание
action
SALE
result
SUCCESS
status
SETTLED
order_id
Уникальный ордер ID транзакции в системе мерчанта
trans_id
Уникальный ордер ID транзакции в системе Platon
trans_date
Время проведения транзакции в формате UTC (YYYY-MM-DD HH-MM-SS)
descriptor
NULL
title | Callback при успешном списании |
---|
Code Block | ||
---|---|---|
| ||
array (
'action' => 'SALE',
'result' => 'SUCCESS',
'status' => 'SETTLED',
'order_id' => '4385323',
'trans_id' => '28261-47789-28578',
'trans_date' => '2020-02-25 07:12:58',
'descriptor' => NULL,
'hash' => '********************************',
) |
Параметр
Описание
action
SALE
result
SUCCESS
status
SETTLED
order_id
Уникальный ордер ID транзакции в системе мерчанта
trans_id
Уникальный ордер ID транзакции в системе Platon
trans_date
Время проведения транзакции в формате UTC (YYYY-MM-DD HH-MM-SS)
descriptor
NULL
hash
Зашифрованная подпись для проверки достоверности коллбека
Code Block |
---|
md5(
strtoupper(
strrev(email).
client_pass.
trans_id
)
) |
Info |
---|
Внимание! Если при запросе на оплату не был указан |
При неуспешной оплате (синхронный режим):
title | Response при неуспешном списании |
---|
Code Block | ||
---|---|---|
| ||
{
"action":"SALE",
"result":"DECLINED",
"status":"DECLINED",
"order_id":"4092002",
"trans_id":"28076-29879-99538",
"trans_date":"2020-02-03 20:49:47",
"decline_reason":"Declined by processing"
} |
Параметр
Описание
action
SALE
result
DECLINED
status
DECLINED
order_id
Уникальный ордер ID транзакции в системе мерчанта
trans_id
Уникальный ордер ID транзакции в системе Platon
trans_date
Время проведения транзакции в формате UTC (YYYY-MM-DD HH-MM-SS)
descriptor
NULL
decline_reason
Причина отмены транзакции
title | Callback при неуспешном списании |
---|
Code Block | ||
---|---|---|
| ||
array (
'action' => 'SALE',
'result' => 'DECLINED',
'status' => 'DECLINED',
'order_id' => '4092002',
'trans_id' => '28076-29879-99538',
'trans_date' => '2020-02-03 20:49:47',
'decline_reason' => 'Declined by processing',
'hash' => '********************************',
) |
Параметр
Описание
action
SALE
result
DECLINED
status
DECLINED
order_id
Уникальный ордер ID транзакции в системе мерчанта
trans_id
Уникальный ордер ID транзакции в системе Platon
trans_date
Время проведения транзакции в формате UTC (YYYY-MM-DD HH-MM-SS)
descriptor
NULL
decline_reason
Причина отмены транзакции
hash
Зашифрованная подпись для проверки достоверности коллбека
Code Block |
---|
md5(
strtoupper(
strrev(email).
client_pass.
trans_id
)
) |
Info |
---|
Внимание! Если при запросе на оплату не был указан |
Асинхронный режим:
Данный режим активируется при передаче async = Y
. В этом режиме обязательно необходимо принимать callback на ваш callback url.
Промежуточный ответ (асинхронный режим):
title | Response о принятии запроса в обработку |
---|
Code Block | ||
---|---|---|
| ||
{
"action":"SALE",
"result":"ACCEPTED",
"order_id":"4385302",
"trans_id":"28261-34099-19648",
"trans_date":"2020-02-25 06:50:09"
} |
Параметр
Описание
action
SALE
result
ACCEPTED
order_id
Уникальный ордер ID транзакции в системе мерчанта
trans_id
Уникальный ордер ID транзакции в системе Platon
trans_date
Время проведения транзакции в формате UTC (YYYY-MM-DD HH-MM-SS)
При успешном редиректе (aсинхронный режим):
Expand | |||||
---|---|---|---|---|---|
| |||||
|
Expand | |||||
---|---|---|---|---|---|
| |||||
|
При успешной оплате з HOLD (асинхронный режим):
title | Callback при успешном списании |
---|
Code Block | ||
---|---|---|
| ||
array (
'action' => 'SALE',
'result' => 'SUCCESS',
'status' => 'PENDING',
'order_id' => '4385323',
'trans_id' => '28261-47789-28578',
'trans_date' => '2020-02-25 07:12:58',
'descriptor' => NULL,
'hash' => '********************************',
) |
Параметр
Описание
action
SALE
result
SUCCESS
status
PENDING
order_id
Уникальный ордер ID транзакции в системе мерчанта
trans_id
Уникальный ордер ID транзакции в системе Platon
trans_date
Время проведения транзакции в формате UTC (YYYY-MM-DD HH-MM-SS)
descriptor
NULL
hash
Зашифрованная подпись для проверки достоверности коллбека
Code Block |
---|
md5(
strtoupper(
strrev(email).
client_pass.
trans_id
)
) |
Info |
---|
Внимание! Если при запросе на оплату не был указан |
При успешной оплате (асинхронный режим):
title | Callback при успешном списании |
---|
Code Block | ||
---|---|---|
| ||
array (
'action' => 'SALE',
'result' => 'SUCCESS',
'status' => 'SETTLED',
'order_id' => '4385323',
'trans_id' => '28261-47789-28578',
'trans_date' => '2020-02-25 07:12:58',
'descriptor' => NULL,
'hash' => '********************************',
) |
Параметр
Описание
action
SALE
result
SUCCESS
status
SETTLED
order_id
Уникальный ордер ID транзакции в системе мерчанта
trans_id
Уникальный ордер ID транзакции в системе Platon
trans_date
Время проведения транзакции в формате UTC (YYYY-MM-DD HH-MM-SS)
descriptor
NULL
hash
Зашифрованная подпись для проверки достоверности коллбека
Code Block |
---|
md5(
strtoupper(
strrev(email).
client_pass.
trans_id
)
) |
Info |
---|
Внимание! Если при запросе на оплату не был указан |
При неуспешной оплате (асинхронный режим):
title | Callback при неуспешном списании |
---|
Code Block | ||
---|---|---|
| ||
array (
'action' => 'SALE',
'result' => 'DECLINED',
'status' => 'DECLINED',
'order_id' => '4092002',
'trans_id' => '28076-29879-99538',
'trans_date' => '2020-02-03 20:49:47',
'decline_reason' => 'Declined by processing',
'hash' => '********************************',
) |
Параметр
Описание
action
SALE
result
DECLINED
status
DECLINED
order_id
Уникальный ордер ID транзакции в системе мерчанта
trans_id
Уникальный ордер ID транзакции в системе Platon
trans_date
Время проведения транзакции в формате UTC (YYYY-MM-DD HH-MM-SS)
descriptor
NULL
decline_reason
Причина отмены транзакции
hash
Зашифрованная подпись для проверки достоверности коллбека
Code Block |
---|
md5(
strtoupper(
strrev(email).
client_pass.
trans_id
)
) |
Info |
---|
Внимание! Если при запросе на оплату не был указан |
Ошибки запросов
- Редіректити платника на сторінку оформлення оплати частинами Приватбанк.
- Отримати Response або Callback зі статусом платежа PSP Platon після проведення платником дій в додатку Приватбанк.
- Повідомити клієнту про успішність / не успішність оплати частинами.
Рекомендації
Tip |
---|
Рекомендуємо відобразити повідомлення, що клієнту необхідна активна картка Приватбанк. |
Tip |
---|
Рекомендуємо відобразити повідомлення, що перше списання коштів з клієнта відбудеться одразу, тобто у клієнта має бути відповідна сума на основному балансі. |
Вимоги до сайту
Include Page | ||||
---|---|---|---|---|
|
API параметри
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 | Фінансовий номер телефону платника прив'язаний до Приватбанк |
| ||||||||||||
| String |
| JSON з кількістю обраних частин від 2 до 24 (включно), наприклад | ||||||||||||
| String | ||||||||||||||
| String | Контрольний підпис |
| ||||||||||||
|
| Включити асинхронний режим | В асинхронному режимі обов'язкове використання коллбеків. | ||||||||||||
| 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 полі |
Приклад запиту
Expand | |||||
---|---|---|---|---|---|
| |||||
|
Info |
---|
Тестування
Тестовий режим вмикається опціонально на боці PSP Platon.
Для тестування після редіректа клієнта на сторінку оформлення оплати частинами Приватбанк необхідно ввести тестові реквізити:
Телефон - 988748970
Пароль - password8970
Info |
---|
Увага! При бойовому використанні, якщо було введено телефон який у клієнта підв'язано в Приватбанк і у нього є додаток на телефоні, то замість редіректа в браузер буде редірект в додаток. В інших випадках клієнту відкриється форма Приватбанка для авторизації в браузері. |
Перевірка оплат
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Callback
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Синхронний режим
Стандартний режим роботи. Передавати async = N
не потрібно.
Асинхронний режим
Цей режим активується при передачі async = Y
. В цьому режимі є обов'язковим використання коллбеків.
Принципової різниці у використанні синхронного або асинхронного режимів немає. Вам необхідно вибрати в залежності від найбільш зручного варіанту реалізації саме під ваш проект.
Include Page | ||||
---|---|---|---|---|
|
Помилки запитів
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|