Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

Описание:

Оплата картой позволяет плательщику провести платеж используя реквизиты своей банковской карты на платежной форме размещенной на стороне Platon.


Обязательные требования к сайту:


API Endpoint (cсылка для отправки запросов):

https://secure.akurateco.com/payment/auth


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

Параметр

Значение

Описание

Особенности

Обязательно

key

String

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

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

Да

payment

CC

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

Да

data

amount

Number

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

Tip

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

1000.00

Warning

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

1000
1000.0
1,000.0
1,000.00

Да

currency

UAH

MDL

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

info

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

Да

description

String

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

Note

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

Info

Обязательно указать перечень товаров из корзины с количеством для каждого из них. Пример: "Volume Lips x3; Anti Age x2".

Max 5000 символов

Да

recurring

Y

Создание токена карты

Для получения rc_id и rc_token

Да

url

String

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

Max 1024 символа

Да

sign

String

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

Code Block
languagephp
md5(
  strtoupper(
    strrev(key).
    strrev(payment).
    strrev(data).
    strrev(url).
    strrev(PASSWORD)
  )
)

Да

lang

UK, RU, EN

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

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

Нет

email

String

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

Max 255 символа

Нет

Да

first_name

String

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

Max 32 символа

Нет

Да

last_name

String

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

Max 32 символа

Нет

phone

Number

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

Note

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

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

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

Нет

address

String

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

Max 255 символа

Нет

zip

String

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

Max 32 символа

Нет

city

String

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

Max 32 символа

Нет

country

String

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

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

Нет

state

String

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

Note

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

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

Нет

customer_wallet

String

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

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

Нет

order

String

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

Max 32 символа

Нет

Да

error_url

String

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

При отсутствии ссылки ошибка будет отображена на платежной форме. Max 1024 символа

Нет

formid

String

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

Max 255 символов

Нет

req_token

Y

Создание токена карты

Для получения card_token

Да

ext1-ext10

String

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

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

Нет


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

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

Expand
titleПример запроса на PHP
Code Block
languagephp
<?php
  $pass = '*******';                      //API пароль указанный в письме
  $data['key'] = '***';                   //API ключ  указанный в письме
  $data['url'] = 'http://google.com';     //ссылка на вашу страницу об успешной оплате
  $data['data'] = base64_encode(
                    json_encode(
                      array(
                        'amount' => '100.00',
                        'description' => 'Product',
                        'currency' => 'UAHMDL',
                        'recurring' => 'Y'
                      )
                    )
                 );
  $data['payment'] = 'CC';
  $req_token = 'Y';
  $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.akurateco.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="req_token" value="<?=$req_token?>" />
    <input type="hidden" name="sign" value="<?=$sign?>" />
    </form>                                         	
  </body>
</html>
Warning

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

Iframe
scrollingno
srchttps://devplaton.com.ua/invoices/postman-test.html
styleheight: 260px;
frameborderhide

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

В целях тестирования используйте наши тестовые реквизиты.

Номер карты

Месяц / Год

CVV2

Описание результата

4111  1111  1111  1111

01 / 2022

Любые три цифры

Успешная оплата
без 3DS проверки

4111  1111  1111  1111

02 / 2022

Любые три цифры

Не успешная оплата
без 3DS проверки

4111  1111  1111  1111

05 / 2022

Любые три цифры

Успешная оплата
с 3DS проверкой

4111  1111  1111  1111

06 / 2022

Любые три цифры

Не успешная

4779 1800 0797 5650

03 / 2024

030

Успешная оплата
с 3DS проверкой


Дебагинг недоставленных Callback:

С целью дебагинга работы вашего сервера на ошибки получения Callback можем предоставить вам телеграм бот, куда будут поступать тело недоставленных вам Callback и информация об HTTP статусе.

Для настройки телеграм бота обратитесь в ваш груповой чат с просьбой подключить его вам.


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

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


Телеграм бот уведомлений о платежах:

Для настройки телеграм бота обратитесь в ваш груповой чат с просьбой подключить его вам.


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

Tip

Callback будут поступать с наших IP:
78.140.172.231
62.113.223.114
78.140.135.130
167.99.253.235

Info

Для получения Callback отправьте ссылку на ваш обработчик в ваш групповой чат. Ссылка для Callback прописывается на стороне Platon.

После отправки Callback в ответ Platon должен получить код HTTP 200 OK. Если Callback не удалось доставить будет произведено до 5 попыток повторной отправки в течение 60 секунд.

Опциональные варианты активация которых происходит по вашему обращению в групповом чате:

  • Callback в формате JSON

  • Basic Authorization

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

Expand
titleПример POST параметров в Callback при успешной оплате
Code Block
languagephp
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',
  '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',
)
Info

Для проверки достоверности полученного Callback, рекомендуем сверять подпись sign по формуле md5(strtoupper(strrev(email).pass.order.strrev(substr(card,0,6).substr(card,-4)))).

Внимание! Если при запросе на оплату не был указан email, то при проверке sing в подписи Callback следует указать пустое значение для email.

Параметр

Описание

id

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

order

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

status

SALE

rrn

Значение RRN транзакции

approval_code

Значение approval_code транзакции

card

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

description

Описание

amount

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

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-ext10

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

rc_id

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

rc_token

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

card_token

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

card_hash

Уникальное зашифрованное значение номера карты, которое будет возвращаться в коллбеке при оплате, верификации, погашении и выплате средств на карту.

Этот параметр даст вам возможность в вашей системе:

  • Привязать карту под клиента.

  • Проверить не использовал ли другой клиент эту же карту.

  • Проверить какие кредиты, товары и услуги погашаются данной картой.

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

Info

Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения.

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

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


Дополнительная проверка оплаты:

Для получения информации об оплате в случае, если ваша система не смогла принять Callback или по другой причине, можно воспользоваться дополнительными API запросами проверки:


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

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

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

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.

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