Info |
---|
Цей функціонал буде активовано після вашого запиту в груповому чаті. |
Зміст
Table of Contents | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Опис
Цей функціонал дозволить розмістити на вашому боці інтерфейс оплати частинами для клієнтів ПриватБанк.
Мінімальна сума - 300 грн.
Максимальна сума - 300 000 грн.
Чекліст интеграції
- Привести сайт / додаток до відповідності вимогам.
- Передати тех підтримці PSP Platon посилання для Callback.
- Повідомити тех підтримці PSP Platon ваші IP адреси серверів сайта або про те, що буде використовуватись додаток (в цьому випадку обмеження по IP будуть зняті).
- Провести інтеграцію цього API методу.
- Створити і відобразити клієнту кнопку оплати частинами Приватбанк
- Відобразити клієнту вибір кількості частин за необхідності в проміжку від 2 до 24 платежів (включно).
- Відправити API запит з вашого сервера / додатку відповідно до цього API методу.
- Редіректити платника на сторінку оформлення оплати частинами Приватбанк.
- Отримати Response або Callback зі статусом платежа PSP Platon після проведення платником дій в додатку MonobankПриватбанк.
- Повідомити клієнту про успішність / не успішність оплати частинами.
Рекомендації
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
Include Page | ||||
---|---|---|---|---|
|
API параметри
HTTP METHOD: POST
API ENDPOINT: https://secure.platononline.com/post/
Параметр | Значення | Опис | Особливості | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| Код платіжного метода | ||||||||||||||||
| String | API ключ мерчанта | Ключ надається на пошту мерчанта | |||||||||||||||
|
| Код платіжного метода |
| String | ID оплати в системі мерчанта | Max 32 символи | ||||||||||||
| String | API ключ мерчанта | Ключ надається на пошту мерчанта | |||||||||||||||
| String | ID оплати в системі мерчанта | Max 32 символи | |||||||||||||||
| Number | Сума оплати | Info | Number | Сума оплати |
| ||||||||||||
|
| Валюта |
| |||||||||||||||
| String | Опис |
Max 255 символів | |||||||||||||||
| Number | IP-адреса платника | В форматі "ХХХ.ХХХ.ХХХ.ХХХ"
| |||||||||||||||
| String | Посилання по якому буде відправлено платника після спроби оплати | Max 255 символів | |||||||||||||||
| String | Пошта платника |
Max 255 символів | |||||||||||||||
| Number | Фінансовий номер телефону платника прив'язаний до MonobankПриватбанк |
| |||||||||||||||
| 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 | |||||
---|---|---|---|---|---|
| |||||
|
Тестування
Тестовий режим вмикається опціонально на боці PSP Platon.
Для тестування після редіректа клієнта на сторінку оформлення оплати частинами Приватбанк необхідно ввести тестові реквізити:
Телефон - 988748970
Пароль - password8970
Перевірка оплат
title | Список методів отримання результату транзакції |
---|
Callback
title | Особливості роботи з Callback |
---|
title | Безпека |
---|
Синхронний режим:
Стандартний режим роботи. Передавати async = N
не потрібно.
При успішному редіректі (синхронний режим):
Expand | |||||
---|---|---|---|---|---|
| |||||
|
Expand | |||||
---|---|---|---|---|---|
| |||||
|
При успішній оплаті з HOLD (синхронний режим):
Info |
---|
HOLD активується на боці PSP Platon по запиту в чаті. |
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
. В цьому режимі є обов'язковим використання коллбеків.
Принципової різниці у використанні синхронного або асинхронного режимів немає. Вам необхідно вибрати в залежності від найбільш зручного варіанту реалізації саме під ваш проект.
Проміжна відповідь (асинхронний режим):
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 (асинхронний режим):
Info |
---|
HOLD активується на боці PSP Platon по запиту в чаті. |
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 |
---|
Увага! Якщо в запиті на оплату не було вказано |
При невдалій оплаті (асинхронний режим):
Expand | |||||
---|---|---|---|---|---|
| |||||
| |||||
Параметр | Опис | ||||
|
| ||||
|
| ||||
|
| ||||
| Унікальний ордер ID транзакції в системі мерчанта | ||||
| Унікальний ордер ID транзакції в системі Platon | ||||
| Час проведення транзакції в форматі UTC (YYYY-MM-DD HH-MM-SS) | ||||
| NULL | ||||
| Причина відміни транзакції |
|
Code Block |
---|
md5(
strtoupper(
strrev(email).
client_pass.
trans_id
)
) |
email
, то при перевірці sing
в підписі Callback варто вказати пусте значення email
.'https://secure.platononline.com/post/';
$crq = curl_init();
curl_setopt($crq, CURLOPT_URL, $url);
curl_setopt($crq, CURLOPT_HEADER, 0);
curl_setopt($crq, CURLOPT_POST, 1);
curl_setopt($crq, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($crq, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($crq, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($crq, CURLOPT_POSTFIELDS, $data);
$result = curl_exec($crq);
if (curl_errno($crq)) {
echo 'ERROR: '.curl_error($crq);
}else{
echo $result;
}
curl_close($crq); |
Info |
---|
Тестування
Тестовий режим вмикається опціонально на боці PSP Platon.
Для тестування після редіректа клієнта на сторінку оформлення оплати частинами Приватбанк необхідно ввести тестові реквізити:
Телефон - 988748970
Пароль - password8970
Info |
---|
Увага! При бойовому використанні, якщо було введено телефон який у клієнта підв'язано в Приватбанк і у нього є додаток на телефоні, то замість редіректа в браузер буде редірект в додаток. В інших випадках клієнту відкриється форма Приватбанка для авторизації в браузері. |
Перевірка оплат
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Callback
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Синхронний режим
Стандартний режим роботи. Передавати async = N
не потрібно.
Асинхронний режим
Цей режим активується при передачі async = Y
. В цьому режимі є обов'язковим використання коллбеків.
Принципової різниці у використанні синхронного або асинхронного режимів немає. Вам необхідно вибрати в залежності від найбільш зручного варіанту реалізації саме під ваш проект.
Include Page | ||||
---|---|---|---|---|
|
Помилки запитів
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|