/
Підтвердження списання при HOLD (при розщепленні)

Підтвердження списання при HOLD (при розщепленні)

Цей функціонал буде активовано після вашого запиту в груповому чаті. Також обов'язково повідомте IP адреси, з яких будуть надсилатися запити для додавання до білого списку.

Ваш сайт має працювати за схемою HTTPS і підтримувати протокол TLS 1.2.



Опис

Після успішного холдування коштів на картці платника та перевірки наявності товару або послуги необхідно провести підтвердження списання коштів на ваш розрахунковий рахунок, використовуючи даний метод з розщепленням списаних коштів на кілька реквізитів.

Також рекомендуємо ознайомитися з розділом Особливості HOLD

На 25 день відбудеться автоматичне списання коштів, якщо за цей період вами не було здійснено жодних дій

Підтвердження списання можливе тільки в разі надсилання запиту з API ключа і юр. особи, що були на момент холдування


API параметри запиту

HTTP METHOD: status:POST

API ENDPOINT: https://secure.platononline.com/post-unq/


Параметри

Значення

Опис

Особливості

Обов'язково

Параметри

Значення

Опис

Особливості

Обов'язково

action

CAPTURE

Код платіжного метода

Тільки одне значення

status:ТАК

client_key

String

API ключ мерчанта

Ключ надається на пошту мерчанта

status:ТАК

trans_id

String

ID транзакції Platon

ID оплати в системі PSP Platon

status:ТАК

amount

Number

Сума списання

Має бути меньше або рівна сумі в HOLD

Вірний варіант

1000.00

Невалідні варіанти

1000
1000.0
1,000.0
1,000.00

status:ТАК

split_rules

String

Суми до списання та ОКПО з розщепленого платежу

Передача даних для списання у форматі JSON. Підтвердження списання може бути частковим, але в сумі, що дорівнює або є меншою від початкової частини платежу, зарахованого на кожне ОКПО.

Загальна сума списання обов'язково має дорівнювати сумі розщепленого платежу.
amount1 + amount2 = amount

split_rules = { "okpo1":"amount1", "okpo2":"amount2" }

status:ТАК

hash

String

Контрольний підпис

md5( strtoupper( strrev(email). client_pass. trans_id. strrev( substr(card_number,0,6). substr(card_number,-4) ) ) )

Якщо в запиті на оплату не було вказано email, то необхідно залишити пусте значення email.

status:ТАК


Приклад запиту

Для перегляду прикладу розкрийте список

<?php $client_pass = '***'; $client_key = '***'; $action = 'CAPTURE'; $trans_id = '19848-26243-92097'; $amount = '300.00'; $card = '4111111111111111'; $email = ''; // почта из первоначальной транзакции, если не была указана оставить пустое значение $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="split_rules" value="<?=$split_rules?>" /> <input type="text" name="hash" value="<?=$hash?>" /> </form> </body> </html>

 


Работа с Callback

Рекомендуємо ознайомитися з розділами:


Callback и Response

Для перегляду прикладу розкрийте список

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' => '********************************', )

Для перевірки достовірності отриманого callback рекомендуємо звіряти підпис hash за формулою:
md5(strtoupper(strrev(email) . client_pass . trans_id . strrev(substr(card, 0, 6) . substr(card, -4)))).

Увага! Якщо під час початкового запиту на оплату не було вказано email, слід вказати порожнє значення для email.

{ "action":"CAPTURE", "result":"SUCCESS", "status":"SETTLED", "order_id":"110714", "trans_id":"27851-06615-85267", "amount":"657.63" }
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' => '********************************', )

Для перевірки достовірності отриманого callback рекомендуємо звіряти підпис hash за формулою:
md5(strtoupper(strrev(email) . client_pass . trans_id . strrev(substr(card, 0, 6) . substr(card, -4)))).

Увага! Якщо під час початкового запиту на оплату не було вказано email, слід вказати порожнє значення для email.

Related content