Info |
---|
Этот функционал будет активирован после вашего запроса в групповом чате. Также обязательно сообщите IP адреса, с которых будут отправляться запросы для добавления в белый список. |
Note |
---|
Ваш сайт должен работать по схеме HTTPS и поддерживать протокол TLS 1.2. |
Table of Contents |
---|
Описание
Регулярный платеж позволяет проводить списание без участия плательщика.
В запросе используется ранее сохраненная карта в виде зашифрованого CARD_TOKEN, который можно получить из callback при первой Оплата картой или Верификации карты.
Дополнительно рекомендуем ознакомиться с разделом /wiki/spaces/docs/pages/1323303006
Требования
Уведомить клиентов об условиях подписки и регулярных списаниях
Получить согласие клиентов на регулярные списания
Получить согласие клиентов с условиями договора публичной оферты
Рекомендуем дать возможность отмены подписки клиентом на сайте или приложении
Согласно правил МПС разрешается 1 попытка списания в день
Разместить договор публичной оферты
Разместить логотипы платежных систем Visa и Mastercard
Добавить логотипы PSP Platon
API параметры запроса
HTTP METHOD:
Status | ||||
---|---|---|---|---|
|
API ENDPOINT: https://secure.platononline.com/post-unq/
Параметр
Значение
Описание
Особенности
Обязательно
action
SALE
Код платежного метода
Только одно значение
Status | ||||
---|---|---|---|---|
|
async
Y
N
Включить асинхронный режим
В асинхронном режиме обязательное использование коллбеков.
По умолчанию значение N
Status | ||||
---|---|---|---|---|
|
channel_id
String
Дополнительный платежный канал
Позволяет отправить платежи на другой банковский терминал
Status | ||||
---|---|---|---|---|
|
client_key
String
API ключ мерчанта
Ключ предоставляется на почту мерчанту
Status | ||||
---|---|---|---|---|
|
order_id
String
ID платежа в системе мерчанта
Max 32 символа
Status | ||||
---|---|---|---|---|
|
order_amount
Number
Сумма платежа
Tip |
---|
Верный вариант 1000.00 |
Warning |
---|
Неверные варианты 1000 |
Status | ||||
---|---|---|---|---|
|
order_currency
UAH
Валюта платежа
Info |
---|
Оплата возможна только в национальной валюте гривне |
Status | ||||
---|---|---|---|---|
|
order_description
String
Описание платежа
Max 255 символов
Info |
---|
Цей функціонал буде активовано після вашого запиту в груповому чаті. |
Зміст
Table of Contents | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Опис
Регулярный платеж позволяет проводить списание без участия плательщика.
В запросе используется ранее сохраненная карта в виде зашифрованого CARD_TOKEN, который можно получить из callback при первой Оплата картой или Верификации карты.
Дополнительно рекомендуем ознакомиться с разделом /wiki/spaces/docs/pages/1323303006
Требования
Уведомить клиентов об условиях подписки и регулярных списаниях
Получить согласие клиентов на регулярные списания
Получить согласие клиентов с условиями договора публичной оферты
Рекомендуем дать возможность отмены подписки клиентом на сайте или приложении
Согласно правил МПС разрешается 1 попытка списания в день
Разместить договор публичной оферты
Разместить логотипы платежных систем Visa и Mastercard
Добавить логотипы PSP Platon
API параметри
HTTP METHOD: POST
API ENDPOINT: https://secure.platononline.com/post-unq/
Параметр | Значення | Опис | Особливості | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| да |
| String | Токен карты |
|
| Код платіжного метода | ||||||||||||||||||||||
| да |
| String | Имя плательщика |
| String | API ключ мерчанта | Ключ надається на пошту мерчанту | |||||||||||||||||||||
Max 32 символа без пробелов
| нет |
| String | Фамилия плательщика |
| String | ID оплати в системі мерчанта | Max 32 символи | |||||||||||||||||||||
| String | Страна плательщика |
| В формате "ХХ"
| нет | ||||||||||||||||||||||||
| String | Адрес плательщика | Max 256 символа |
| |||||||||||||||||||||||||
| Number | Сума оплати |
| ||||||||||||||||||||||||||
В формате "ХХ"
| нет |
| String | Штат плательщика |
|
| Валюта |
| |||||||||||||||||||||
| нет |
|
| String | Город плательщикаОпис | Max 32 символа | |||||||||||||||||||||||
| нет |
|
String
Почтовый индекс плательщика
Max 32 символа
Укажите NA
, если нет данныхТокен картки
card_token
з callback першої оплати
payer_email
Status | |
---|---|
|
payer_email
|
|
String
Почта плательщика
Валидная почта
Status | ||||
---|---|---|---|---|
|
payer_phone
Number
Номер телефона плательщика
В формате “380XXXXXXXXX”
Max 32 символа
Пошта платника
Info |
---|
Валідна пошта |
Info |
---|
Без пробілів |
payer_ip
Status | |
---|---|
|
|
payer_ip
|
Number
IP-адрес плательщикаплатника
В формате форматі "ХХХ.ХХХ.ХХХ.ХХХ"
Note |
---|
IPv6 не підтримується |
term_url_3ds
Поле обязательно для типов бизнеса связаных с виртуальными активами
Status | |||
---|---|---|---|
|
customer_wallet
String
Номер електронного кошелька пользователя
|
String
Посилання куди перейде платник після проби оплати (успішної чи невдалої)
ext3
Status | |
---|---|
|
|
term_url_3ds
String
recurring
Ознака регулярної оплати
hash
ext3
recurring
Признак регулярного платежа
Status | ||||
---|---|---|---|---|
|
hash
String
Контрольная подпись
Status | |||
---|---|---|---|
|
auth
Y
N
Y
или N
(по умолчанию N
)
Status | ||||
---|---|---|---|---|
|
|
String
Контрольний підпис
Code Block | ||
---|---|---|
| ||
md5( strtoupper( strrev($payer_email). $client_pass. strrev($card_token) ) ) |
Info |
---|
Если при первоначальном запросе на оплату не был указан |
async
Status | |
---|---|
|
|
Примеры запроса
Для просмотра примера раскройте список
title | Пример запроса на PHP |
---|
language | php |
---|
|
| Включити асинхронний режим | В асинхронному режимі обов'язкове використання коллбеків. | ||||||
| String | Додатковий платіжний канал | Дозволяє відправити оплати на інший банківський термінал | ||||||
| String | Ім'я платника | Max 32 символи без пробілів | ||||||
| String | Прізвище платника | Max 32 символи без пробілів | ||||||
| String | Адреса платника | Max 256 символів | ||||||
| String | Країна платника | В форматі "ХХ" | ||||||
| String | Штат платника | В форматі "ХХ" | ||||||
| String | Місто платника | Max 32 символи | ||||||
| String | Поштовий індекс платника | Max 32 символи | ||||||
| Number | Номер телефону платника | В форматі “380XXXXXXXXX” | ||||||
| String | Номер електронного гаманця платника | Поле обов'язкове для типів бізнесу пов'язаних з віртуальними активами | ||||||
|
| Стандартне значення |
Приклад запиту
Expand | |||||
---|---|---|---|---|---|
| |||||
|
Iframe | ||||||||
---|---|---|---|---|---|---|---|---|
|
Тестирование
В целях тестирования используйте CARD_TOKEN полученный из коллбека при успешной транзакции с использованием наших тестовых реквизитов:
Проверка платежей
Получить информацию о платежах можно несколькими способами:
Используя Callback для автоматизации процесса зачисления в системе на вашей стороне
Нотификация в Telegram Bot об успешной оплате с деталями платежа сразу после списания
В вашем личном кабинете Platon
CSV файл с деталями платежей скачав в личном кабинете Platon
Банковский реестр на почту или ваш FTP
Работа с Callback
Info |
---|
Рекомендуем ознакомиться с разделами: |
Синхронный режим:
Данный режим работает по умолчанию. Передавать async = N
не нужно.
При успешной оплате (синхронный режим):
title | Response при успешном списании |
---|
Code Block | ||
---|---|---|
| ||
{
"action":"SALE",
"result":"SUCCESS",
"status":"SETTLED",
"order_id":"4385302",
"trans_id":"28261-34099-19648",
"descriptor":null,
"trans_date":"2020-02-25 06:50:09"
} |
Параметр
Описание
action
SALE
result
SUCCESS
status
SETTLED
(PENDING
, если в запросе было указано auth = Y
)
order_id
Уникальный ордер ID транзакции в системе мерчанта
trans_id
Уникальный ордер ID транзакции в системе Platon
trans_date
Время проведения транзакции в формате UTC (YYYY-MM-DD HH-MM-SS)
descriptor
NULL
title | Callback при успешном списании |
---|
Code Block | ||
---|---|---|
| ||
array (
'action' => 'SALE',
'result' => 'SUCCESS',
'status' => 'SETTLED',
'order_id' => '4385323',
'trans_id' => '28261-47789-28578',
'trans_date' => '2020-02-25 07:12:58',
'descriptor' => NULL,
'hash' => '********************************',
) |
Параметр
Описание
action
SALE
result
SUCCESS
status
SETTLED
(PENDING
, если в запросе было указано auth = Y
)
order_id
Уникальный ордер ID транзакции в системе мерчанта
trans_id
Уникальный ордер ID транзакции в системе Platon
trans_date
Время проведения транзакции в формате UTC (YYYY-MM-DD HH-MM-SS)
descriptor
NULL
card_hash
Уникальное зашифрованное значение номера карты, которое будет возвращаться в коллбеке при оплате, верификации, погашении и выплате средств на карту.
Этот параметр даст вам возможность в вашей системе:
Привязать карту под клиента.
Проверить не использовал ли другой клиент эту же карту.
Проверить какие кредиты, товары и услуги погашаются данной картой.
Отслеживать мошенничество, когда клиент использует ту же карту с другого аккаунта, например, чтобы повторно воспользоваться акцией.
Info |
---|
Если вы хотите использовать данный функционал, пожалуйста, сообщите нам для его включения. |
hash
Зашифрованная подпись для проверки достоверности коллбека
Code Block |
---|
md5(
strtoupper(
strrev(email).
client_pass.
trans_id.
strrev(
substr(card,0,6).
substr(card,-4)
)
)
) |
Info |
---|
Внимание! Если при запросе на оплату не был указан |
|
Тестування
В цілях тестування використовуйте card_token
отриманий з коллбека успішної транзакції по одному з вказаних методів:
IE оплата карткою
Верифікація картки
C2A оплата
Виплата на картку по повному номеру картки
Перевірка платежів
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Callback
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Синхронний режим:
Стандартний режим. Передавати async = N
не потрібно.
При успешній оплаті (синхронний режим):
Expand | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||
DECLINED
DECLINED
Причина отмены транзакции |
Expand | ||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||
Время проведения транзакции в формате UTC (YYYY-MM-DD HH-MM-SS)
NULL | Причина отмены транзакции
|
Асинхронный режим:
Данный режим активируется при передаче async = Y
. В этом режиме обязательно необходимо принимать callback на ваш callback url.
При невдалій оплаті (синхронний режим):
Expand | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||
ACCEPTED
|
|
Expand | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||
SUCCESS
SETTLED (PENDING , если в запросе было указано auth = Y )
Зашифрованный токен карты для последующих транзакций по | Зашифрованный токен карты для последующих транзакций по
card_token
|
При неуспешной оплате (асинхронный режим):
title | Callback при неуспешном списании |
---|
Code Block | ||
---|---|---|
| ||
array (
'action' => 'SALE',
'result' => 'DECLINED',
'status' => 'DECLINED',
'order_id' => '4092002',
'trans_id' => '28076-29879-99538',
'trans_date' => '2020-02-03 20:49:47',
'decline_reason' => 'Declined by processing',
'hash' => '********************************',
) |
Info |
---|
Для проверки достоверности полученного callback, рекомендуем сверять подпись hash по формуле md5(strtoupper(strrev(email).client_pass.trans_id.strrev(substr(card,0,6).substr(card,-4)))). Внимание! Если при первоначальном запросе на оплату, когда был получен токен не был указан email, то при проверке sing в подписи коллбека следует указать пустое значение для email. |
Параметр
Описание
action
SALE
result
DECLINED
status
DECLINED
order_id
Уникальный ордер ID транзакции в системе мерчанта
trans_id
Уникальный ордер ID транзакции в системе Platon
trans_date
Время проведения транзакции в формате UTC (YYYY-MM-DD HH-MM-SS)
descriptor
NULL
decline_reason
Причина отмены транзакции
hash
Зашифрованная подпись для проверки достоверности коллбека
Просроченные токены
Note |
---|
Если в ответе на запрос вы получили одну из указанных ниже ошибок вам необходимо удалить токен как просроченный.
|
Warning |
---|
Данный CARD_TOKEN заблокированы и не подлежат восстановлению по причине блокировки / окончания действия банковской карты. |
Tip |
---|
Необходимо получить новый CARD_TOKEN проведя верификацию или оплату. |
Ошибки запросов
В ходе проведения запрос вы можете получить разные ошибки. Пожалуйста, ознакомьтесь со списком возможных ошибок, их причин и возможности решения.
Для просмотра примера раскройте список
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
Ошибка Причины Решение
Ваш IP адрес не добавлен в наш белый список. Обратитесь в тех поддержку для добавления вашего IP в белый список. Данный функционал вам не подключен. Обратитесь в тех поддержку для активации функционала. Запрос отправлен не на нужную ссылку. Рекомендуем сверить ссылку для отправки запроса с указаной в нужном разделе документации.
Отправка запроса по CARD_TOKEN отключена для данного API ключа так как CARD_TOKEN был получен на другом ключе. Обратитесь в тех поддержку для решения данной ситуации.
Неверно сформирована зашифрованная подпись. Проверьте верность сформированной подписи. Если ошибку не нашли обратитесь в тех поддержку. Добавлены параметры, которые не входят в данный запрос. Проверьте список передаваемых параметров. Если ошибку не нашли обратитесь в тех поддержку. Запрос был отправлен не с того API ключа по которому был получен RC_TOKEN Рекомендуем заменить API ключ на тот, по которому был получен RC_TOKEN
Параметр Проверьте список передаваемых параметров. Если ошибку не нашли обратитесь в тех поддержку.
Значение Заменить значение
Токен больше не активен по причине завершения срока действия карты, блокировки карты, или блокировки токена. Рекомендуем плательщику провести провести повторную оплату/верификацию для получения нового токена. Токен по которому была получена данная ошибка необходимо удалить из вашей базы данных, использовать его для списаний больше невозможно по причине блокировки.
За одну минуту в систему вами было отправлено несколько одинаковых запросов. Рекомендуем проверить ваш механизм отправки запросов на наличие задвоения.
Запрос был отправлен менее чем через 10 минут после получения токена. Рекомендуем настроить отправку запросов минимум через 10 минут после получения токена. Запрос по которому получена эта ошибка необходимо повторить. В параметр Рекомендуем проверить верность внесенных данных в поле
Запрос был отправлен менее чем через 10 минут после получения токена. Рекомендуем настроить отправку запросов минимум через 10 минут после получения токена. Запрос по которому получена эта ошибка необходимо повторить. В параметр Рекомендуем проверить верность внесенных данных в поле
Ситуация требует внимания сотрудников Platon. Рекомендуем обратиться в тех саппорт Platon для проверки причины.
| Рекомендуем обратиться в тех саппорт Platon для проверки причины.Ситуация требует внимания сотрудников Platon.
|
Асинхронний режим:
Цей режим активується при передачі async = Y
. В цьому режимі обов'язково необхідно використовувати callback.
Проміжна відповідь (асинхронний режим):
Expand | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||
|
При успешній оплаті (асинхронний режим):
Expand | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||
|
При невдалій оплаті (асинхронний режим):
Expand | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||
|
Протерміновані токени
Note |
---|
Якщо у відповіді на запит ви отримали одну з вказаних нижче помилок, вам необхідно видалити цей протермінований токен:
|
Warning |
---|
Ці CARD_TOKEN заблоковані та не підлягають відновленню по причині блокування / закінчення терміну дії картки. |
Tip |
---|
Необхідно отримати новий CARD_TOKEN провівши нову оплату чи верифікацію. |
Помилки запитів
Expand | ||||||
---|---|---|---|---|---|---|
| ||||||
|