Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

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

Warning

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


Зміст

Table of Contents
maxLevel2
minLevel1
include
outlinefalse
indent0px
exclude
stylecircle
typelist
printablefalse
class

Опис

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

Warning

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

Note

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


Чекліст

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

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

Вимоги

Expand
titleTLS 1.2

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


API параметри

HTTP METHOD: POST

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

Параметр

Значення

Опис

Особливості

action

Status
colourGreen
titleобов'язковий

CREDITVOID

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

client_key

Status
colourGreen
titleобов'язковий

String

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

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

trans_id

Status
colourGreen
titleобов'язковий

String

ID оплати PSP Platon

amount

Status
colourGreen
titleобов'язковий

Number

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

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

Tip

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

1000.00

Warning

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

1000
1000.0
1,000.0
1,000.00

hash

Status
colourGreen
titleобов'язковий

String

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

Code Block
languagephp
md5(
  strtoupper(
    $pass.
    $trans_id
  )
)

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

Expand
titleПриклад запиту на PHP
Code Block
languagephp
<?php
  $client_pass = '***';
  $data['client_key'] = '***';
  $data['action'] = 'CREDITVOID';
  $data['trans_id'] = '19848-26243-92097';
  $data['amount'] = '85.00';
  $data['hash'] = md5(
                    strtoupper(
                      $pass$client_pass.
                      $trans$data['trans_id']
                    )
                  );
          
$curl$url = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "'https://secure.platononline.com/post-unq/",';
$crq = CURLOPT_RETURNTRANSFER => true,
 curl_init();
curl_setopt($crq, CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => $data,
));

$response 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($curl$crq);
  if (curl_close($curl);
echo $response;errno($crq)) {
    echo 'ERROR: '.curl_error($crq);
  }else{
    echo $result;
  }
curl_close($crq);
Info

Postman Collection


Callback и Response

Expand
titleОсобенности работы с Callback
Include Page
Робота з Callback
Робота з Callback
Expand
titleБезопасность
Include Page
Безпека
Безпека
Промежуточный ответ

Проміжна відповідь:

Expand
titleResponse при успешной авторизации запроса на возвратуспішній авторизації запиту на повернення
Code Block
languagejson
{
  "action":"CREDITVOID",
  "result":"ACCEPTED",
  "order_id":"27859-52747-0554",
  "trans_id":"27859-54289-00657"
}

При

успешном возврате

успішному поверненні:

Expand
titleCallback при успешном возврате при оплате по протоколу успішному поверненні при оплаті за протоколом https://secure.platononline.com/payment/auth
Info

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

Code Block
languagephp
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' => '********************************'
)
Info

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

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

Expand
titleCallback при успешном ПОЛНОМ возврате при оплате по протоколу успішному ПОВНОМУ поверненні при оплаті за протоколом https://secure.platononline.com/post-unq/
Info

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

Code Block
languagephp
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' => '********************************',
)
Info

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

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

Expand
titleCallback при успешном ЧАСТИЧНОМ возврате при оплате по протоколу успішному ЧАСТИЧНОМУ поверненні при оплаті за протоколом https://secure.platononline.com/post-unq/
Info

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

Code Block
languagephp
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' => '********************************',
)
Info

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

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

При

ошибке запроса

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

Expand
titleResponse при неуспешной авторизации запроса на возвратнеуспішній авторизації запиту на повернення
Code Block
languagejson
{
  "result":"ERROR",
  "error_message":"Transaction already refunded"
}

Дополнительная проверка возврата

Для получения информации о возврате в случае, если

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

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

Ошибки запросов

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

Expand
titleСписок ошибокпомилок, их причин и возможных решенийїх причин та можливих рішень.
Include Page
Помилки та рішення при запитах
Помилки та рішення при запитах

Связанные разделы


Другие методы возвратов

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

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