Versions Compared

Key

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

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

Table of Contents

Описание

Данный метод позволяет размещать отдельную кнопку для оплаты через Privat24 без использования платежной формы.

...

Info

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


Зміст

Table of Contents
maxLevel2
indent0px
absoluteUrltrue
stylecircle


Опис

Цей метод дозволить розмістити окрему кнопку для оплати Privat24 без використання платіжної форми.

Note

Заборонено додавати атрибут target="_blank" на кнопку

...

оплати для

...

відкриття Privat24 в

...

новому вікні.

Note

Оплата Privat24 не

...

підтримує холдування коштів (HOLD).


Демо

Iframe
scrollingno
srchttps://devplaton.com.ua/invoices/demo_buttons/payment_privat24.php
width570
frameborderhide
height55

Требования к сайту

API параметры запроса


Чекліст інтеграції

  •  Привести сайт / приложение к соответствию требованиям.
  •  Інтегрувати цей API метод.
  •  Передати тех підтримці PSP Platon посилання для Callback.
  •  Провести оплату реальною карткою (активується після підписання договору).
  •  Отримати Callback та змінити статус оплати на вашому сайті.

Вимоги

Include Page
Вимоги до сайтів та додатків
Вимоги до сайтів та додатків

API параметри

HTTP METHOD: POST

API ENDPOINT: https://secure.platononline.com/payment/auth

Параметр

...

Значение

...

Описание

...

Особенности

...

Обязательно

...

Значення

Опис

Особливості

key

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

String

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

Ключ

...

Да

...

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

payment

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

P24

Код

...

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

...

Да

...

data

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

amount

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

Number

...

Сума оплати

Tip

...

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

1000.00

Warning

...

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

1000
1000.0
1,000.0
1,000.00

...

Да

currency

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

UAH

Валюта

...

Info

Оплата

...

Да

...

description

...

String

...

можлива лише в національній валюті гривні.

description

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

String

Опис

Note

Для

...

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

Max 5000

...

Да

...

символів

url

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

String

...

Ссылка по которой будет отправлен клиент после успешной оплаты

...

Max 255 символов

...

Да

...

sign

...

String

...

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

Max 255 символів

email

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

String

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

Info

Обов'язково валідна пошта.

Info

Відсутність пробілів.

Max 255 символів

phone

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

Number

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

Info

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

Max 255 символів

sign

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

String

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

Code Block
languagephp
md5(
  strtoupper(
    strrev(

...

$key).
    strrev(

...

$payment).
    strrev(

...

$data).
    strrev(

...

$url).
    strrev(

...

$pass)
  )
)

...

Да

...

lang

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

UK

...

EN

...

Язык отображения формы

...

В приоритете настройка языка браузера плательщика

...

Нет

...

email

...

String

...

Почта плательщика

...

Max 255 символа

...

Нет

...

first_name

...

String

...

Имя плательщика

...

Max 32 символа

...

Нет

...

last_name

...

String

...

Фамилия плательщика

...

Max 32 символа

...

Нет

...

phone

...

Number

...

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

...

Note

Если ваше юр. лицо открыто в Приватбанк и вы передаете в запросе телефон плательщика, то:

1) обязательный формат телефона 380…

2) номер телефона должен соответствовать финансовому номеру привязанному к карте

...

Нет

...

address

...

String

...

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

...

Max 32 символа

...

Нет

...

zip

...

String

...

Почтовый код плательщика

...

Max 32 символа

...

Нет

...

city

...

String

...

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

...

Max 32 символа

...

Нет

...

country

...

String

...

Мова відображення платіжної форми

В приоритеті cookie в браузері клиента з параметром lang

Стандарт ISO 639-1

first_name

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

String

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

Max 32 символи

last_name

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

String

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

Max 32 символи

address

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

String

Адреса платника

Max 32 символи

zip

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

String

Поштовий індекс платника

Max 32 символи

city

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

String

Місто платника

Max 32 символи

country

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

String

Код країни платника

Стандарт ISO 3166-1 alpha-2

...

Max 2 символи

state

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

String

Код

...

штату, провінції або області платника

Note

...

Обов'язковий параметр для

...

країн US, CA, AU

Стандарт ISO 3166-2

...

Max 3 символа.

customer_wallet

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

String

Номер електронного

...

гаманця платника

Поле

...

Нет

...

обов'язкове для типів бізнесу пов'язаниз з віртуальними активами

order

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

String

ID

...

оплати в

...

системі мерчанта

Max 32

...

Нет

...

символи

formid

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

String

Параметр

...

додаткового налаштування

...

Нет

...

ext1-ext10

...

String

...

Дополнительные поля

...

Max 1024 символа в каждом ext поле

...

Нет

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

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

...

