Зміст
Table of Contents | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Описание
Данный функционал позволяет вам разместить платежную форму на вашей стороне, с вашим уникальным дизайном, и без перехода плательщика на нашу форму ввода карточных данных.
Также, получить преимущество при погашении клиентами кредитных организаций используя пониженный тариф по Дебету.
Tip |
---|
Внимание! Данный запрос выполняется в несколько этапов:
|
Требования к сайту
Expand | ||
---|---|---|
| ||
Наличие у мерчанта PCI DSS сертификата или PCI Compliance (сканирования).
|
Expand | ||
---|---|---|
| ||
У вашего сайта должен быть SSL сертификат. Для проверки валидности и срока действия вашего SSL сертификата рекомендуем воспользоваться сервисом по ссылке. |
title | Логотипы платежных систем и PSP Platon |
---|
В футере вашего сайта необходимо разместить логотипы платежных систем и PSP Platon.
Скачайте подходящие под стиль вашего сайта варианты логотипов.
Expand | ||
---|---|---|
| ||
Необходима поддержка протокола TLS не ниже версии 1.2 |
API параметры №1
HTTP METHOD: POST
API ENDPOINT: https://secure.platononline.com/p2p-debit/
Параметр
Значение
Описание
Особенности
action
Status | ||||
---|---|---|---|---|
|
DEBIT_PREPARE
Код платежного метода
async
Status | ||||
---|---|---|---|---|
|
Y
N
Включить асинхронный режим
В асинхронном режиме обязательное использование коллбеков.
По умолчанию значение "N"
Опис
Оплата по технології C2A дебет з обробкою карткових даних.
Info |
---|
Обов'язкова наявність у мерчанта PCI DSS. |
Tip |
---|
Увага! Цей запит виконується в декілька етапів:
|
Вимоги
Include Page | ||||
---|---|---|---|---|
|
API параметри №1
HTTP METHOD: POST
API ENDPOINT: https://secure.platononline.com/p2p-debit/
Параметр | Значення | Опис | Особливості | ||||||
---|---|---|---|---|---|---|---|---|---|
|
| Код платіжного методу |
| ||||||
|
| Асинхронний режим | Стандартне значення "N" можна не передавати | ||||||
| String | Додатковий платіжний канал | Відправка коштів на окремий платіжний термінал | ||||||
| String | API ключ мерчанта | Ключ надається на пошту мерчанту | ||||||
|
|
client_key
| String |
Дополнительный платежный канал
Позволяет отправить платежи на другой банковский терминал
ID оплати в системі мерчанта | Max 32 символи | ||||
|
String
API ключ мерчанта
Ключ предоставляется на почту мерчанту
order_id
Max 32 символа
| Number | Сума оплати |
| |||||||
|
String
ID платежа в системе мерчанта
|
| Валюта оплати |
| ||||
|
|
|
String |
order_currency
Опис оплати |
Tip |
---|
Верный вариант 1000.00 |
Warning |
---|
Неверные варианты 1000 |
Max 255 символов | |||||||||
| String | Ім'я платника | Max 32 символів без пробілів | ||||||
|
|
UAH
order_description
String |
Валюта платежа
Info |
---|
Оплата возможна только в национальной валюте гривне |
Прізвище платника | Max 32 символів без пробілів | ||||
|
payer_first_name
| String |
Описание платежа
Note |
---|
Для кириллических символов необходимо использовать формат UTF-8 |
Max 255 символов
Адреса платника | Max 256 символів | ||||
|
payer_last_name
| String |
Имя плательщика
Max 32 символа без пробелов
Укажите "NA", если нет данных
Країна платника | Стандарт ISO 3166-1 alpha-2 | ||||
|
payer_address
| String |
Фамилия плательщика
Max 32 символа без пробелов
Укажите "NA", если нет данных
Штат платника | Стандарт ISO 3166-2 | ||||
|
| String |
Місто платника | Max |
32 символи |
Вкажіть "NA" |
якщо немає даних |
|
|
payer_state
| String |
Страна плательщика
Стандарт ISO 3166-1 alpha-2
В формате "ХХ"
2 символа
Укажите "NA", если нет данных
Поштовий індекс платника | Max 32 символи | ||||||||||||
| String | Пошта платника |
Max 255 символа | ||||||||||
|
payer_city
| String |
Штат плательщика
Note |
---|
Обязательный параметр для стран US, CA, AU |
Стандарт ISO 3166-2
В формате "ХХ"
2 символа
Укажите "NA", если нет данных
Номер телефону платника |
| ||||||||||
| Number | IP-адреса платника | В форматі "ХХХ.ХХХ.ХХХ.ХХХ"
| ||||||||
|
payer_zip
|
String
Город плательщика
Max 32 символа
Укажите "NA", если нет данных
Number | Повний номер картки | В форматі "ХХХХХХХХХХХХХХХХ" | |||
|
payer_email
|
String
Почтовый индекс плательщика
Max 32 символа
Укажите "NA", если нет данных
Number | Місяць терміну дії картки | В форматі "ХХ" | |||
|
payer_phone
|
String
Почта плательщика
Info |
---|
Обязательно валидная почта. |
Info |
---|
Отсутствие пробелов. |
Max 255 символа
Number | Рік терміну дії картки | В форматі "ХХХХ" | |||
|
payer_ip
|
String
Номер телефона плательщика
Info |
---|
Обязательный формат телефона 380… |
Укажите "NA", если нет данных
Number | CVV код | В форматі "ХХХ" | ||||
|
card_number
|
Number
IP-адрес плательщика
В формате "ХХХ.ХХХ.ХХХ.ХХХ"
Note |
---|
IPv6 на данный момент не поддерживается |
| Для формування card_token | Стандартне значення "N" | |||
|
card_exp_month
|
Number
Полный номер карты
В формате "ХХХХХХХХХХХХХХХХ"
16 символов
String | Посилання по якому буде відправлено платника після успішної / невдалої спроби оплати після 3DS | Max 255 символів | |
|
|
card_exp_year
String |
Number
Месяц окончания срока действия карты
В формате "ХХ"
2 символа
ІПН платника | |||||
|
card_cvv2
Status | ||||
---|---|---|---|---|
|
Number
Проверочный код на карте
В формате "ХХХ"
3 символа
req_token
Status | ||||
---|---|---|---|---|
|
Y
N
Для получения card_token
По умолчанию "N"
term_url_3ds
Status | ||||
---|---|---|---|---|
|
String
Ссылка по которой будет отправлен клиент после успешной / не успешной оплаты после 3DS
Max 255 символов
signature
Status | ||||
---|---|---|---|---|
|
String
Контрольная подпись
language | php |
---|
|
Number
Год окончания срока действия карты
В формате "ХХХХ"
4 символа
String | Контрольний підпис |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
API параметры №2
HTTP METHOD: POST
API ENDPOINT: https://secure.platononline.com/p2p-debit/
Параметр
Значение
Описание
Особенности
action
|
API параметри №2
HTTP METHOD: POST
API ENDPOINT: https://secure.platononline.com/p2p-debit/
Параметр | Значення | Опис | Особливості | |||||
---|---|---|---|---|---|---|---|---|
|
| Код платежного |
методу |
| ||||
|
| String | API ключ мерчанта | Ключ |
надається на |
пошту мерчанта | |||||
|
| String | ID |
оплати в |
системі PSP Platon |
Уникальный ордер ID транзакции в Platon
|
| Number |
CVV код |
В |
форматі "ХХХ" |
символи | |||||
|
| String |
Контрольний підпис |
|
Приклад запиту
Expand | |||||
---|---|---|---|---|---|
| |||||
|
Callback
title | Особенности работы с Callback |
---|
title | Безопасность |
---|
Промежуточная инициализация плательщикапо API запросу №1:
Expand | |||||
---|---|---|---|---|---|
| |||||
|
Промежуточный редирект плательщика на 3DS по API запросу №2:
Expand | |||||
---|---|---|---|---|---|
| |||||
|
При успешной оплате:
Expand | ||
---|---|---|
| ||
|
title | Callback при успешном списании |
---|
Code Block | ||
---|---|---|
| ||
array (
'action' => 'DEBIT_RUN',
'result' => 'SUCCESS',
'status' => 'SETTLED',
'order_id' => '4385323',
'trans_id' => '28261-47789-28578',
'trans_date' => '2020-02-25 07:12:58',
'card_token' => '8ef3111ac1093f6ccb817acef7f0845601d0994689a5f57949f94b0d086c7fe2',
'hash' => '********************************',
) |
Параметр
Описание
action
DEBIT_RUN
result
SUCCESS
status
SETTLED
order_id
Уникальный ордер ID транзакции в системе мерчанта
trans_id
Уникальный ордер ID транзакции в системе Platon
trans_date
Время проведения транзакции в формате UTC (YYYY-MM-DD HH-MM-SS)
card_token
Зашифрованный токен карты для последующих транзакций по card_token
hash
Зашифрованная подпись для проверки достоверности коллбека
При неуспешной оплате:
Expand | ||
---|---|---|
| ||
|
Expand | |||||
---|---|---|---|---|---|
| |||||
| |||||
Параметр | Описание | ||||
|
| ||||
|
| ||||
|
| ||||
| Уникальный ордер ID транзакции в системе мерчанта | ||||
| Уникальный ордер ID транзакции в системе Platon | ||||
| Время проведения транзакции в формате UTC (YYYY-MM-DD HH-MM-SS) | ||||
| Описание ошибки |
| Зашифрованная подпись для проверки достоверности коллбека
$key => $value) {
$tempData[] = $key.'='.urlencode($value);
}
$crq = curl_init();
curl_setopt($crq, CURLOPT_URL, $url);
curl_setopt($crq, CURLOPT_HEADER, 0);
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, implode('&', $tempData));
$result = curl_exec($crq);
if (curl_errno($crq)) {
echo 'ERROR: '.curl_error($crq);
}
curl_close($crq);
echo $result;
$moda = json_decode($result, true);
$pars['action']='DEBIT_RUN';
$pars['client_key']='*******';
$pars['trans_id']=$moda['trans_id'];
$pars['card_cvv2']='111';
$pars['signature']= sha1($pass . strtolower(implode('', $pars)));
$temp = array();
foreach ($pars as $key => $value) {
$temp[] = $key.'='.urlencode($value);
}
$crq = curl_init();
curl_setopt($crq, CURLOPT_URL, $url);
curl_setopt($crq, CURLOPT_HEADER, 0);
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, implode('&', $temp));
$res = curl_exec($crq);
if (curl_errno($crq)) {
echo 'ERROR: '.curl_error($crq);
}
curl_close($crq);
echo $res;
$respRedirect = json_decode($res, true);
echo $respRedirect['redirect_url'];
header('Location: '.$respRedirect['redirect_url']);
?> |
Callback
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Include Page | ||||
---|---|---|---|---|
|