Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
InfoЭтот функционал будет активирован после вашего запроса в групповом чате. Также обязательно сообщите IP адреса, с которых будут отправляться запросы для добавления в белый список
Info

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

Note

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


Table of Contents

Описание

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

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

Опис

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

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

Note

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

Note

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

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

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

Note

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


API параметри запиту

HTTP METHOD:

Status
colourGreen
titlePOST

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


Общая сумма списания обязательно должна равняться сумме расщепленного платежа

Суми до списання та ОКПО з розщепленого платежу

ПараметрПараметри

ЗначениеЗначення

ОписаниеОпис

ОсобенностиОсобливостіОбязательно

Обов'язково

action

CAPTURE

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

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

Status
colourGreen
titleДаТАК

client_key

String

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

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

Status
colourGreen
titleДаТАК

trans_id

String

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

ID транзакции оплати в системе системі PSP Platon

Status
colourGreen
titleДаТАК

amount

Number

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

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

Має бути меньше або рівна сумі в HOLD

Tip

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

1000.00

Warning

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

1000
1000.0
1,000.0
1,000.00

Status
colourGreen
titleДаТАК

split_rules

String

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

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

Note

Передача даних для списання у форматі JSON. Підтвердження списання може бути частковим, але в сумі, що дорівнює або є меншою від початкової частини платежу, зарахованого на кожне ОКПО.

Note

Загальна сума списання обов'язково має дорівнювати сумі розщепленого платежу.
amount1 + amount2 = amount

Code Block
split_rules = {
"okpo1":"amount1",
"okpo2":"amount2"
}

Status
colourGreen
titleДаТАК

hash

StringКонтрольная

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

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

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

Status
colourGreen
titleДаТАК

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

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

Для просмотра примера раскройте перегляду прикладу розкрийте список

Expand
titleПример запроса на PHP
Code Block
languagephp
<?php
  $client_pass = '***';
  $client_key = '***';
  $action = 'CAPTURE';
  $trans_id = '19848-26243-92097';
  $amount = '300.00';
  $card = '4111111111111111';
  $email = ''; // почта из первоначальной транзакции, если не была указана оставить пустое значение
  $split_rules = 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="split_rules" value="<?=$split_rules?>" />
      <input type="text" name="hash" value="<?=$hash?>" />
    </form>
  </body>
</html>

Iframe
scrollingno
srchttps://devplaton.com.ua/invoices/postman-test.html
styleheight: 260px;
frameborderhide

Работа с Callback

Info

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


Callback и Response

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

Expand
titleCallback при успешном списании
Code Block
languagephp
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' => '********************************',
)
Info

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

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

Expand
titleResponse при успешном списании
Code Block
languagejson
{
  "action":"CAPTURE",
  "result":"SUCCESS",
  "status":"SETTLED",
  "order_id":"110714",
  "trans_id":"27851-06615-85267",
  "amount":"657.63"
}
Expand
titleCallback при неуспешном списании
Code Block
languagephp
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' => '********************************',
)
Info

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

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