Versions Compared

Key

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

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

Warning

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


Содержание

Table of Contents
maxLevel2
minLevel1
indent0px
absoluteUrltrue
stylecircle


Описание

Данный метод позволяет вернуть плательщику денежные средства.

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 транзакции Platon

ID транзакции в системе 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.
                      $trans_id
                    )
                  );
          
$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 => $data,
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

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 по формуле md5(strtoupper(strrev(email).client_pass.order.strrev(substr(card,0,6).substr(card,-4)))).

Внимание! Если при запросе на оплату не был указан email, то при проверке 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 по формуле md5(strtoupper(strrev(email).client_pass.trans_id.strrev(substr(card,0,6).substr(card,-4)))).

Внимание! Если при запросе на оплату не был указан email, то при проверке 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 по формуле md5(strtoupper(strrev(email).client_pass.trans_id.strrev(substr(card,0,6).substr(card,-4)))).

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

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

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

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

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


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

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

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

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