
Описание:
Оплата в один клик упрощает ввод карточных данных. Для оплаты плательщику необходимо ввести только CVV код.
В запросе используется ранее сохраненная карта в виде зашифрованого CARD_TOKEN, который можно получить из callback при первой Оплата картой.
Дополнительно рекомендуем ознакомиться с разделом Особенности токенов
Обязательные требования к сайту:
API Endpoint (cсылка для отправки запросов):
https://secure.akurateco.com/payment/auth
Описание параметров запроса:
Параметр | Значение | Описание | Особенности | Обязательно |
---|
key | String | API ключ мерчанта | Ключ предоставляется на почту мерчанту | Да |
payment | CCT | Код платежного метода | | Да |
data | amount | Number | Сумма платежа | Неверные варианты 1000 1000.0 1,000.0 1,000.00 |
| Да |
currency | UAH | Валюта платежа | Оплата возможна только в национальной валюте гривне |
| Да |
description | String | Описание платежа | Для кириллических символов необходимо использовать формат UTF-8 |
Обязательно указать перечень товаров из корзины с количеством для каждого из них. Пример: "Volume Lips x3; Anti Age x2". |
Max 5000 символов | Да |
card_token | String | Токен карты | card_token из коллбека первичной транзакции | Да |
url | String | Ссылка по которой будет отправлен клиент после успешной оплаты | Max 255 символов | Да |
sign | String | Контрольная подпись | md5(
strtoupper(
strrev(key).
strrev(payment).
strrev(data).
strrev(url).
strrev(card_token).
strrev(PASSWORD)
)
) |
| Да |
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 | Нет |
order | String | ID платежа в системе мерчанта | Max 32 символа | Да |
customer_wallet | String | Номер електронного кошелька пользователя | Поле обязательно для типов бизнеса связаных с виртуальными активами | Нет |
error_url | String | Ссылка по которой будет отправлен плательщик после 5 неудачных попыток оплаты | При отсутствии ссылки ошибка будет отображена на платежной форме | Нет |
formid | String | Параметр дополнительной настройки |
| Нет |
ext1-ext10 | String | Дополнительные поля | Max 1024 символа в каждом ext поле | Нет |
Примеры запроса:
noteДля просмотра примера раскройте список
Для просмотра примера раскройте список
<?php
$pass = '***';
$data['key'] = '***';
$data['url'] = 'https://google.com';
$data['data'] = base64_encode(
json_encode(
array(
'amount' => '100.00',
'description' => 'Product',
'currency' => 'UAH'
)
)
);
$data['payment'] = 'CCT';
$card_token = '***';
$sign = md5(
strtoupper(
strrev($data['key']).
strrev($data['payment']).
strrev($data['data']).
strrev($data['url']).
strrev($card_token).
strrev($pass)
)
);
?>
<!DOCTYPE html PUBLIC>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>CCT</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="card_token" value="<?=$card_token?>" />
<input type="hidden" name="data" value="<?=$data['data']?>" />
<input type="hidden" name="sign" value="<?=$sign?>" />
</form>
</body>
</html> |
|
Использование cURL для этого запроса запрещено |
Дебагинг недоставленных Callback:
С целью дебагинга работы вашего сервера на ошибки получения Callback можем предоставить вам телеграм бот, куда будут поступать тело недоставленных вам Callback и информация об HTTP статусе.
Для настройки телеграм бота обратитесь в ваш груповой чат с просьбой подключить его вам.

Тестирование:
В целях тестирования используйте CARD_TOKEN полученный из коллбека при успешной транзакции с использованием наших тестовых реквизитов:
Коллбек при успешной оплате:
Коллбеки будут поступать с наших IP: 78.140.172.231 62.113.223.114 78.140.135.130 167.99.253.235 |
Для получения коллбеков отправьте ссылку на ваш обработчик в ваш групповой чат. Ссылка для коллбеков прописывается на стороне Platon. |
После отправки коллбека в ответ Platon должен получить код HTTP 200 OK. Если коллбек не удалось доставить будет произведено до 5 попыток повторной отправки в течение 60 секунд.
Опциональные варианты активация которых происходит по вашему обращению в групповом чате:
Коллбеки в формате JSON
Basic Authorization
noteДля просмотра примера раскройте список
Для просмотра примера раскройте список
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' => '27474-11220-68708',
) |
Для проверки достоверности полученного callback, рекомендуем сверять подпись sign по формуле md5(strtoupper(strrev(email).pass.order.strrev(substr(card,0,6).substr(card,-4)))). Внимание! Если при запросе на оплату не был указан email, то при проверке sing в подписи коллбека следует указать пустое значение для 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 | Уникальное зашифрованное значение номера карты, которое будет возвращаться в коллбеке при оплате, верификации, погашении и выплате средств на карту. Этот параметр даст вам возможность в вашей системе: Привязать карту под клиента. Проверить не использовал ли другой клиент эту же карту. Проверить какие кредиты, товары и услуги погашаются данной картой. Отслеживать мошенничество, когда клиент использует ту же карту с другого аккаунта, например, чтобы повторно воспользоваться акцией.
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения. |
| sign | Зашифрованная подпись для проверки достоверности коллбека |
|
Плательщик будет отправлен по ссылке указанной в “url” с добавлением “order” методом GET |
array (
'token' => '11-22-33',
) |
|
Коллбек при неуспешной оплате:
При неуспешной оплате коллбек не отправляется |
Дополнительная проверка оплаты:
Для получения информации об оплате в случае, если ваша система не смогла принять Callback или по другой причине, можно воспользоваться дополнительными API запросами проверки:
Ошибки запросов:
В ходе проведения запрос вы можете получить разные ошибки. Пожалуйста, ознакомьтесь со списком возможных ошибок, их причин и возможности решения.
noteДля просмотра примера раскройте список
Для просмотра примера раскройте список
Ошибка | Причины | Решение |
---|
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 для проверки причины. |
|