Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

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

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


Содержание


Описание

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

Возврат средств возможен только при отправке запроса с API ключа и юр. лица, что были использованы для оплаты.


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

  • Интегрировать запрос согласно данного API.
  • Передать тех поддержке PSP Platon ссылку для Callback (если ранее не было указано).
  • Сообщить в тех поддержке PSP Platon ваши IP адреса сервера сайта или о том, что будет использоваться приложение (в этом случае ограничения по IP будут сняты).
  • После успешной оплате Privat24 реальной картой провести запрос на возврат.
  • Получить Callback и Response.
  • Отобразить плательщику на сайте / приложении возврат средств.

Требования

 TLS 1.2

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


API параметры

HTTP METHOD: POST

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

Параметр

Значение

Описание

Особенности

action
ОБЯЗАТЕЛЬНО

CREDITVOID

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

client_key
ОБЯЗАТЕЛЬНО

String

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

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

trans_id
ОБЯЗАТЕЛЬНО

String

ID транзакции Platon

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

amount
ОБЯЗАТЕЛЬНО

Number

Сумма возврата

Должна быть меньше или равна сумме списания

Верный вариант

1000.00

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

1000
1000.0
1,000.0
1,000.00

hash
ОБЯЗАТЕЛЬНО

String

Контрольная подпись

md5(
  strtoupper(
    $client_pass.
    $trans_id
  )
)

Примеры запроса

 Пример запроса на PHP
<?php
  $client_pass = '***';
  $client_key = '***';
  $action = 'CREDITVOID';
  $trans_id = '19848-26243-92097';
  $amount = '85.00';
  $card = '41111111111111111';
  $email = '';
  $hash = md5(
            strtoupper(
              $client_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 => array('action' => 'CREDITVOID','client_key' => $client_key, 'trans_id' => $trans_id,'amount' => $amount,'hash' => $hash),
  CURLOPT_HTTPHEADER => array("Content-Type: text/html"),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Callback и Response

 Особенности работы с Callback
Unable to render {include} The included page could not be found.
 Безопасность
Unable to render {include} The included page could not be found.

Промежуточный ответ:

 Response при успешной авторизации запроса на возврат
{
  "action":"CREDITVOID",
  "result":"ACCEPTED",
  "order_id":"27859-52747-0554",
  "trans_id":"27859-54289-00657"
}

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

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

Callback отправляется через час после успешной авторизации

array (
  'id' => '31192-15588-09364',
  'order' => '31192-15548-3658',
  'status' => 'REFUND',
  'description' => 'Test_by_Platon',
  'amount' => '34.12',
  'currency' => 'UAH',
  'date' => '2021-01-29 11:59:18',
  'ip' => '178.158.192.219',
  'sign' => '********************************',
  'number' => '516875*74',
  'email' => NULL,
  'name' => ' ',
  'phone' => '380967904334',
)

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

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

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

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


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

 Список ошибок, их причин и возможных решений.
Unable to render {include} The included page could not be found.

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

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

  • No labels