Versions Compared

Key

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

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


Зміст

Table of Contents

Опис

Цей метод дозволить вам проводити додаткову перевірку деталей оплати по ордеру присвоєному системою PSP Platon.

Рекомендуємо використовувати у випадку, якщо ви не змогли отримати callback або response.

Info

Запит по одному ордеру можна відправляти не частіше одного разу за хвилину.

Note

Не підходить для перевірки C2A оплат.


API параметри

HTTP METHOD: POST

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

Параметр

Значення

Опис

Особливості

action

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

GET_TRANS_DETAILS

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

client_key

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

String

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

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

trans_id

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

String

ID оплати в системі Platon

hash

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

String

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

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

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


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

scrollingnosrchttps://devplaton.com.ua/invoices/postman-test.htmlframeborderhidestyleheight: 260px;
Expand
titleПриклад запиту на PHP
Code Block
languagephp
<?php
    $client_pass = '***';
    $email = '';
    $card_number = '41111111111111111';
    $data['action'] = 'GET_TRANS_DETAILS';
    $data['client_key'] = '***';
    $data['trans_id'] = '21151-88549-33417';
    $data['hash'] = md5(
                        strtoupper(
                            strrev($email).
                            $client_pass.
                            $data['trans_id'].
                            strrev(
                                substr($card_number,0,6).
                                substr($card_number,-4)
                            )
                        )
                    );
                    
    $url = 'https://secure.platononline.com/post-unq/';
    $crq = curl_init();
    curl_setopt($crq, CURLOPT_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($crq);
    if (curl_errno($crq)) {
        echo 'ERROR: '.curl_error($crq);
    }else{
        echo $result;
    }
    curl_close($crq);
Iframe

Response

Expand
titleResponse при успешному запиті
Info

Параметр "status" в масиві історії даних може мати два значення: 0-fail, 1-success

Code Block
languagejson
{
  "action":"GET_TRANS_DETAILS",
  "result":"SUCCESS",
  "status":"SETTLED",
  ”order_id”:”343434”,
  ”trans_id”:”27920-80664-08857”,
  ”name”:”Ivan Platon”,
  ”mail”:”platon@gmail.com”,
  ”ip”:”185.175.247.151”,
  ”amount”:”1000.00”,
  ”currency”:”UAH”,
  ”card”:”12345*****6789”,
  "transactions":
    [
      {
        "date":"2012-01-01 01:10:25",
        "type":"AUTH",
        "status":1,
        "amount":"1.95"
      },
      {
        "date":"2012-01-01 01:11:30",
        "type":"CAPTURE",
        "status":1,
        "amount":"1.95"
      },
      {
        "date":"2012-02-06 10:25:06",
        "type":"REFUND",
        "status":1,
        "amount":"1.95"
      }
    ]
}
Expand
titleResponse при помилці запиту
Code Block
languagejson
{
  "result":"ERROR",
  "error_message":"Incorrect hash"
}