...
Описание
Данный метод позволяет получить преимущество при погашении клиентами кредитных организаций используя пониженный тариф по Дебету.
Cо стороны плательщика проводится обычная оплата с вводом всех карточных данных
Обязательные требования к сайту
Разместить логотипы платежных систем Visa и Mastercard
Добавить логотипы PSP Platon
API параметры запроса
...
|
---|
minLevel | 1 |
---|
maxLevel | 2 |
---|
indent | 0px |
---|
absoluteUrl | true |
---|
style | circle |
---|
|
Оплата по технології C2A дебет з обробкою карткових даних.
Info |
---|
Обов'язкова наявність у мерчанта PCI DSS. |
Tip |
---|
Увага! Цей запит виконується в декілька етапів: Ініциалізація (API запит №1) Підтвердження (API запит №2) Редірект платника на 3DS
|
Include Page |
---|
| Вимоги до сайтів та додатків |
---|
| Вимоги до сайтів та додатків |
---|
|
HTTP METHOD: POST
API ENDPOINT: https://secure.platononline.com/p2p-debit/
...
Значение
...
Описание
...
Особенности
...
Обязательно
...
| Значення | Опис | Особливості |
---|
action
Status |
---|
colour | Green |
---|
title | Обов'язковий |
---|
|
| DEBIT_PREPARE
| Код |
...
...
Да
...
|
async
Status |
---|
colour | Yellow |
---|
title | не Обов'язковий |
---|
|
| Y
N
|
...
...
Стандартне значення "N" можна не передавати |
...
Нет
channel_id
Status |
---|
colour | Yellow |
---|
title | не Обов'язковий |
---|
|
| String |
...
Додатковий платіжний канал |
...
Позволяет отправить платежи на другой банковский терминал
Відправка коштів на окремий платіжний термінал |
client_key
Status |
---|
colour | Green |
---|
title | Обов'язковий |
---|
|
| String | API ключ мерчанта | Ключ |
...
...
...
Да
order_id
Status |
---|
colour | Green |
---|
title | Обов'язковий |
---|
|
| String | ID |
...
...
...
...
Да
order_amount
Status |
---|
colour | Green |
---|
title | Обов'язковий |
---|
|
| Number |
...
...
...
Невалідні варіанти 1000 1000.0 1,000.0 1,000.00 |
|
...
|
order_currency
Status |
---|
colour | Green |
---|
title | Обов'язковий |
---|
|
| UAH
| Валюта |
...
...
Да
можлива лише в національній валюті гривні |
|
order_description
Status |
---|
colour | Green |
---|
title | Обов'язковий |
---|
|
| String |
...
...
криличних символів треба використовувати формат UTF-8 |
Max 255 символов |
...
Да
payer_first_name
Status |
---|
colour | Green |
---|
title | Обов'язковий |
---|
|
| String |
...
...
...
пробілів Вкажіть "NA" якщо немає даних |
payer_last_name
Status |
---|
colour | Green |
---|
title | Обов'язковий |
---|
|
| String |
...
...
...
пробілів Вкажіть "NA" якщо немає даних |
payer_address
Status |
---|
colour | Green |
---|
title | Обов'язковий |
---|
|
| String |
...
...
...
...
якщо немає даних |
payer_country
Status |
---|
colour | Green |
---|
title | Обов'язковий |
---|
|
| String |
...
...
...
|
payer_state
Status |
---|
colour | Green |
---|
title | Обов'язковий |
---|
|
| String | Штат |
...
...
...
|
payer_city
Status |
---|
colour | Green |
---|
title | Обов'язковий |
---|
|
| String |
...
...
...
...
Да
...
якщо немає даних |
payer_zip
|
...
String
Status |
---|
colour | Green |
---|
title | Обов'язковий |
---|
|
| String | Поштовий індекс платника | Max 32 |
...
Да
символи |
payer_email
Status |
---|
colour | Green |
---|
title | Обов'язковий |
---|
|
| String |
...
| Пошта платника | Info |
---|
Обов'язково валідна пошта |
Max 255 символа |
...
Да
...
Status |
---|
colour | Green |
---|
title | Обов'язковий |
---|
|
| String | Номер |
...
...
Note |
---|
Если ваше юр. лицо открыто в Приватбанк и вы передаете в запросе телефон плательщика, то: обязательный формат телефона 380…
номер телефона должен соответствовать финансовому номеру привязанному к карте
|
Info |
---|
Обов'язковий формат телефону 380… |
|
payer_ip
Status |
---|
colour | Green |
---|
title | Обов'язковий |
---|
|
| Number | IP- |
...
...
форматі "ХХХ.ХХХ.ХХХ.ХХХ" |
...
...
|
card_number
Status |
---|
colour | Green |
---|
title | Обов'язковий |
---|
|
| Number |
...
...
...
форматі "ХХХХХХХХХХХХХХХХ" 16 |
...
...
Да
...
...
Number
...
Месяц окончания срока действия карты
Status |
---|
colour | Green |
---|
title | Обов'язковий |
---|
|
| Number | Місяць терміну дії картки | В форматі "ХХ" 2 символа |
...
Да
card_exp_year
Status |
---|
colour | Green |
---|
title | Обов'язковий |
---|
|
| Number |
...
...
...
Да
card_cvv2
Status |
---|
colour | Green |
---|
title | Обов'язковий |
---|
|
| Number |
...
...
...
...
Да
req_token
Status |
---|
colour | Green |
---|
title | Обов'язковий |
---|
|
| Y
N
| Для |
...
...
...
Да
...
hash
...
String
...
Контрольная подпись
...
...
Да
Примеры запроса:
Для просмотра примера раскройте список
...
|
term_url_3ds
Status |
---|
colour | Green |
---|
title | Обов'язковий |
---|
|
| String | Посилання по якому буде відправлено платника після успішної / невдалої спроби оплати після 3DS | Max 255 символів |
itn
Status |
---|
colour | Yellow |
---|
title | не Обов'язковий |
---|
|
| String | ІПН платника | |
signature
Status |
---|
colour | Green |
---|
title | Обов'язковий |
---|
|
| String | Контрольний підпис | Code Block |
---|
| sha1(
$pass.
strtolower(
implode(
'',
$action.
$client_key.
$order_id.
$order_amount.
$order_currency.
$order_description.
$card_number.
$card_exp_month.
$card_exp_year.
$card_cvv2.
$payer_first_name.
$payer_last_name.
$payer_phone.
$payer_address.
$payer_country.
$payer_state.
$payer_city.
$payer_zip.
$payer_email.
$payer_ip.
$term_url_3ds.
)
)
) |
Note |
---|
Значення в hash мають відповідати послідовності полів в самому запиті. |
|
HTTP METHOD: POST
API ENDPOINT: https://secure.platononline.com/p2p-debit/
Параметр | Значення | Опис | Особливості |
---|
action
Status |
---|
colour | Green |
---|
title | Обов'язковий |
---|
|
| DEBIT_RUN
| Код платежного методу | |
client_key
Status |
---|
colour | Green |
---|
title | Обов'язковий |
---|
|
| String | API ключ мерчанта | Ключ надається на пошту мерчанта |
trans_id
Status |
---|
colour | Green |
---|
title | Обов'язковий |
---|
|
| String | ID оплати в системі PSP Platon | |
card_cvv2
Status |
---|
colour | Green |
---|
title | Обов'язковий |
---|
|
| Number | CVV код | В форматі "ХХХ" 3 символи |
signature
Status |
---|
colour | Green |
---|
title | Обов'язковий |
---|
|
| String | Контрольний підпис | Code Block |
---|
| sha1(
$pass.
strtolower(
implode(
'',
$action,
$client_key,
$trans_id,
$card_cvv2
)
)
) |
|
Expand |
---|
title | Приклад запиту на PHP |
---|
|
|
...
***************';
$params['action']='DEBIT_PREPARE';
$params['client_key']=' |
|
...
******';
$params['order_id']='Platon_test_37254'.rand( |
|
...
...
999);
$params['order_amount']=' |
|
...
...
00';
$params['order_currency']='UAH';
$params['order_description']='test_by_Platon';
$params['card_number'] = ' |
|
...
1111111111111111';
$params['card_exp_month'] = ' |
|
...
11';
$params['card_exp_year'] = ' |
|
...
1111';
$params['card_cvv2'] = ' |
|
...
111';
$params['payer_first_name']='Jack';
$params['payer_last_name']=' |
|
...
Anderson';
$params['payer_phone']=' |
|
...
380962111111';
$params['payer_address']='NA';
$params['payer_country']='UA';
$params['payer_state']='NA';
$params['payer_city']='NA';
$params['payer_zip']='01001';
$params['payer_email']='test@test.com';
$params['payer_ip']=' |
|
...
...
...
...
111';
$params['term_url_3ds']='https:// |
|
...
...
com';
$params['signature'] = sha1($pass . strtolower(implode('', $params)));
$url = 'https://secure.platononline.com/p2p-debit/';
$tempData = array();
foreach ($params as $key => $value) {
$tempData[] = $key.'='.urlencode($value);
|
|
...
}
$crq = curl_init();
curl_setopt($crq, CURLOPT_URL, $url);
curl_setopt($crq, CURLOPT_HEADER, 0);
curl_setopt |
|
...
Получение статуса транзакции в Callback и Response:
Tip |
---|
Ответы будут поступать с наших IP: 78.140.172.231 62.113.223.114 78.140.135.130 167.99.253.235 |
Info |
---|
Для получения коллбеков отправьте ссылку на ваш обработчик в ваш групповой чат. Ссылка для коллбеков прописывается на стороне Platon. |
После отправки коллбека в ответ Platon должен получить код HTTP 200 OK. Если коллбек не удалось доставить будет произведено до 5 попыток повторной отправки в течение 60 секунд.
Опциональные варианты активация которых происходит по вашему обращению в групповом чате:
Коллбеки в формате JSON
Basic Authorization
Синхронный режим:
Для просмотра примера раскройте список
Асинхронный режим:
Данный режим активируется при передаче ‘async’='Y'. В этом режиме обязательно необходимо принимать callback на ваш callback url.
Для просмотра примера раскройте список
Дополнительная проверка оплаты:
...
($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']);
?> |
|
Expand |
---|
title | Особливості роботи з Callback |
---|
|
Include Page |
---|
| Робота з Callback |
---|
| Робота з Callback |
---|
|
|
Include Page |
---|
| Callback / Response - DEBIT |
---|
| Callback / Response - DEBIT |
---|
|