Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

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

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


Зміст


API параметри

HTTP METHOD: POST

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

Параметр

Значення

Опис

Особливості

key
ОБОВ'ЯЗКОВИЙ

String

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

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

order
ОБОВ'ЯЗКОВИЙ

String

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

Max 32 символи

action
ОБОВ'ЯЗКОВИЙ

CREATE

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

payment
ОБОВ'ЯЗКОВИЙ

CCT

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

description
ОБОВ'ЯЗКОВИЙ

String

Опис

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

Max 5000 символов

amount
ОБОВ'ЯЗКОВИЙ

Number

Сума оплати

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

1000.00

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

1000
1000.0
1,000.0
1,000.00

sign
ОБОВ'ЯЗКОВИЙ

String

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

md5(
  strtoupper(
    $key.
    $payment.
    $amount.
    strrev($pass).
  )
)

card_token
ОБОВ'ЯЗКОВИЙ

String

Токен отриманий з попередньої оплати

url
ОБОВ'ЯЗКОВИЙ

String

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

Max 1024 символів

error_url
НЕ ОБОВ'ЯЗКОВИЙ

String

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

Max 1024 символів

qr
НЕ ОБОВ'ЯЗКОВИЙ

Y

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

lang
НЕ ОБОВ'ЯЗКОВИЙ

UK
EN

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

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

email
НЕ ОБОВ'ЯЗКОВИЙ

String

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

Max 255 символів

first_name
НЕ ОБОВ'ЯЗКОВИЙ

String

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

Max 32 символи

last_name
НЕ ОБОВ'ЯЗКОВИЙ

String

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

Max 32 символи

phone
НЕ ОБОВ'ЯЗКОВИЙ

Number

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

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

formid
НЕ ОБОВ'ЯЗКОВИЙ

String

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

Max 255 символів

ext1, ext2, ext3, ext4, ext5, ext6, ext7, ext8, ext9
НЕ ОБОВ'ЯЗКОВИЙ

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

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

date_ran
НЕ ОБОВ'ЯЗКОВИЙ

String

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

Час по Києву.

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

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

date_end
НЕ ОБОВ'ЯЗКОВИЙ

String

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

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

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

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

deactivate
НЕ ОБОВ'ЯЗКОВИЙ

Y

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

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


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

 Приклад запиту на PHP
