Versions Compared

Key

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

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

Info

Мерчанту необхідно надати IP серверів для додавання в білий список.


Зміст

Table of Contents
minLevel1
maxLevel2
include
outlinefalse
indent0px
stylecircle
exclude
typelist
class
printablefalse

API параметри

HTTP METHOD: POST

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

Параметр

Значення

Опис

Особливості

key

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

String

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

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

order

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

String

ID оплати в системі мерчанта

Max 32 символи

action

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

CREATE

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

payment

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

C2A

Ознака дебетової оплати

description

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

String

Опис

Note

Для кириличних символів необхідно використовувати формат UTF-8

Max 5000 символов

amount

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

Number

Сума оплати

Tip

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

1000.00

Warning

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

1000
1000.0
1,000.0
1,000.00

sign

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

String

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

Code Block
languagephp
md5(
  strtoupper(
    $key.
    $payment.
    $amount.
    strrev($pass).
  )
)

url

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

String

Посилання по якому буде відправлено клієнта після успішної оплати

Max 1024 символів

error_url

Status
colourYellow
titleне обов'язковий

String

Посилання по якому буде відправлено клієнта після 5 невдалих спроб оплати

Max 1024 символів

lang

Status
colourYellow
titleне обов'язковий

UK
EN

Мова відображення форми

В пріорітеті налаштування браузера клієнта

email

Status
colourYellow
titleне обов'язковий

String

Пошта платника

Max 255 символів

first_name

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

String

Ім'я платника

Max 32 символи

last_name

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

String

Прізвище платника

Max 32 символи

qr

Status
colourYellow
titleне обов'язковий

Y

Створення посилання на картинку з QR кодом

phone

Status
colourYellow
titleне обов'язковий

Number

Номер телефону платника

Info

Обов'язковий формат телефону 380…

formid

Status
colourYellow
titleне обов'язковий

String

Параметр додаткового налаштування

Max 255 символів

recurring

Status
colourYellow
titleне обов'язковий

Y

Створення токену картки

Для отримання rc_id та rc_token

req_token

Status
colourYellow
titleне обов'язковий

Y

Створення токену картки

Для отримання card_token

ext1, ext2, ext3, ext4, ext5, ext6, ext7, ext8, ext9

Status
colourYellow
titleне обов'язковий

Додаткові поля

Max 1024 символів в кожному з 9 ext полів

date_ran

Status
colourYellow
titleне обов'язковий

String

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

Tip

Час по Києву.

Info

Обязательный формат времени YYYY-MM-DD HH:MM:SS

По умолчанию короткая ссылка активна с момента создания

date_end

Status
colourYellow
titleне обов'язковий

String

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

Tip

Время по Киеву.

Info

Обязательный формат времени YYYY-MM-DD HH:MM:SS

Note

По умолчанию короткая ссылка активна до 2099-12-31 23:59:59

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

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

deactivate

Status
colourYellow
titleне Обов'язковий

Y

Деактивація короткого посилання після успішної оплати

Використовується для заборони повторної оплати по тому ж короткому посиланню декілька разів


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

Expand
titleПример запроса Приклад запиту на PHP
Code Block
languagephp
<?php
   $pass $client_pass = '***';
    $data['key']= '***';
    $data['action'] = 'CREATE';
    $data['payment'] = 'C2A';
    $data['order'] = '123ABC';
    $data['description'] = 'ТестоваяТестова оплата';
    $data['amount'] = '356.00';
    $data['qr'] = 'Y';
    $data['url'] = 'https://google.com';
    $data['sign'] = md5(
                        strtoupper(
                            $data['key'].
                            $data['payment'].
                            $data['amount'].
                            strrev($pass)$client_pass)
                        )
                    );
   
    $url = 'https://secure.platononline.com/post-invoice/';
    $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);
