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

« Previous Version 63 Next »

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



Описание

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

Добавление атрибута target="_blank" на кнопку оплаты, для открытия Privat24 в новом окне, строго запрешено

Оплата Privat24 не поддерживает холдирование средств (HOLD)


Демо


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


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

HTTP METHOD: POST

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


Параметр

Значение

Описание

Особенности

Обязательно

key

String

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

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

Да

payment

P24

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

Да

data

amount

Number

Сумма платежа

Верный вариант

1000.00

Неверные варианты

1000
1000.0
1,000.0
1,000.00

Да

currency

UAH

Валюта платежа

Оплата возможна только в национальной валюте гривне

Да

description

String

Описание платежа

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

Max 5000 символов

Да

url

String

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

Max 255 символов

Да

sign

String

Контрольная подпись

md5(
  strtoupper(
    strrev(key).
    strrev(payment).
    strrev(data).
    strrev(url).
    strrev(pass)
  )
)

Да

lang

UK
RU
EN

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

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

Нет

email

String

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

Max 255 символа

Нет

first_name

String

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

Max 32 символа

Нет

last_name

String

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

Max 32 символа

Нет

phone

Number

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

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

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

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

Нет

address

String

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

Max 32 символа

Нет

zip

String

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

Max 32 символа

Нет

city

String

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

Max 32 символа

Нет

country

String

Двухзначный код страны плательщика

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

Нет

state

String

Код штата, провинции или области плательщика

Обязательный параметр для стран US, CA, AU

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

Нет

customer_wallet

String

Номер електронного кошелька пользователя

Поле обязательно для типов бизнеса связанных с виртуальными активами

Нет

order

String

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

Max 32 символа

Нет

formid

String

Параметр дополнительной настройки


Нет

ext1-ext10

String

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

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

Нет


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

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

 Пример запроса на PHP
<?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>

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


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

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


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

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


Работа с Callback

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


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

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

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

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

md5(
  strtoupper(
    $pass.
    $order_id
  )
)
 Пример GET параметров

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

array (
  'token' => '12345678',
)

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

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


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

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

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

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

Ошибка

Причины

Решение

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.

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

  • No labels