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://pltnsecure.platononline.mecom/v1post-invoice/

Параметр

Значення

Опис

Особливості

key

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

String

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

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

order

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

String

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

Max 32 символи

action

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

create

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.
    
$order
$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

qr

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

Y

Получение картиники с QR кодом

Картинку необходимо будет скачать на ваш сервер.

deactivate

Status
colourYellow
titleне

обов

Обов'язковий

Y

Деактивация короткой ссылки после успешной оплаты

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

Warning

Внимание! Данная настройка должна быть активирована с нашей стороны. Просьба сообщить нам об активации этой функции в чат.

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

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

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

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


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

Expand
titleПример запроса Приклад запиту на PHP
Code Block
languagephp
<?php
  $pass  $client_pass = '***';
    $data['key']= '***';
    $data['action'] = 'createCREATE';
    $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['orderpayment'].
                            $data['amount'].
         strrev($pass)
  )                   strrev($client_pass)
                        )
                    );
   
    $url = 'https://pltnsecure.platononline.mecom/v1post-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);
Expand
titleПример запроса Приклад запиту на .NET
Code Block
languagephp
var url = "https://pltnsecure.platononline.mecom/v1post-invoice/";

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

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

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

using (var streamWriter = 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:\/\/pltn.me/E5fihsecure.platononline.com\/payment\/shortlink\/655f00d39169657856757",
  "upload_qr":"https:\/\/pltn.me\/v1v3\/qr\/005qr_file_85b5d3eb5e7579d0d3b76a74f0d5e61b655f00d39169657856757.png"
}

Деактивация или ограничение срока действия

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

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

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


Тестування

💳
Expand
Expand
titleИспользуйте наши тестовые реквизиты
Include Page
titleПример ошибки
Image Removed

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

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

Проверка платежей

Получить информацию о платежах можно несколькими способами:

Работа с Callback

Info

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

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

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

Expand
titleПример Callback при успешной оплате по дебету
Code Block
languagephp
array (
  'id' => '28270-42158-64788',
  'type' => 'DEBIT',
  'order' => '3522743',
  'status' => 'DEBIT',
  'card' => '****************',
  'description' => '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

При неуспешной оплате коллбек не отправляется

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

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

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

Expand
titleСписок ошибок и их решение

Ошибка

Причины

Решение

{"error":"We could not find a match for key, sorry. Please check key and repeat the request." }

Данный функционал вам не активирован.

Обратитесь в тех поддержку Platon для активации.

{"error":"The order parameter contains more than 255 characters."}

Параметр order содержит более 255 символов.

Исправить данные в параметре order и переотправить запрос.

{"error":"The description parameter contains more than 1024 characters."}

Параметр description содержит более 1024 символов.

Исправить данные в параметре description и переотправить запрос.

{"error":"Amount parameter specified in the wrong format."}

Параметр amount указан в неверном формате.

Исправить данные в параметре amount и переотправить запрос.

{"error":"Invalid request signature. Please check signature calculation method."}

Неверная подпись sign запроса.

Проверьте метод расчета подписи.

{"error":"This request not allowed"}

Общая ошибка.

Проверьте верность отправки запроса в систему.

{"error":"GET request not allowed"}

GET метод запроса не разрешен.

Проверьте верность отправки запроса в систему.

{"error":"This request not allowed"}

Данный метод запроса не разрешен.

Проверьте верность отправки запроса в систему.

{"error":"Empty POST"}

Ваш запрос не содержит параметров.

Проверьте верность отправки запроса в систему.

{"error":"Could not connect to database: … "}

Проблема с соединением с базой данных на стороне Platon с указанием причины.

Обратитесь в тех поддержку Platon для проверки.

{"error":"Your data has not been entered into the database."}

Ваш запрос не может быть записан в систему (системная ошибка).

Повторите запрос

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

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 не відправляється.