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

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

Добавить логотипы платежных систем Visa и Mastercard

Добавить логотип Privat24

Добавить логотип PSP Platon

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

...

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

...

payment

P24

Код

...

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

data

Status
colourGreen
title

...

data

...

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

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

Status
colourGreen
title

...

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

String

...

Опис

Note

Для

...

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

Max 5000

...

символів

url

Status
colourGreen
title

...

url

...

String

...

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

...

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

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
colour

...

Yellow
title

...

lang

...

email

...

String

...

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

...

Max 255 символа

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

UK
EN

...

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

...

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

...

Status
colourYellow
titleнет

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

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

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

first_name

Status
colourYellow
title

...

first_name

...

String

...

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

String

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

Max 32

...

Status
colourYellow
titleнет

символи

last_name

...

String

...


...

Max 32 символа

Status
colourYellow
title

...

phone

...

Number

...

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

...

Note

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

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

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

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

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

...

formid

...

String

...

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

String

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


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

Status
colourYellow
title

...

ext1-ext10

...

String

...

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

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 при успешной оплате

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

...

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',
)

...

Параметр

...

Описание

...

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 параметров

...

Тестування

В цілях тестування необхідно використовувати реальну картку прив'язану до 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
Помилки та рішення при запитах
Помилки та рішення при запитах