/
Повернення при оплаті частинами

Повернення при оплаті частинами

Цей функціонал буде активовано після вашого запиту у груповому чаті.

Запит на повернення необхідно проводити виключно не менш як через 10 хвилин після отримання колббека про успішний платеж. Інакше буде помилка.


Зміст

 


Опис

 

Цей метод дозволяє повернути платнику його грошові кошти при оплаті частинами Monobank.

Увага! Повернення необхідно проводити в повному обсязі.

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


Чеклист інтеграції

 

Провести інтеграцію цього API методу.
Повідомити тех підтримці PSP Platon посилання для Callback (якщо раніше не було вказано).
Повідомити тех підтримці PSP Platon ваші IP адреси серверів сайту або про те, що буде використовуватись додаток (в цьому випадку обмеження по IP будуть зняті).
Після успішної оплати провести запит на повернення.
Отримати Callback або Response за змінити статус оплати у вашій системі.
Відобразити платнику на сайті / додатку повернення коштів.

Вимоги

 

Необхідна підтримка протоколу TLS не нижче версії 1.2


API параметри

 

HTTP METHOD: POST

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

Параметр

Значення

Опис

Особливості

action
status:обов'язковий

CREDITVOID

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

 

client_key
status:обов'язковий

String

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

Ключ надається на пошту мерчанту і має відповідати ключу по якому було проведено оплату.

trans_id
status:обов'язковий

String

ID оплати PSP Platon

 

amount
status:обов'язковий

Number

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

Сума має дорівнювати сумі оплати.

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

1000.00

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

1000
1000.0
1,000.0
1,000.00

hash
status:обов'язковий

String

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

md5( strtoupper( $pass. $trans_id ) )

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

 

<?php $client_pass = '***'; $data['client_key'] = '***'; $data['action'] = 'CREDITVOID'; $data['trans_id'] = '19848-26243-92097'; $data['amount'] = '85.00'; $data['hash'] = md5( strtoupper( $client_pass. $data['trans_id'] ) ); $url = 'https://secure.platononline.com/post-unq/'; $crq = curl_init(); curl_setopt($crq, CURLOPT_URL, $url); curl_setopt($crq, CURLOPT_HEADER, 0); curl_setopt($crq, CURLOPT_POST, 1); 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, http_build_query($data)); $result = curl_exec($crq); if (curl_errno($crq)) { echo 'ERROR: '.curl_error($crq); }else{ echo $result; } curl_close($crq);

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.

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

array ( 'action' => 'CREDITVOID', 'result' => 'SUCCESS', 'status' => 'REFUND', 'order_id' => '7428404', 'trans_id' => '30009-01494-16697', 'amount' => '97.00', 'creditvoid_date' => '2020-09-15 07:30:16', 'hash' => '********************************', )

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

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

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

array ( 'action' => 'CREDITVOID', 'result' => 'SUCCESS', 'status' => 'SETTLED', 'order_id' => '7428404', 'trans_id' => '30009-01494-16697', 'amount' => '97.00', 'creditvoid_date' => '2020-09-15 07:30:16', 'hash' => '********************************', )

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

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

При помилці запиту:

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

Додаткова перевірка повернення

Для отримання інформації про повернення у випадку, якщо ваша система не змогла прийняти Callback, Response або з іншої причини, можна скористатися додатковими запитами API перевірки:


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

 


Пов'язані розділи

 

Інші методи повернень:

Related content