Skip to end of metadata
Go to start of metadata
You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 16
Next »
Описание
Данный функционал позволяет вам разместить платежную форму на вашей стороне, с вашим уникальным дизайном, и без перехода плательщика на нашу форму ввода карточных данных.
Верификация карты используется кредитными организациями для:
Требования к сайту
API параметры запроса
HTTP METHOD: POST
API ENDPOINT: https://secure.platononline.com/post-unq/
Параметр | Значение | Описание | Особенности | Обязательно |
---|
action
| SALE | Код платежного метода | | ДА |
async
| "Y" или "N" | Включить асинхронный режим | В асинхронном режиме обязательное использование коллбеков. По умолчанию значение "N" | НЕТ |
channel_id
| String | Дополнительный платежный канал | | ДА |
client_key
| String | API ключ мерчанта | Ключ предоставляется на почту мерчанту | ДА |
order_id
| String | ID платежа в системе мерчанта | Max 32 символа | ДА |
order_amount
| 1.00 | Сумма платежа | | ДА |
order_currency
| UAH | Валюта платежа | | ДА |
order_description
| String | Описание платежа | Max 255 символов | ДА |
payer_first_name
| String | Имя плательщика | Max 32 символа без пробелов | НЕТ |
payer_last_name
| String | Фамилия плательщика | Max 32 символа без пробелов | НЕТ |
payer_address
| String | Адрес плательщика | Max 256 символа Укажите "NA", если нет данных | НЕТ |
payer_country
| String | Страна плательщика | Стандарт ISO 3166-1 alpha-2 В формате "ХХ" 2 символа Укажите "NA", если нет данных | НЕТ |
payer_state
| String | Штат плательщика | Стандарт ISO 3166-2 В формате "ХХ" 2 символа Укажите "NA", если нет данных | НЕТ |
payer_city
| String | Город плательщика | Max 32 символа Укажите "NA", если нет данных | НЕТ |
payer_zip
| String | Почтовый индекс плательщика | Max 32 символа Укажите "NA", если нет данных | НЕТ |
payer_email
| String | Почта плательщика | Max 255 символа | ДА |
payer_phone
| Number | Номер телефона плательщика | | НЕТ |
payer_ip
| Number | IP-адрес плательщика | В формате "ХХХ.ХХХ.ХХХ.ХХХ" | ДА |
customer_wallet
| String | Номер електронного кошелька пользователя | Поле обязательно для типов бизнеса связаных с виртуальными активами | НЕТ |
term_url_3ds
| String | Ссылка по которой будет отправлен клиент после успешной оплаты при прохождении 3DS | Max 255 символов | ДА |
card_number
| Number | Полный номер карты | В формате "ХХХХХХХХХХХХХХХХ" 16 символов | ДА |
card_exp_month
| Number | Месяц окончания срока действия карты | В формате "ХХ" 2 символа | ДА |
card_exp_year
| Number | Год окончания срока действия карты | В формате "ХХХХ" 4 символа | ДА |
card_cvv2
| Number | Проверочный код на карте | В формате "ХХХ" 3 символа | ДА |
req_token
| "Y" или "N" | Для получения card_token | По умолчанию "N" | ДА |
recurring_init
| "Y" или "N" | Для получения rc_id и rc_token | По умолчанию "N" | ДА |
auth
| "Y" или "N" | Холдирование средств на карте плательщика | По умолчанию "N" | НЕТ |
hash
| String | Контрольная подпись |
md5(
strtoupper(
strrev(email).
client_pass.
strrev(
substr(card_number,0,6).
substr(card_number,-4)
)
)
)
| ДА |
Примеры запроса
Для просмотра примера раскройте список
Пример запроса на PHP
<?php
$client_pass = '***';
$data['action'] = 'SALE';
$data['client_key'] = '***';
$data['order_id'] = '546-4588';
$data['order_amount'] = '1.00';
$data['order_currency'] = 'UAH';
$data['order_description'] = 'test';
$card_number = '4111111111111111';
$data['card_cvv2'] = '159';
$data['card_exp_month'] = '01';
$data['card_exp_year'] = '2022';
$data['payer_first_name'] = 'Ivan';
$data['payer_last_name'] = 'Ivanov';
$data['payer_phone'] = '380111111111';
$data['payer_address'] = 'NA';
$data['payer_country'] = 'UA';
$data['payer_state'] = 'NA';
$data['payer_city'] = 'Kiev';
$data['payer_zip'] = '01001';
$data['payer_email'] = 'sale@gmail.com';
$data['payer_ip'] = '213.186.115.164';
$data['req_token'] = 'N';
$data['recurring_init'] = 'N';
$data['term_url_3ds'] = 'https://google.com';
$hash = md5(
strtoupper(
strrev(
$data['payer_email']).
($client_pass).
strrev(
substr($card_number,0,6).
substr($card_number,-4)
)
)
);
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>sale</title>
</head>
<body onload="javascript:document.forms[0].submit()">
<form action="https://secure.platononline.com/post-unq/" method="post">
<input type="hidden" name="action" value="<?=$data['action']?>" />
<input type="hidden" name="client_key" value="<?=$data['client_key']?>" />
<input type="hidden" name="order_id" value="<?=$data['order_id']?>" />
<input type="hidden" name="order_amount" value="<?=$data['order_amount']?>" />
<input type="hidden" name="order_currency" value="<?=$data['order_currency']?>" />
<input type="hidden" name="order_description" value="<?=$data['order_description']?>" />
<input type="hidden" name="card_number" value="<?=$card_number ?>" />
<input type="hidden" name="card_cvv2" value="<?=$data['card_cvv2']?>" />
<input type="hidden" name="card_exp_month" value="<?=$data['card_exp_month']?>" />
<input type="hidden" name="card_exp_year" value="<?=$data['card_exp_year']?>" />
<input type="hidden" name="payer_first_name" value="<?=$data['payer_first_name']?>" />
<input type="hidden" name="payer_last_name" value="<?=$data['payer_last_name']?>" />
<input type="hidden" name="payer_phone" value="<?=$data['payer_phone']?>" />
<input type="hidden" name="payer_address" value="<?=$data['payer_address']?>" />
<input type="hidden" name="payer_country" value="<?=$data['payer_country']?>" />
<input type="hidden" name="payer_state" value="<?=$data['payer_state']?>" />
<input type="hidden" name="payer_city" value="<?=$data['payer_city']?>" />
<input type="hidden" name="payer_zip" value="<?=$data['payer_zip']?>" />
<input type="hidden" name="payer_email" value="<?=$data['payer_email']?>" />
<input type="hidden" name="payer_ip" value="<?=$data['payer_ip']?>" />
<input type="hidden" name="req_token" value="<?=$data['req_token']?>" />
<input type="hidden" name="recurring_init" value="<?=$data['recurring_init']?>" />
<input type="hidden" name="term_url_3ds" value="<?=$data['term_url_3ds']?>" />
<input type="hidden" name="hash" value="<?=$hash?>" />
</form>
</body>
</html>
Тестирование
Тестирование нулевой верификации производиться только реальными картами.
Проверка платежей
Получить информацию о платежах можно несколькими способами:
Работа с Callback
Callback и Response (Синхронный режим)
Для просмотра примера раскройте список
Промежуточный Response при наличии проверки 3DS
{
"action":"SALE",
"result":"REDIRECT",
"status":"3DS",
"order_id":"6b51033e-3e58-42e0-8ec3-88c97388018b",
"trans_id":"28738-47774-55067",
"trans_date":"2020-04-20 12:12:57",
"redirect_url":"https:\/\/acs.privatbank.ua\/pPaReqMC.jsp",
"redirect_params":{
"PaReq":"eJxVUllu2zAQvYqg\/4qUIlFUMGYgxykaoEqN2j4AIxGxUi2Olsb+K\/qTG+S3VygKpGhRtL0CdaMMHWUDSHDeLJw3Cxxty8L6rJo2r6uJ7TrUtlSV1lleXUzs1fLtG24fCViuG6VmC5X2jRKQqLaVF8rKs4k9lx\/VlRvw8ID7YRhFYcgDHrmeF\/KQc8apG\/jcFjCP0U\/AmElgIscD8gjxyyZdy6oTINOr6emZwCgWcCAjhFI1pzPBXB66jAF5gFDJUolpPF29P1k4xx8SZxUD2Sshrfuqa3aCUx\/II4C+KcS66zbtISGbQnZ1VeSVctK6BGJsQJ6ZzHsjtfjXNs9EMouv8e7w0uQy3p4t6HWy\/IT4ZALEeEAmOyU86lHqe9RyvUM8QQRkrwdZGhKmcoplPQDYmBzxaDGGlwrAdjc4jZ2IOJqeEKjtpq4UemALn2TIVJsK\/U3fDV\/0nf4x3OL7b7jRf\/Uv\/dvS\/\/Uf\/X34Otzqn9a5PO8L1Zq6nV4iQxMK5Lni43dmEmmHTfZdN2CMMz\/wzTj2OsMgx356B5TtKRgAxESRcdJk3BKUXm3PPfYf2CM=",
"TermUrl":"https:\/\/secure.platononline.com\/3ds\/4de0025?operation_type=purchase&trans_id=28738-47774-55067&hash=*****************************************************************************"
}
}
Параметры | Описание |
---|
action | SALE |
result | REDIRECT |
status | 3DS |
order_id | Уникальный ордер ID транзакции в системе мерчанта |
trans_id | Уникальный ордер ID транзакции в системе Platon |
trans_date | Время проведения транзакции в формате UTC (YYYY-MM-DD HH-MM-SS) |
redirect_url | URL, на который должен быть перенаправлен плательщик |
redirect_params | Строка параметров |
Промежуточный Callback при наличии проверки 3DS
array (
'action' => 'SALE',
'result' => 'REDIRECT',
'status' => '3DS',
'order_id' => '6b51033e-3e58-42e0-8ec3-88c97388018b',
'trans_id' => '28738-47774-55067',
'trans_date' => '2020-04-20 12:12:57',
'redirect_url' => 'https://acs.privatbank.ua/pPaReqMC.jsp',
'redirect_params' =>
array (
'PaReq' => 'eJxVUllu2zAQvYqg/4qUIlFUMGYgxykaoEqN2j4AIxGxUi2Olsb+K/qTG+S3VygKpGhRtL0CdaMMHWUDSHDeLJw3Cxxty8L6rJo2r6uJ7TrUtlSV1lleXUzs1fLtG24fCViuG6VmC5X2jRKQqLaVF8rKs4k9lx/VlRvw8ID7YRhFYcgDHrmeF/KQc8apG/jcFjCP0U/AmElgIscD8gjxyyZdy6oTINOr6emZwCgWcCAjhFI1pzPBXB66jAF5gFDJUolpPF29P1k4xx8SZxUD2Sshrfuqa3aCUx/II4C+KcS66zbtISGbQnZ1VeSVctK6BGJsQJ6ZzHsjtfjXNs9EMouv8e7w0uQy3p4t6HWy/IT4ZALEeEAmOyU86lHqe9RyvUM8QQRkrwdZGhKmcoplPQDYmBzxaDGGlwrAdjc4jZ2IOJqeEKjtpq4UemALn2TIVJsK/U3fDV/0nf4x3OL7b7jRf/Uv/dvS//Uf/X34Otzqn9a5PO8L1Zq6nV4iQxMK5Lni43dmEmmHTfZdN2CMMz/wzTj2OsMgx356B5TtKRgAxESRcdJk3BKUXm3PPfYf2CM=',
'TermUrl' => 'https://secure.platononline.com/3ds/4de0025?operation_type=purchase&trans_id=28738-47774-55067&hash=***************************************************
),
'redirect_method' => 'POST',
'hash' => '********************************',
)
Параметры | Описание |
---|
action | SALE |
result | REDIRECT |
status | 3DS |
order_id | Уникальный ордер ID транзакции в системе мерчанта |
trans_id | Уникальный ордер ID транзакции в системе Platon |
trans_date | Время проведения транзакции в формате UTC (YYYY-MM-DD HH-MM-SS) |
redirect_url | URL, на который должен быть перенаправлен плательщик |
redirect_params | Строка параметров |
redirect_method | Метод передачи параметров (POST/GET) |
hash | Зашифрованная подпись для проверки достоверности коллбека |
Response при успешном списании
{
"action":"SALE",
"result":"SUCCESS",
"status":"SETTLED",
"order_id":"4385302",
"trans_id":"28261-34099-19648",
"descriptor":null,
"trans_date":"2020-02-25 06:50:09"
"recurring_token":"01e00c2b39bb3b933723307c442efd02",
"card_token":"8ef3111ac1093f6ccb817acef7f0845601d0994689a5f57949f94b0d086c7fe2"
}
Параметр | Описание |
---|
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 |
Callback при успешном списании
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' => '********************************',
)
Параметр | Описание |
---|
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 |
card_hash | Уникальное зашифрованное значение номера карты, которое будет возвращаться в коллбеке при оплате, верификации, погашении и выплате средств на карту. Этот параметр даст вам возможность в вашей системе: Привязать карту под клиента. Проверить не использовал ли другой клиент эту же карту. Проверить какие кредиты, товары и услуги погашаются данной картой. Отслеживать мошенничество, когда клиент использует ту же карту с другого аккаунта, например, чтобы повторно воспользоваться акцией.
|
hash | Зашифрованная подпись для проверки достоверности коллбека
md5(
strtoupper(
strrev(email).
client_pass.
trans_id.
strrev(
substr(card,0,6).
substr(card,-4)
)
)
)
|
Response при неуспешном списании
{
"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 | Причина отмены транзакции |
Callback при неуспешном списании
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 | Зашифрованная подпись для проверки достоверности коллбека
md5(
strtoupper(
strrev(email).
client_pass.
trans_id.
strrev(
substr(card,0,6).
substr(card,-4)
)
)
)
|
Callback и Response (Асинхронный режим)
Данный режим активируется при передаче async = Y
. В этом режиме обязательно необходимо принимать callback на ваш callback url.
Для просмотра примера раскройте список
Response о принятии запроса в обработку
{
"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) |
Промежуточный Callback при наличии проверки 3DS
array (
'action' => 'SALE',
'result' => 'REDIRECT',
'status' => '3DS',
'order_id' => '6b51033e-3e58-42e0-8ec3-88c97388018b',
'trans_id' => '28738-47774-55067',
'trans_date' => '2020-04-20 12:12:57',
'redirect_url' => 'https://acs.privatbank.ua/pPaReqMC.jsp',
'redirect_params' =>
array (
'PaReq' => 'eJxVUllu2zAQvYqg/4qUIlFUMGYgxykaoEqN2j4AIxGxUi2Olsb+K/qTG+S3VygKpGhRtL0CdaMMHWUDSHDeLJw3Cxxty8L6rJo2r6uJ7TrUtlSV1lleXUzs1fLtG24fCViuG6VmC5X2jRKQqLaVF8rKs4k9lx/VlRvw8ID7YRhFYcgDHrmeF/KQc8apG/jcFjCP0U/AmElgIscD8gjxyyZdy6oTINOr6emZwCgWcCAjhFI1pzPBXB66jAF5gFDJUolpPF29P1k4xx8SZxUD2Sshrfuqa3aCUx/II4C+KcS66zbtISGbQnZ1VeSVctK6BGJsQJ6ZzHsjtfjXNs9EMouv8e7w0uQy3p4t6HWy/IT4ZALEeEAmOyU86lHqe9RyvUM8QQRkrwdZGhKmcoplPQDYmBzxaDGGlwrAdjc4jZ2IOJqeEKjtpq4UemALn2TIVJsK/U3fDV/0nf4x3OL7b7jRf/Uv/dvS//Uf/X34Otzqn9a5PO8L1Zq6nV4iQxMK5Lni43dmEmmHTfZdN2CMMz/wzTj2OsMgx356B5TtKRgAxESRcdJk3BKUXm3PPfYf2CM=',
'TermUrl' => 'https://secure.platononline.com/3ds/4de0025?operation_type=purchase&trans_id=28738-47774-55067&hash=***************************************************
),
'redirect_method' => 'POST',
'hash' => '********************************',
)
Параметры | Описание |
---|
action
| SALE
|
result
| REDIRECT
|
status
| 3DS
|
order_id
| Уникальный ордер ID транзакции в системе мерчанта |
trans_id
| Уникальный ордер ID транзакции в системе Platon |
trans_date
| Время проведения транзакции в формате UTC (YYYY-MM-DD HH-MM-SS) |
redirect_url
| URL, на который должен быть перенаправлен плательщик |
redirect_params
| Строка параметров |
redirect_method
| Метод передачи параметров (POST/GET) |
hash
| Зашифрованная подпись для проверки достоверности коллбека |
Callback при успешном списании
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' => '********************************',
)
Параметр | Описание |
---|
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 |
card_hash
| Уникальное зашифрованное значение номера карты, которое будет возвращаться в коллбеке при оплате, верификации, погашении и выплате средств на карту. Этот параметр даст вам возможность в вашей системе: Привязать карту под клиента. Проверить не использовал ли другой клиент эту же карту. Проверить какие кредиты, товары и услуги погашаются данной картой. Отслеживать мошенничество, когда клиент использует ту же карту с другого аккаунта, например, чтобы повторно воспользоваться акцией.
|
hash
| Зашифрованная подпись для проверки достоверности коллбека
md5(
strtoupper(
strrev(email).
client_pass.
trans_id.
strrev(
substr(card,0,6).
substr(card,-4)
)
)
)
|
Callback при неуспешном списании
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
| Зашифрованная подпись для проверки достоверности коллбека
md5(
strtoupper(
strrev(email).
client_pass.
trans_id.
strrev(
substr(card,0,6).
substr(card,-4)
)
)
)
|