Versions Compared

Key

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

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


Зміст

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обов'язковий

createCREATE

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

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 символи

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 = '***';
  $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)
  ));
   
  $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://pltn.me/v1/";

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

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

var data = "key=*****&action=create&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();
  }

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

Code Block
languagejson
{
  "short_link":"https://pltn.me/E5fih",
  "upload_qr":"https://pltn.me/v1/qr/005_file_85b5d3eb5e7579d0d3b76a74f0d5e61b.png"
}

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

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

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

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

Expand
titleПример ошибки
Image Removed

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

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

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

Используя

Callback

для автоматизации процесса зачисления в системе на вашей стороне
  • Нотификация в Telegram Bot об успешной оплате с деталями платежа сразу после списания

  • В вашем личном кабинете Platon

  • CSV файл с деталями платежей скачав в личном кабинете Platon

  • /wiki/spaces/docs/pages/2034926256

  • Банковский реестр на почту или ваш FTP

  • Дополнительная проверка статуса и деталей платежа по API

  • Работа с 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."}

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