Info |
---|
Этот функционал будет активирован после вашего запроса в групповом чате. Также обязательно сообщите IP адреса, с которых будут отправляться запросы для добавления в белый список. |
Note |
---|
Ваш сайт должен работать по схеме HTTPS и поддерживать протокол TLS 1.2. |
Описание
:После успешного холдирования средств на карте плательщика, и проверки наличия товара или услуги необходимо провести подтверждение списания средств на ваш расчетный счет используя данный метод с расщеплением списаных средств на несколько реквизитов.
Также рекомендуем ознакомиться с разделом Особенности HOLD
Note |
---|
На 25 день произойдет автоматическое списание средств, если за этот период вами не было произведено никаких действий |
Note |
---|
Подтверждение списания возможно только при отправке запроса с API ключа и юр. лица, что были на момент холдирования |
API
Endpoint (cсылка для отправки запросов):параметры запроса
HTTP METHOD:
API ENDPOINT: https://secure.platononline.com/post-unq/
Описание параметров запроса:
Параметр | Значение | Описание | Особенности | Обязательно |
---|
action
| CAPTURE
| Код платежного метода | Только одно значение | |
client_key
| String | API ключ мерчанта | Ключ предоставляется на почту мерчанту | |
trans_id
| String | ID транзакции Platon | ID транзакции в системе Platon | |
amount
| Number | Сумма списания | Должна быть меньше или равна сумме холдирования Tip |
---|
Верный вариант 1000.00 |
Warning |
---|
Неверные варианты 1000 1000.0 1,000.0 1,000.00 |
| |
ext10split_rules
| String | Суммы к списанию и ОКПО с расщепленного платежа | Передача данных для списания в формате JSON. Подтверждение списания может быть частичным, но в сумме равной или меньшей изначальной части платежа зачисленного на каждое ОКПО. Note |
---|
Общая сумма списания обязательно должна равняться сумме расщепленного платежа. amount1 + amount2 = amount |
|
ext10split_rules = {
"okpo1":"amount1",
"okpo2":"amount2"
} |
| |
hash
| String | Контрольная подпись | Code Block |
---|
| md5(
strtoupper(
strrev(email).
client_pass.
trans_id.
strrev(
substr(card_number,0,6).
substr(card_number,-4)
)
)
) |
Info |
---|
Если при первоначальном запросе на оплату не был указан email , то следует указать пустое значение для email . |
| |
Примеры запроса
:Для просмотра примера раскройте список
Expand |
---|
title | Пример запроса на PHP |
---|
|
Code Block |
---|
| <?php
$client_pass = '***';
$client_key = '***';
$action = 'CAPTURE';
$trans_id = '19848-26243-92097';
$amount = '300.00';
$card = '4111111111111111';
$email = ''; // почта из первоначальной транзакции, если не была указана оставить пустое значение
$ext10$split_rules = json_encode(array('12345678' => '100.00','87654321' => '200.00'));
$hash = md5(
strtoupper(
strrev($email).
$client_pass.
$trans_id.
strrev(
substr($card,0,6).
substr($card,-4)
)
)
);
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Capture</title>
</head>
<body onload="javascript:document.forms[0].submit()">
<form action="https://secure.platononline.com/post-unq/" method="post">
<input type="text" name="action" value="<?=$action?>" />
<input type="text" name="client_key" value="<?=$client_key?>" />
<input type="text" name="trans_id" value="<?=$trans_id?>" />
<input type="text" name="amount" value="<?=$amount?>" />
<input type="text" name="ext10split_rules" value="<?=$ext10$split_rules?>" />
<input type="text" name="hash" value="<?=$hash?>" />
</form>
</body>
</html> |
|
Для Дебагинг недоставленных Callback:
С целью дебагинга работы вашего сервера на ошибки получения Callback можем предоставить вам телеграм бот, куда будут поступать тело недоставленных вам Callback и информация об HTTP статусе.
Для настройки телеграм бота обратитесь в ваш груповой чат с просьбой подключить его вам.
Image RemovedПолучение статуса транзакции в 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
Работа с Callback
Info |
---|
Рекомендуем ознакомиться с разделами: |
Callback и Response
Для просмотра примера раскройте список
Expand |
---|
title | Callback при успешном списании |
---|
|
Code Block |
---|
| array (
'action' => 'SALE',
'result' => 'SUCCESS',
'status' => 'SETTLED',
'order_id' => '1974133',
'trans_id' => '27841-94347-36138',
'trans_date' => '2020-01-07 17:50:34',
'descriptor' => NULL,
'auth_code' => '',
'hash' => '********************************',
) |
Info |
---|
Для проверки достоверности полученного callback, рекомендуем сверять подпись hash по формуле md5(strtoupper(strrev(email).client_pass.trans_id.strrev(substr(card,0,6).substr(card,-4)))). Внимание! Если при первоначальном запросе на оплату не был указан email, то следует указать пустое значение для email. |
|
Expand |
---|
title | Response при успешном списании |
---|
|
Code Block |
---|
| {
"action":"CAPTURE",
"result":"SUCCESS",
"status":"SETTLED",
"order_id":"110714",
"trans_id":"27851-06615-85267",
"amount":"657.63"
} |
|
Expand |
---|
title | Callback при неуспешном списании |
---|
|
Code Block |
---|
| array (
'action' => 'SALE',
'result' => 'DECLINED',
'status' => 'PENDING',
'order_id' => '1974133',
'trans_id' => '27841-94347-36138',
'trans_date' => '2020-01-07 17:50:34',
'descriptor' => NULL,
'auth_code' => '',
'hash' => '********************************',
) |
Info |
---|
Для проверки достоверности полученного callback, рекомендуем сверять подпись hash по формуле md5(strtoupper(strrev(email).client_pass.trans_id.strrev(substr(card,0,6).substr(card,-4)))). Внимание! Если при первоначальном запросе на оплату не был указан email, то следует указать пустое значение для email. |
|
Дополнительная проверка оплаты:
Для получения информации об оплате в случае, если ваша система не смогла принять Callback, Response или по другой причине, можно воспользоваться дополнительными API запросами проверки:
Получение статуса оплаты по ордеру мерчанта
Получение статуса оплаты по ордеру Platon
Получение деталей оплаты по ордеру Platon