Info |
---|
Цей функціонал буде активовано після вашого запиту в груповому чаті. |
Зміст
Table of Contents | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Опис
Цей функціонал дозволить розмістити на вашому боці інтерфейс оплати частинами для клієнтів ПриватБанк.
Мінімальна сума - 300 грн.
Максимальна сума - 300 000 грн.
Чекліст интеграції
- Привести сайт / додаток до відповідності вимогам.
- Передати тех підтримці PSP Platon посилання для Callback.
- Повідомити тех підтримці PSP Platon ваші IP адреси серверів сайта або про те, що буде використовуватись додаток (в цьому випадку обмеження по IP будуть зняті).
- Провести інтеграцію цього API методу.
- Створити і відобразити клієнту кнопку оплати частинами Приватбанк
- Відобразити клієнту вибір кількості частин за необхідності в проміжку від 2 до 24 платежів (включно).
- Відправити API запит з вашого сервера / додатку відповідно до цього API методу.
- Редіректити платника на сторінку оформлення оплати частинами Приватбанк.
- Отримати 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
не потрібно.
При успішному редіректі (синхронний режим) якщо вказано номер телефону який є у Приватбанк:
Info |
---|
В параметрі |
Expand | |||||
---|---|---|---|---|---|
| |||||
|
Expand | |||||
---|---|---|---|---|---|
| |||||
|
При успішному редіректі (синхронний режим) якщо вказано номер телефону якого немає у Приватбанк:
Info |
---|
В параметрі |
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 |
---|
Увага! Якщо в запиті на оплату не було вказано |
При невдалій оплаті (синхронний режим):
Note |
---|
Увага! Є випадки коли Приватбанк не повертає фінальний статус при невдалій оплаті - в такому кейсі коллбеку з фінальним статусом не буде. |
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 |
---|
Увага! Якщо в запиті на оплату не було вказано |
При невдалій оплаті (асинхронний режим):
Note |
---|
Увага! Є випадки коли Приватбанк не повертає фінальний статус при невдалій оплаті - в такому кейсі коллбеку з фінальним статусом не буде. |
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
)
) |
Увага! Якщо в запиті на оплату не було вказано
email
, то при перевірці sing
в підписі Callback варто вказати пусте значення email
.Асинхронний режим
Цей режим активується при передачі async = Y
. В цьому режимі є обов'язковим використання коллбеків.
Принципової різниці у використанні синхронного або асинхронного режимів немає. Вам необхідно вибрати в залежності від найбільш зручного варіанту реалізації саме під ваш проект.
Include Page | ||||
---|---|---|---|---|
|
Помилки запитів
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|