<?php
    $client_pass = '***';
    $data['key']= '***';
    $data['action'] = 'CREATE';
    $data['payment'] = 'CCT';
    $data['order'] = '123ABC';
    $data['description'] = 'Тестова оплата';
    $data['amount'] = '356.00';
    $data['card_token'] = '********';
    $data['qr'] = 'Y';
    $data['url'] = 'https://google.com';
    $data['sign'] = md5(
                        strtoupper(
                            $data['key'].
                            $data['payment'].
                            $data['amount'].
                            strrev($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);
 Приклад запиту на .NET
var url = "https://secure.platononline.com/post-invoice/";

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

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

var data = "key=*****&action=CREATE&payment=CCT&card_token=****&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

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

Тестування

Для тестування використайте card_token створений на тестовій картці.


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

 Список методів отримання статусу транзакції

Callback & Response

Використовуйте Callback або Response (в залежності від типу запиту) для автоматизації процесу зарахування у вашій системі.

Відправляється автоматично або за вашим API запитом для перевідправки.



Особистий кабінет PSP Platon

Всю необхідну інформацію ви знайдете в нашому особистому кабінеті за посиланням https://secure.platononline.net/auth/login

 Подробиці

Інструкція по використанню

Інструкція до особистого кабінету PSP Platon


Помилки доступу в кабінет

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

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


CSV файл

CSV файл з деталями оплати можна завантажити в особистому кабінеті PSP Platon.

Для коректного відображення даних в Microsoft Excel рекомендуємо ознайомитись з інструкцією по використанню CSV файлів.


Банківський реєстр

Банківські реєстри можуть бути відправлені вам на регулярній основі на ваш Email або FTP.



Callback

 Особливості роботи з Callback

URL для Callback

Для отримання Callback відправте URL на ваш обробник в груповий чат з вказанням API ключа для якого потрібно прописати посилання. Посилання для Callback вказується на боці PSP Platon.


IP адреси

Callback будуть надходити з IP:
78.140.172.231
78.140.135.130
167.99.253.235
62.113.223.114
62.113.223.116
212.83.61.161
185.172.90.66
185.172.90.74
185.172.90.75
185.172.90.115
185.172.90.119


Очікувана відповідь на Callback

Після відправки Callback у відповідь PSP Platon має отримати HTTP код 200.


Помилки при відправці Callback

Якщо Callback не вдалося відправити або було отримано не HTTP код 200, будуть проведені додаткові повторні спроби відправки в проміжках часу 1 хв, 5 хв, 10 хв, 15 хв, 30 хв, 60 хв.


Перевідправка Callback

Для перевідправки Callback прохання повідомити в груповий чат список необхідних ордерів.

 Безпека

Увага! Рекоменлації цього розділу допоможуть запезпечити безпеку від шахрайських дій пов'язаних з вашим сайтом та транзакціями.


Довірені IP

Для забезпечення додаткової безпеки рекомендуємо опціонально додати в білий список доступів POST запити тільки з наших довірених IP:
78.140.172.231
78.140.135.130
167.99.253.235
62.113.223.114
62.113.223.116
212.83.61.161
185.172.90.66
185.172.90.74
185.172.90.75
185.172.90.115
185.172.90.119


Секретність API доступів

Не тримайте у відкритому доступі API ключ та API пароль, а також не надавайте обидва ці параметри в групові робочі чати, в тому числі з нами. Для перевірки деталей представники PSP Platon можуть попросити у вас лише API ключ, пароль треба тримати в таємниці.


Секретність кабінету

Не розголошуйте логін та пароль від вашого особистого кабінету третім особам. У випадку якщо доступ був втрачений зверніться в груповий чат. Пароль від особистого кабінету діє 30 днів. Рекомендуємо оновлювати пароль до закінчення терміну дії в 30 днів.


Секретність посилання для Callback

Не залишайте посилання для Callback у відкритому доступі на вашому ресурсі.


Сторінка успішної оплати не гарантія успіху оплати

Не використовуйте факт переходу платника на сторінку успіщної оплати як признак успішної оплати. Статус транзакції та деталі оплати необхідно отримати тільки в Callback або в особистому кабінеті PSP Platon.


Звірка даних в Callback

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


При успішній оплаті IA

 Callback при успішній оплаті карткою, Google Pay, Apple Pay, оплата частинами (при оплаті с платіжної форми)
array (
  'id' => '27374-54220-93708',
  'order' => '11-22-33',
  'status' => 'SALE',
  'rrn' => NULL,
  'approval_code' => NULL,
  'card' => '411111****1111',
  'description' => 'Оплата триал версии',
  'amount' => '1.00',
  'currency' => 'UAH',
  'name' => 'Марина Иванова',
  'email' => 'platon@gmail.com',
  'phone'=> '+380962111111',
  'country' => NULL,
  'state' => NULL,
  'city' => NULL,
  'address' => NULL,
  'date'=> '2019-11-14 15:30:22',
  'ip' => '155.209.55.69',
  'sign' => '********************************',
  'rc_id' => '27374-54220-93708',
  'rc_token' => 'b2ef4d1061621ffc0ed12d00c155ec93',
  'card_token' => '85351eeec95ebc2fef8a210ab5c9818e64157460af4600ce1210508f08f87433',
  'fee_type' => 'TRANSACTION',
  'fee' => '0.5',
)

Параметр

Опис

id
ОБ'ЯЗКОВИЙ

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

order
ОБ'ЯЗКОВИЙ

Ордер ID транзакції в системі мерчанта. Якщо параметр не передавався система Platon присвоїт його самостійно

status
ОБ'ЯЗКОВИЙ

SALE

rrn
ОБ'ЯЗКОВИЙ

Значення RRN транзакції

approval_code
ОБ'ЯЗКОВИЙ

Значення approval_code транзакції

card
ОБ'ЯЗКОВИЙ

Маска картки в форматі ХХХХХХ****ХХХХ, або маска телефону при оплаті частинами

description
ОБ'ЯЗКОВИЙ

Опис

amount
ОБ'ЯЗКОВИЙ

Сума оплати

currency
ОБ'ЯЗКОВИЙ

UAH

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, ext2, ext3, ext4, ext5, ext6, ext7, ext8, ext9, ext10
ОПЦІЯ

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

rc_id
ОПЦІЯ

Ордер ID в системі Platon для наступних транзакцій по rc_token

rc_token
ОПЦІЯ

Зашифрований токен картки для наступних транзакцій по rc_token

card_token
ОПЦІЯ

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

card_hash
ОПЦІЯ

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

Цей параметр дасть вам можливість:

  • Прив'язати картку під клієнта.

  • Перевірити чи не використовував її інший клієнт.

  • Перевірити які кредити, товари та послуги оплачували цією карткою.

  • Відслідковувати шахрайство, коли клієнт використовує ту саму картку з іншого акаунта, наприклад, щоб повторно скористатися акцією.

Активується додатково по вашому зверненню в груповий чат.

fee_type
ОПЦІЯ

Ознака яким чином знімається комісія:

  • ACT - по актам.

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

Активується додатково по вашому зверненню в груповий чат.

fee
ОПЦІЯ

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

Активується додатково по вашому зверненню в груповий чат.

issuing_bank
ОПЦІЯ

Назва банку емітентка картки клієнта.

Активується додатково по вашому зверненню в груповий чат.

brand
ОПЦІЯ

'brand' => 'VISA'

'brand' => 'MASTER'

'brand" => 'PROSTIR'

Активується додатково по вашому зверненню в груповий чат.

MID
ОПЦІЯ

Унікальний ідентифікатор банківського термінала PSP Paton. Підкожний платіжний метод та мерчанта свій ідентифікатор.

Активується додатково по вашому зверненню в груповий чат.

sign
ОБ'ЯЗКОВИЙ

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

md5(
  strtoupper(
    strrev($email).
    $pass.
    $order.
    strrev(
      substr($card,0,6).
      substr($card,-4)
    )
  )
)

Увага! Якщо в запиті на оплату не було вказано email, то при перевірці sing в підписі Callback варто вказати пусте значення email.

 Приклад GET параметрів

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

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

order = 12345

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

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

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

  • No labels