Пример ответа на запрос
json
Expand
titleПриклад запиту на .NET
Expand
titleПример Callback при успешной оплате по дебету
Code Block
language
php
{
var 
"action":"CREATE", "result":"SUCCESS", "short_link":"https:\/\
url = "https://secure.platononline.com
\/payment\/shortlink\/655f00d39169657856757", "upload_qr":"https:\/\/pltn.me\/v3\/qr\/qr_655f00d39169657856757.png" }

Тестирование

Expand
titleИспользуйте наши тестовые реквизиты
Include PageТестові реквізити (C2A)Тестові реквізити (C2A)

Callback при успешной оплате

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

Code Block
languagephp
array (
  'id' => '28270-42158-64788',
  'type' => 'DEBIT',
  'order' => '3522743',
  'status' => 'DEBIT',
  'card' => '/post-invoice/";

var httpRequest = (HttpWebRequest)WebRequest.Create(url);
httpRequest.Method = "POST";

httpRequest.ContentType = "application/x-www-form-urlencoded";

var data = "key=*****&action=CREATE&payment=C2A&order=123ABC&description=Test%20Payment&amount=356.00&qr=Y&sign=*********************',";

using (var 'description'streamWriter => 'Payment',
  'amount' => '220.00',
  'total' => '220.00',
  'currency' => 'UAH',
  'name' => ' ',
  'email' => NULL,
  'country' => NULL,
  'state' => NULL,
  'city' => NULL,
  'address' => NULL,
  'date' => '2020-02-26 08:04:16',
  'ip' => '46.133.60.119',
  'sign' => '********************************',
  'card_token' => 'b2641381d45e26c4ef90da14c61537f2983504de73711be0f975d301e1dfd29a',
  'fee_type' => 'TRANSACTION',
  'fee' => '0.5',
)
Info

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

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

Параметр

Описание

id

Уникальный ордер ID транзакции в Platon

type

DEBIT

order

Ордер ID транзакции в системе мерчанта. Если параметр не передавался система Platon присвоит его самостоятельно

status

DEBIT

card

Маска карты в формате ХХХХХХ****ХХХХ

description

Описание

amount

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

commission

Сумма комиссии

total

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

currency

Валюта транзакции

name

Сума передаваемых параметров first_name и last_name

email

E-mail плательщика

country

Код страны плательщика (2-а знака)

state

Код штата плательщика (2-х или 3-х значный код)

city

Город плательщика

address

Адрес плательщика

date

Время проведения транзакции в формате UTC (YYYY-MM-DD HH-MM-SS)

ip

IP адрес плательщика

ext1-ext4

Дополнительные поля от 1 до 4

card_token

Зашифрованный токен карты для последующих транзакций по card_token

card_hash

Уникальное зашифрованное значение карты

fee_type

Признак каким образом взимается комиссия:

  • ACT - по актам.

  • TRANSACTION - потранзакционно.

Info

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

fee

Сумма комиссии с мерчанта по транзакции в ГРН

Info

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

sign

Зашифрованная подпись для проверки достоверности коллбека

Expand
titleПример GET параметров
Tip

Плательщик будет отправлен по ссылке указанной вами в параметре url с добавлением order методом GET

Code Block
languagephp
array (
  'token' => '11-22-33',
)

Callback при неуспешной оплате

Info
При неуспешной оплате коллбек не отправляется
new StreamWriter(httpRequest.GetRequestStream()))
  {
    streamWriter.Write(data);
  }

var httpResponse = (HttpWebResponse)httpRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
  {
    var result = streamReader.ReadToEnd();
  }

Responce

Code Block
languagejson
{
  "action":"CREATE",
  "result":"SUCCESS",
  "short_link":"https:\/\/secure.platononline.com\/payment\/shortlink\/655f00d39169657856757",
  "upload_qr":"https:\/\/pltn.me\/v3\/qr\/qr_655f00d39169657856757.png"
}

Тестування

Expand
titleВикористайте наші тестові реквізити
Include Page
Тестові реквізити (C2A)
Тестові реквізити (C2A)

Перевірка платежів

Expand
titleСписок методів отримання статусу транзакції
Include Page
Отримання результату транзакції
Отримання результату транзакції

Callback

Expand
titleОсобливості роботи з Callback
Include Page
Робота з Callback
Робота з Callback
Expand
titleБезпека
Include Page
Безпека
Безпека

Include Page
Callback / Response - C2A та С2AT
Callback / Response - C2A та С2AT
Expand
titleПриклад GET параметрів
Tip

Платника буде відправлено за посиланням вказаним вами в параметр url з додаванням order методом GET

url = https://www.google.com/

order = 12345

Клієнта відправить після успішної оплати на https://www.google.com/?order=12345

При невдалій оплаті:

Note

При невдалій оплаті Callback не відправляється.