Info |
---|
Цей функціонал буде активовано після вашого запиту в груповому чаті. |
Зміст
Table of Contents | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Опис
Регулярний платіж дозволяє робити списання коштів без участі платника.
В запиті використовується раніше збережена картка у вигляді зашифрованого CARD_TOKEN, який можна отримати при першій транзакції по картці.
Вимоги
Include Page | ||||
---|---|---|---|---|
|
API параметри
HTTP METHOD: POST
API ENDPOINT: https://secure.platononline.com/post-unq/
Параметр | Значення | Опис | Особливості | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| Код платіжного метода | ||||||||||||||
| String | API ключ мерчанта | Ключ надається на пошту мерчанту | |||||||||||||
| String | ID оплати в системі мерчанта | Max 32 символи | |||||||||||||
| Number | Сума оплати |
| |||||||||||||
|
| Валюта |
| |||||||||||||
| String | Опис | Max 255 символів | |||||||||||||
| String | Токен картки |
| |||||||||||||
| String | Пошта платника |
| |||||||||||||
| Number | IP-адрес платника | В форматі "ХХХ.ХХХ.ХХХ.ХХХ"
| |||||||||||||
| String | Посилання куди перейде платник після проби оплати (успішної чи невдалої) | ||||||||||||||
|
| Ознака регулярної оплати | ||||||||||||||
| String | Контрольний підпис |
| |||||||||||||
|
| Включити асинхронний режим | В асинхронному режимі обов'язкове використання коллбеків. | |||||||||||||
| String | Додатковий платіжний канал | Дозволяє відправити оплати на інший банківський термінал | |||||||||||||
| String | Ім'я платника | Max 32 символи без пробілів | |||||||||||||
| String | Прізвище платника | Max 32 символи без пробілів | |||||||||||||
| String | Адреса платника | Max 256 символів | |||||||||||||
| String | Країна платника | В форматі "ХХ" | |||||||||||||
| String | Штат платника | В форматі "ХХ" | |||||||||||||
| String | Місто платника | Max 32 символи | |||||||||||||
| String | Поштовий індекс платника | Max 32 символи | |||||||||||||
| Number | Номер телефону платника | В форматі “380XXXXXXXXX” | |||||||||||||
| String | Номер електронного гаманця платника | Поле обов'язкове для типів бізнесу пов'язаних з віртуальними активами |
Приклад запиту
Приклад запиту
Expand | |||||
---|---|---|---|---|---|
| |||||
Code Block | language |
| |||
|
Iframe | ||||||||
---|---|---|---|---|---|---|---|---|
|
Тестування
В цілях тестування використовуйте card_token
отриманий з коллбека успішної транзакції по одному з вказаних методів:
IE оплата карткою
Верифікація картки
C2A оплата
Виплата на картку по повному номеру картки
Перевірка платежів
title | Список методів отримання результату транзакцій |
---|
Callback
title | Особливості роботи з Callback |
---|
title | Безпека |
---|
Синхронний режим:
Стандартний режим. Передавати async = N
не потрібно.
При успешній оплаті (синхронний режим):
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
(PENDING
, если в запросе было указано auth = Y
)
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
(PENDING
, если в запросе было указано auth = Y
)
order_id
Уникальный ордер ID транзакции в системе мерчанта
trans_id
Уникальный ордер ID транзакции в системе Platon
trans_date
Время проведения транзакции в формате UTC (YYYY-MM-DD HH-MM-SS)
descriptor
NULL
card_hash
Уникальное зашифрованное значение номера карты, которое будет возвращаться в коллбеке при оплате, верификации, погашении и выплате средств на карту.
Этот параметр даст вам возможность в вашей системе:
Привязать карту под клиента.
Проверить не использовал ли другой клиент эту же карту.
Проверить какие кредиты, товары и услуги погашаются данной картой.
Отслеживать мошенничество, когда клиент использует ту же карту с другого аккаунта, например, чтобы повторно воспользоваться акцией.
Info |
---|
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения. |
hash
Зашифрованная подпись для проверки достоверности коллбека
Code Block |
---|
md5(
strtoupper(
strrev(email).
client_pass.
trans_id.
strrev(
substr(card,0,6).
substr(card,-4)
)
)
) |
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.
strrev(
substr(card,0,6).
substr(card,-4)
)
)
) |
Info |
---|
Внимание! Если при запросе на оплату не был указан |
Асинхронний режим:
Цей режим активується при передачі async = Y
. В цьому режимі обов'язково необхідно використовувати callback.
Проміжна відповідь (асинхронний режим):
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)
При успешній оплаті (асинхронний режим):
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,
'recurring_token' => '01e00c2b39bb3b933723307c442efd02',
'card_token' => '8ef3111ac1093f6ccb817acef7f0845601d0994689a5f57949f94b0d086c7fe2',
'hash' => '********************************',
) |
Info |
---|
Для проверки достоверности полученного callback, рекомендуем сверять подпись hash по формуле md5(strtoupper(strrev(email).client_pass.trans_id.strrev(substr(card,0,6).substr(card,-4)))). Внимание! Если при первоначальном запросе на оплату, когда был получен токен не был указан email, то при проверке sing в подписи коллбека следует указать пустое значение для email. |
Параметр
Описание
action
SALE
result
SUCCESS
status
SETTLED
(PENDING
, если в запросе было указано auth = Y
)
order_id
Уникальный ордер ID транзакции в системе мерчанта
trans_id
Уникальный ордер ID транзакции в системе Platon
trans_date
Время проведения транзакции в формате UTC (YYYY-MM-DD HH-MM-SS)
descriptor
NULL
recurring_token
Зашифрованный токен карты для последующих транзакций по rc_token
card_token
Зашифрованный токен карты для последующих транзакций по card_token
hash
Зашифрованная подпись для проверки достоверности коллбека
При невдалій оплаті (асинхронний режим):
Expand | |||||||
---|---|---|---|---|---|---|---|
| |||||||
| |||||||
Параметр | Описание | ||||||
|
| ||||||
|
| ||||||
|
| ||||||
| Уникальный ордер ID транзакции в системе мерчанта | ||||||
| Уникальный ордер ID транзакции в системе Platon | ||||||
| Время проведения транзакции в формате UTC (YYYY-MM-DD HH-MM-SS) | ||||||
| NULL | ||||||
| Причина отмены транзакции |
| Зашифрованная подпись для проверки достоверности коллбека
= 'https://secure.platononline.com/post-unq/';
$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, http_build_query($data));
$result = curl_exec($crq);
if (curl_errno($crq)) {
echo 'ERROR: '.curl_error($crq);
}else{
echo $result;
}
curl_close($crq); |
Info |
---|
Тестування
В цілях тестування використовуйте card_token
отриманий з коллбека успішної транзакції по одному з вказаних методів:
IE оплата карткою
Верифікація картки
C2A оплата
Виплата на картку по повному номеру картки
Перевірка платежів
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Callback
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Синхронний режим
Стандартний режим. Передавати async = N
не потрібно.
Асинхронний режим
Цей режим активується при передачі async = Y
. В цьому режимі обов'язково необхідно використовувати callback.
Include Page | ||||
---|---|---|---|---|
|
Протерміновані токени
Note |
---|
Якщо у відповіді на запит ви отримали одну з вказаних нижче помилок, вам необхідно видалити цей протермінований токен:
|
Warning |
---|
Ці |
Tip |
---|
Необхідно отримати новий |
Помилки запитів
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|