titleПример запроса на PHP

...

Параметр

...

Описание

...

id

...

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

...

order

...

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

...

status

...

SALE

...

number

...

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

...

description

...

Описание

...

amount

...

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

...

currency

...

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

...

name

...

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

...

email

...

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

...

phone

...

Телефон плательщика

...

date

...

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

...

ip

...

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

...

ext1-ext10

...

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

...

sign

...

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

Code Block
md5(
  strtoupper(
    $pass.
    $order_id
  )
)

...

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

...


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

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

String

10 додаткових полів

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


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

Expand
titleПриклад запиту на PHP + HTML
Warning

Запит має відправлятися з браузера платника Client - Server, а не з сервера мерчанта Server - Server.

Info

Content-Type: form-data або x-www-form-urlencoded

Code Block
languagephp
<?php
  $pass = '***';
  $data['key'] = '***';
  $data['url'] = 'http://google.com';
  $data['data'] = base64_encode(
                    json_encode(
                      array(
                        'amount' => '100.00',
                        'description' => 'Product',
                        'currency' => 'UAH'
                      )
                    )
                 );
  $data['payment'] = 'P24';
  $sign = md5(
            strtoupper(
              strrev($data['key']).
              strrev($data['payment']).
              strrev($data['data']).
              strrev($data['url']).
              strrev($pass)
            )
          );
?>

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Payment</title>
  </head>
  <body onload="javascript:document.forms[0].submit()">
    <form action="https://secure.platononline.com/payment/auth" method="post">
    <input type="hidden" name="payment" value="<?=$data['payment']?>" />
    <input type="hidden" name="key" value="<?=$data['key']?>" />
    <input type="hidden" name="url" value="<?=$data['url']?>" />
    <input type="hidden" name="data" value="<?=$data['data']?>" />
    <input type="hidden" name="sign" value="<?=$sign?>" />
    </form>                                         	
  </body>
</html>
Warning

Использование cURL для этого запроса запрещено

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

В целях тестирования необходимо использовать реальную карту привязанную к Приват24.

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

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

Работа с Callback

Info

Рекомендуем ознакомиться с разделом особенностей работы с Callback.

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

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

...

titleПример POST параметров в Callback при успешной оплате
Code Block
languagephp
array (
  'id' => '12345-12345-12345',
  'order' => '12345678',
  'status' => 'SALE',
  'description' => 'description 12345',
  'amount' => '99.99',
  'currency' => 'UAH',
  'date' => '2020-02-14 11:11:11',
  'ip' => '172.172.17.172',
  'sign' => 'qwerty123uiop456asdfgh789jkl012z',
  'number' => '411156*89',
  'email' => NULL,
  'name' => ' ',
  'phone' => NULL,
  'ext1' => '12345678',
)

...

Тестування

В цілях тестування необхідно використовувати реальну картку прив'язану до Privat24.


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

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

Callback

Expand
titleОсобливості роботи з Callback
Include Page
Робота з Callback
Робота з Callback
Expand
titleБезпека
Include Page
Безпека
Безпека
Include Page
Callback / Response - P24
Callback / Response - P24
Expand
titleПриклад GET параметрів
Tip

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

Code Block
languagephp
array (
  'token' => '12345678',
)

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

Info

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

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

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

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

Note

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


Помилки запитів

Expand
titleСписок ошибок

...

Ошибка

...

Причины

...

Решение

...

Response: {"result":"ERROR","error_message":"Incorrect sign"}

...

Неверно сформирована зашифрованная подпись.

...

Проверьте верность сформированной подписи. Если ошибку не нашли обратитесь в тех поддержку.

...

Добавлены параметры, которые не входят в данный запрос.

...

Проверьте список передаваемых параметров. Если ошибку не нашли обратитесь в тех поддержку.

...

Неверно зашифрована data.

...

Проверить используете ли вы UTF-8 и верный формат параметров.

...

Response: {"result":"ERROR","error_message":"Empty action"}

...

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

...

Проверьте список передаваемых параметров. Если ошибку не нашли обратитесь в тех поддержку.

...

Response: {"result":"ERROR","error_message":"Order already exists"}

...

Значение order_id должно быть уникальным. Данная ошибка говорит о том, что у вас уже была успешная транзакция с таким order_id.

...

Заменить значение order_id на новое уникальное.

...

Response: {"result":"ERROR","error_message":"Service error"}

...

Ситуация требует внимания сотрудников Platon.

...

Рекомендуем обратиться в тех саппорт Platon для проверки причины.

...

Response: {"result":"ERROR","error_message":"Previous transaction not completed"}

...

Ситуация требует внимания сотрудников Platon.

...

, их причин и возможных решений.
Include Page
Помилки та рішення при запитах
Помилки та рішення при запитах