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 7 Next »

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

Ваш сайт должен работать по схеме HTTPS и поддерживать протокол TLS 1.2.



Описание

После успешного холдирования средств на карте плательщика, и проверки наличия товара или услуги необходимо провести подтверждение списания средств на ваш расчетный счет используя данный метод с расщеплением списаных средств на несколько реквизитов.

Также рекомендуем ознакомиться с разделом Особенности HOLD

На 25 день произойдет автоматическое списание средств, если за этот период вами не было произведено никаких действий

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


API параметры запроса

HTTP METHOD: POST

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


Параметр

Значение

Описание

Особенности

Обязательно

action

CAPTURE

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

Только одно значение

ДА

client_key

String

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

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

ДА

trans_id

String

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

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

ДА

amount

Number

Сумма списания

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

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

1000.00

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

1000
1000.0
1,000.0
1,000.00

ДА

ext10

String

Суммы к списанию и ОКПО с расщепленного платежа

Передача данных для списания в формате JSON. Подтверждение списания может быть частичным, но в сумме равной или меньшей изначальной части платежа зачисленного на каждое ОКПО.

Общая сумма списания обязательно должна равняться сумме расщепленного платежа.
amount1 + amount2 = amount

ext10 = {
"okpo1":"amount1",
"okpo2":"amount2"
}

ДА

hash

String

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

md5(
  strtoupper(
    strrev(email).
    client_pass.
    trans_id.
    strrev(
      substr(card_number,0,6).
      substr(card_number,-4)
    )
  )
)

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

ДА


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

Для просмотра примера раскройте список

 Пример запроса на PHP
<?php
  $client_pass = '***';
  $client_key = '***';
  $action = 'CAPTURE';
  $trans_id = '19848-26243-92097';
  $amount = '300.00';
  $card = '4111111111111111';
  $email = ''; // почта из первоначальной транзакции, если не была указана оставить пустое значение
  $ext10 = json_encode(array('12345678' => '100.00','87654321' => '200.00'));
  $hash = md5(
            strtoupper(
              strrev($email).
              $client_pass.
              $trans_id.
              strrev(
                substr($card,0,6).
                substr($card,-4)
              )
            )
          );
?>

<!DOCTYPE html>
  <html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Capture</title>
  </head>
  <body onload="javascript:document.forms[0].submit()">
    <form action="https://secure.platononline.com/post-unq/" method="post">
      <input type="text" name="action" value="<?=$action?>" />
      <input type="text" name="client_key" value="<?=$client_key?>" />
      <input type="text" name="trans_id" value="<?=$trans_id?>" />
      <input type="text" name="amount" value="<?=$amount?>" />
      <input type="text" name="ext10" value="<?=$ext10?>" />
      <input type="text" name="hash" value="<?=$hash?>" />
    </form>
  </body>
</html>


Работа с Callback

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


Callback и Response

Для просмотра примера раскройте список

 Callback при успешном списании
array (
  'action' => 'SALE',
  'result' => 'SUCCESS',
  'status' => 'SETTLED',
  'order_id' => '1974133',
  'trans_id' => '27841-94347-36138',
  'trans_date' => '2020-01-07 17:50:34',
  'descriptor' => NULL,
  'auth_code' => '',
  'hash' => '********************************',
)

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

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

 Response при успешном списании
{
  "action":"CAPTURE",
  "result":"SUCCESS",
  "status":"SETTLED",
  "order_id":"110714",
  "trans_id":"27851-06615-85267",
  "amount":"657.63"
}
 Callback при неуспешном списании
array (
  'action' => 'SALE',
  'result' => 'DECLINED',
  'status' => 'PENDING',
  'order_id' => '1974133',
  'trans_id' => '27841-94347-36138',
  'trans_date' => '2020-01-07 17:50:34',
  'descriptor' => NULL,
  'auth_code' => '',
  'hash' => '********************************',
)

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

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

  • No labels