/
Повернення коштів (при розщепленні)

Повернення коштів (при розщепленні)

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

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



Опис

Цей метод дає змогу повернути платнику грошові кошти за платежем, на якому було проведено розщеплення.

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


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

HTTP METHOD: status:POST

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


Параметр

Значення

Опис

Особливості

Обязательно

action

CREDITVOID

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

 

status:ТАК

client_key

String

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

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

status:ТАК

trans_id

String

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

ID транзакції в системі Platon

status:ТАК

amount

Number

Сума повернення

Повинна бути меншою або дорівнювати сумі списання

Правильний варіант

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( $client_pass. $trans_id. strrev( substr($card,0,6). substr($card,-4) ) ) )

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

status:ТАК


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

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

<?php $client_pass = '***'; $client_key = '***'; $action = 'CREDITVOID'; $trans_id = '19848-26243-92097'; $amount = '300.00'; $card = '41111111111111111'; $email = ''; $split_rules = json_encode(array('12345678' => '100.00','87654321' => '200.00')); $hash = md5( strtoupper( $client_pass. $trans_id. strrev( substr($card,0,6). substr($card,-4) ) ) ); $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "https://secure.platononline.com/post-unq/", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => array('action' => 'CREDITVOID','client_key' => $client_key, 'trans_id' => $trans_id,'amount' => $amount, 'split_rules' => $split_rules,'hash' => $hash), CURLOPT_HTTPHEADER => array("Content-Type: text/html"), )); $response = curl_exec($curl); curl_close($curl); echo $response;

 


Перевірка платежів

Отримати інформацію про платежі можна кількома способами:


Работа з Callback

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


Callback и Response

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

{ "action":"CREDITVOID", "result":"ACCEPTED", "order_id":"27859-52747-0554", "trans_id":"27859-54289-00657" }

Callback надсилається через годину після успішної авторизації

array ( 'id' => '27860-50312-05387', 'order' => '27860-49622-7227', 'status' => 'REFUND', 'rrn' => NULL, 'approval_code' => NULL, 'card' => '**************', 'description' => 'Оплата', 'amount' => '500.00', 'currency' => 'UAH', 'name' => ' ', 'email' => NULL, 'country' => NULL, 'state' => NULL, 'city' => NULL, 'address' => NULL, 'date' => '2020-01-09 21:23:51', 'ip' => '46.133.140.32', 'sign' => '********************************' )

Для перевірки достовірності отриманого callback, рекомендуємо звіряти підпис sign за формулою md5(strtoupper(strrev(email).client_pass.order.strrev(substr(card,0,6).substr(card,-4)))). Увага! Якщо під час запиту на оплату не було вказано email, то під час перевірки sing у підписі коллбека слід вказати порожнє значення для email.

{ "result":"ERROR", "error_message":"Transaction already refunded" }

Помилки запитів

Під час проведення запиту ви можете отримати різні помилки. Будь ласка, ознайомтеся зі списком можливих помилок, їхніх причин і можливості вирішення.

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

Помилка

Причини

Рішення

Помилка

Причини

Рішення

Response: {"result":"ERROR","error_message":"Account error"}

Вашу IP адресу не додано до нашого білого списку.

Зверніться в техпідтримку для додавання вашого IP до білого списку.

Цей функціонал вам не підключено.

Зверніться в техпідтримку для активації функціоналу.

Запит надіслано не на потрібне посилання.

Рекомендуємо звірити посилання для надсилання запиту із зазначеним у потрібному розділі документації.

Response: {"result":"ERROR","error_message":"Incorrect hash"}

Невірно сформовано зашифрований підпис.

Перевірте вірність сформованого підпису. Якщо помилку не знайшли зверніться до техпідтримки.

Додано параметри, які не входять до цього запиту.

Перевірте список переданих параметрів. Якщо помилку не знайшли, зверніться в техпідтримку.

Response: {"result":"ERROR","error_message":"Transaction already refunded"}

За цією транзакцією раніше вже було виконано повернення.

Повернення за цією операцією проводити не потрібно.

Response: {"result":"ERROR","error_message":"Empty action"}

Параметр action заповнений неправильно, порожній, або не на першому місці в списку параметрів запиту.

Перевірте список переданих параметрів. Якщо помилку не знайшли, зверніться в техпідтримку.

Response: {"result":"ERROR","error_message":"Duplicate request"}

За одну хвилину в систему вами було відправлено кілька однакових запитів.

Рекомендуємо перевірити ваш механізм надсилання запитів на наявність задвоєння.

Response: {"result":"ERROR","error_message":"Service error"}

Ситуація потребує уваги співробітників Platon.

Рекомендуємо звернутися в техсаппорт Platon для перевірки причини.

Related content