Info |
---|
Этот функционал будет активирован после вашего запроса в групповом чате. Также обязательно сообщите IP адреса, с которых будут отправляться запросы для добавления в белый список. |
Note |
---|
Ваш сайт должен работать по схеме HTTPS и поддерживать протокол TLS 1.2. |
Описание:
Регулярный платеж позволяет проводить списание без участия плательщика.
В запросе используется ранее сохраненная карта в виде зашифрованого CARD_TOKEN, который можно получить из callback при первой Оплата картой или Верификации карты.
Дополнительно рекомендуем ознакомиться с разделом Особенности токенов
Обязательные требования к сайту:
API Endpoint (cсылка для отправки запросов):
https://secure.platononline.com/post-unq/
Описание параметров запроса:
Параметр | Значение | Описание | Особенности | Обязательно |
---|
action | SALE | Код платежного метода | Только одно значение | Да |
async | "Y" или "N" | Включить асинхронный режим | В асинхронном режиме обязательное использование коллбеков. По умолчанию значение "N" | Нет |
channel_id | String | Дополнительный платежный канал | Позволяет отправить платежи на другой банковский терминал | Нет |
client_key | String | API ключ мерчанта | Ключ предоставляется на почту мерчанту | Да |
order_id | String | ID платежа в системе мерчанта | Max 32 символа | Да |
order_amount | Number | Сумма платежа | Tip |
---|
Верный вариант 1000.00 |
Warning |
---|
Неверные варианты 1000 1000.0 1,000.0 1,000.00 |
| Да |
order_currency | UAH | Валюта платежа | Info |
---|
Оплата возможна только в национальной валюте гривне |
| Да |
order_description | String | Описание платежа | Max 255 символов | Да |
card_token | String | Токен карты | card_token из коллбека первичной транзакции | Да |
payer_first_name | String | Имя плательщика | Max 32 символа без пробелов | Нет |
payer_last_name | String | Фамилия плательщика | Max 32 символа без пробелов | Нет |
payer_address | String | Адрес плательщика | Max 256 символа | Нет |
payer_country | String | Страна плательщика | В формате "ХХ" 2 символа Укажите "NA", если нет данных | Нет |
payer_state | String | Штат плательщика | В формате "ХХ" 2 символа Укажите "NA", если нет данных | Нет |
payer_city | String | Город плательщика | Max 32 символа Укажите "NA", если нет данных | Нет |
payer_zip | String | Почтовый индекс плательщика | Max 32 символа Укажите "NA", если нет данных | Нет |
payer_email | String | Почта плательщика | Info |
---|
Указать значение из первоначального запроса на оплату, когда был получен токен. Оставить пустое значение, если параметр был без значения. |
| Нет |
payer_phone | Number | Номер телефона плательщика | В формате “380XXXXXXXXX” Max 32 символа | Нет |
payer_ip | Number | IP-адрес плательщика | В формате "ХХХ.ХХХ.ХХХ.ХХХ" | Да |
customer_wallet | String | Номер електронного кошелька пользователя | Поле обязательно для типов бизнеса связаных с виртуальными активами | Нет |
term_url_3ds | String | Ссылка по которой будет отправлен клиент после успешной оплаты | Max 255 символов | Да |
auth | "Y" или "N" | Холдирование средств на карте плательщика | "Y" или "N" (по умолчанию "N") | Нет |
hash | String | Контрольная подпись | Code Block |
---|
| md5(
strtoupper(
strrev(payer_email).
client_pass.
strrev(card_token)
)
) |
Info |
---|
Если при первоначальном запросе на оплату не был указан email, то следует указать пустое значение для email. |
| Да |
Примеры запроса:
Для просмотра примера раскройте список
Expand |
---|
title | Пример запроса на PHP |
---|
|
Code Block |
---|
| <?php
$client_pass='***';
$data['action']='SALE';
$data['client_key']='***';
$data['order_id']='458-3453';
$data['order_amount']='1000.00';
$data['order_currency']='UAH';
$data['order_description']='test';
$card_token = '*****';
$data['payer_first_name']='Ivan';
$data['payer_last_name']='Ivanov';
$data['payer_phone']='+380111111111';
$data['payer_email']='sale@gmail.com';
$data['payer_ip']='213.186.115.164';
$data['term_url_3ds']='http://google.com';
$hash = md5(
strtoupper(
strrev($data['payer_email']).
$client_pass.
strrev($card_token)
)
);
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>sale</title>
</head>
<body onload="javascript:document.forms[0].submit()">
<form action="https://secure.platononline.com/post-unq/" method="post">
<input type="hidden" name="action" value="<?=$data['action']?>" />
<input type="hidden" name="client_key" value="<?=$data['client_key']?>" />
<input type="hidden" name="order_id" value="<?=$data['order_id']?>" />
<input type="hidden" name="order_amount" value="<?=$data['order_amount']?>" />
<input type="hidden" name="order_currency" value="<?=$data['order_currency']?>" />
<input type="hidden" name="order_description" value="<?=$data['order_description']?>" />
<input type="hidden" name="card_token" value="<?=$card_token ?>" />
<input type="hidden" name="payer_first_name" value="<?=$data['payer_first_name']?>" />
<input type="hidden" name="payer_last_name" value="<?=$data['payer_last_name']?>" />
<input type="hidden" name="payer_phone" value="<?=$data['payer_phone']?>" />
<input type="hidden" name="payer_email" value="<?=$data['payer_email']?>" />
<input type="hidden" name="payer_ip" value="<?=$data['payer_ip']?>" />
<input type="hidden" name="term_url_3ds" value="<?=$data['term_url_3ds']?>" />
<input type="hidden" name="hash" value="<?=$hash?>" />
</form>
</body>
</html> |
|
Iframe |
---|
scrolling | no |
---|
src | https://devplaton.com.ua/invoices/postman-test.html |
---|
style | height: 260px; |
---|
frameborder | hide |
---|
|
Тестирование:
В целях тестирования используйте CARD_TOKEN полученный из коллбека при успешной транзакции с использованием наших тестовых реквизитов:
Дебагинг недоставленных Callback:
С целью дебагинга работы вашего сервера на ошибки получения Callback можем предоставить вам телеграм бот, куда будут поступать тело недоставленных вам Callback и информация об HTTP статусе.
Для настройки телеграм бота обратитесь в ваш груповой чат с просьбой подключить его вам.
Image RemovedПолучение статуса транзакции в Callback и Response:
Tip |
---|
Ответы будут поступать с наших IP: 78.140.172.231 62.113.223.114 78.140.135.130 167.99.253.235 |
Info |
---|
Для получения коллбеков отправьте ссылку на ваш обработчик в ваш групповой чат. Ссылка для коллбеков прописывается на стороне Platon. |
После отправки коллбека в ответ Platon должен получить код HTTP 200 OK. Если коллбек не удалось доставить будет произведено до 5 попыток повторной отправки в течение 60 секунд.
Опциональные варианты активация которых происходит по вашему обращению в групповом чате:
Коллбеки в формате JSON
Basic Authorization
Синхронный режим:
Для просмотра примера раскройте список
Expand |
---|
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"
"recurring_token":"01e00c2b39bb3b933723307c442efd02",
"card_token":"8ef3111ac1093f6ccb817acef7f0845601d0994689a5f57949f94b0d086c7fe2"
} |
Параметр | Описание |
---|
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 | recurring_token | Зашифрованный токен карты для последующих транзакций по rc_token | card_token | Зашифрованный токен карты для последующих транзакций по card_token |
|
Expand |
---|
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,
'recurring_token' => '01e00c2b39bb3b933723307c442efd02',
'card_token' => '8ef3111ac1093f6ccb817acef7f0845601d0994689a5f57949f94b0d086c7fe2',
'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 | SUCCESS | status | SETTLED (PENDING, если в запросе было указано ‘auth’='Y') | order_id | Уникальный ордер ID транзакции в системе мерчанта | trans_id | Уникальный ордер ID транзакции в системе Platon | trans_date | Время проведения транзакции в формате UTC (YYYY-MM-DD HH-MM-SS) | descriptor | NULL | recurring_token | Зашифрованный токен карты для последующих транзакций по rc_token | card_token | Зашифрованный токен карты для последующих транзакций по card_token | hash | Зашифрованная подпись для проверки достоверности коллбека |
|
Expand |
---|
title | Response при неуспешном списании |
---|
|
Code Block |
---|
| {
"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"
} |
Параметр | Описание |
---|
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 | Причина отмены транзакции |
|
Expand |
---|
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 | Зашифрованная подпись для проверки достоверности коллбека |
|
Асинхронный режим:
Данный режим активируется при передаче ‘async’='Y'. В этом режиме обязательно необходимо принимать callback на ваш callback url.
Для просмотра примера раскройте список
Expand |
---|
title | Response о принятии запроса в обработку |
---|
|
Code Block |
---|
| {
"action":"SALE",
"result":"ACCEPTED",
"order_id":"4385302",
"trans_id":"28261-34099-19648",
"trans_date":"2020-02-25 06:50:09"
} |
Параметр | Описание |
---|
action | SALE | result | ACCEPTED | order_id | Уникальный ордер ID транзакции в системе мерчанта | trans_id | Уникальный ордер ID транзакции в системе Platon | trans_date | Время проведения транзакции в формате UTC (YYYY-MM-DD HH-MM-SS) |
|
Expand |
---|
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,
'recurring_token' => '01e00c2b39bb3b933723307c442efd02',
'card_token' => '8ef3111ac1093f6ccb817acef7f0845601d0994689a5f57949f94b0d086c7fe2',
'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 | SUCCESS | status | SETTLED (PENDING, если в запросе было указано ‘auth’='Y') | order_id | Уникальный ордер ID транзакции в системе мерчанта | trans_id | Уникальный ордер ID транзакции в системе Platon | trans_date | Время проведения транзакции в формате UTC (YYYY-MM-DD HH-MM-SS) | descriptor | NULL | recurring_token | Зашифрованный токен карты для последующих транзакций по rc_token | card_token | Зашифрованный токен карты для последующих транзакций по card_token | hash | Зашифрованная подпись для проверки достоверности коллбека |
|
Expand |
---|
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 | Зашифрованная подпись для проверки достоверности коллбека |
|
Дополнительная проверка оплаты:
Для получения информации об оплате в случае, если ваша система не смогла принять Callback, Response или по другой причине, можно воспользоваться дополнительными API запросами проверки:
Ошибки запросов:
В ходе проведения запрос вы можете получить разные ошибки. Пожалуйста, ознакомьтесь со списком возможных ошибок, их причин и возможности решения.
Для просмотра примера раскройте список
Expand |
---|
title | Список ошибок и их решение |
---|
|
Ошибка | Причины | Решение |
---|
Response: {"result":"ERROR","error_message":"Account error"} | Ваш IP адрес не добавлен в наш белый список. | Обратитесь в тех поддержку для добавления вашего IP в белый список. |
Данный функционал вам не подключен. | Обратитесь в тех поддержку для активации функционала. |
Запрос отправлен не на нужную ссылку. | Рекомендуем сверить ссылку для отправки запроса с указаной в нужном разделе документации. |
Response: {"result":"ERROR","error_message":"Incorrect hash"} | Неверно сформирована зашифрованная подпись. | Проверьте верность сформированной подписи. Если ошибку не нашли обратитесь в тех поддержку. |
Добавлены параметры, которые не входят в данный запрос. | Проверьте список передаваемых параметров. Если ошибку не нашли обратитесь в тех поддержку. |
Запрос был отправлен не с того API ключа по которому был получен RC_TOKEN | Рекомендуем заменить API ключ на тот, по которому был получен RC_TOKEN |
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":"Recurring not supported"} | Токен больше не активен по причине завершения срока действия карты, блокировки карты, или блокировки токена. | Рекомендуем плательщику провести провести повторную оплату/верификацию для получения нового токена. Токен по которому была получена данная ошибка необходимо удалить из вашей базы данных, использовать его для списаний больше невозможно по причине блокировки. |
Response: {"result":"ERROR","error_message":"Duplicate request"} | За одну минуту в систему вами было отправлено несколько одинаковых запросов. | Рекомендуем проверить ваш механизм отправки запросов на наличие задвоения. |
Response: {"result":"ERROR","error_message":"Incorrect card_token value"} | Запрос был отправлен менее чем через 10 минут после получения токена. | Рекомендуем настроить отправку запросов минимум через 10 минут после получения токена. Запрос по которому получена эта ошибка необходимо повторить. |
В параметр card_token внесено неверное значение. | Рекомендуем проверить верность внесенных данных в поле card_token полученного из коллбека ранее. Запрос по которому получена эта ошибка необходимо повторить. |
Response: {"result":"ERROR","error_message":"Not found card token"} | Запрос был отправлен менее чем через 10 минут после получения токена. | Рекомендуем настроить отправку запросов минимум через 10 минут после получения токена. Запрос по которому получена эта ошибка необходимо повторить. |
В параметр card_token внесено неверное значение. | Рекомендуем проверить верность внесенных данных в поле card_token полученного из коллбека ранее. Запрос по которому получена эта ошибка необходимо повторить. |
Response: Info |
---|
Цей функціонал буде активовано після вашого запиту в груповому чаті. |
Table of Contents |
---|
minLevel | 1 |
---|
maxLevel | 2 |
---|
include | |
---|
outline | false |
---|
indent | 0px |
---|
style | circle |
---|
exclude | |
---|
type | list |
---|
class | |
---|
printable | false |
---|
|
Регулярний платіж дозволяє робити списання коштів без участі платника.
В запиті використовується раніше збережена картка у вигляді зашифрованого CARD_TOKEN, який можна отримати при першій транзакції по картці.
Include Page |
---|
| Вимоги до сайтів та додатків |
---|
| Вимоги до сайтів та додатків |
---|
|
HTTP METHOD: POST
API ENDPOINT: https://secure.platononline.com/post-unq/
Параметр | Значення | Опис | Особливості |
---|
action
Status |
---|
colour | Green |
---|
title | обов'язковий |
---|
|
| SALE
| Код платіжного метода | |
client_key
Status |
---|
colour | Green |
---|
title | обов'язковий |
---|
|
| String | API ключ мерчанта | Ключ надається на пошту мерчанту |
order_id
Status |
---|
colour | Green |
---|
title | обов'язковий |
---|
|
| String | ID оплати в системі мерчанта | Max 32 символи |
order_amount
Status |
---|
colour | Green |
---|
title | обов'язковий |
---|
|
| Number | Сума оплати | Warning |
---|
Невалідні варіанти 1000 1000.0 1,000.0 1,000.00 |
|
order_currency
Status |
---|
colour | Green |
---|
title | обов'язковий |
---|
|
| UAH
| Валюта | Info |
---|
Оплата можлива лише в національній валюті гривні |
|
order_description
Status |
---|
colour | Green |
---|
title | обов'язковий |
---|
|
| String | Опис | Max 255 символів |
card_token
Status |
---|
colour | Green |
---|
title | обов'язковий |
---|
|
| String | Токен картки | card_token з callback першої оплати
|
payer_email
Status |
---|
colour | Green |
---|
title | обов'язковий |
---|
|
| String | Пошта платника | |
payer_ip
Status |
---|
colour | Green |
---|
title | обов'язковий |
---|
|
| Number | IP-адрес платника | В форматі "ХХХ.ХХХ.ХХХ.ХХХ" Note |
---|
IPv6 не підтримується |
|
term_url_3ds
Status |
---|
colour | Green |
---|
title | обов'язковий |
---|
|
| String | Посилання куди перейде платник після проби оплати (успішної чи невдалої) | |
ext3
Status |
---|
colour | Green |
---|
title | обов'язковий |
---|
|
| recurring
| Ознака регулярної оплати | |
hash
Status |
---|
colour | Green |
---|
title | обов'язковий |
---|
|
| String | Контрольний підпис | Code Block |
---|
| md5(
strtoupper(
strrev($payer_email).
$client_pass.
strrev($card_token)
)
) |
Info |
---|
Якщо при початковому запиті на оплату не було вказано email , то слід вказати порожнє значення для email . |
|
async
Status |
---|
colour | Yellow |
---|
title | не обов'язковий |
---|
|
| Y
N
| Включити асинхронний режим | В асинхронному режимі обов'язкове використання колбеків. Стандартне значення N |
channel_id
Status |
---|
colour | Yellow |
---|
title | не обов'язковий |
---|
|
| String | Додатковий платіжний канал | Дозволяє відправити оплати на інший банківський термінал |
payer_first_name
Status |
---|
colour | Yellow |
---|
title | не обов'язковий |
---|
|
| String | Ім'я платника | Max 32 символи без пробілів |
payer_last_name
Status |
---|
colour | Yellow |
---|
title | не обов'язковий |
---|
|
| String | Прізвище платника | Max 32 символи без пробілів |
payer_address
Status |
---|
colour | Yellow |
---|
title | не обов'язковий |
---|
|
| String | Адреса платника | Max 256 символів |
payer_country
Status |
---|
colour | Yellow |
---|
title | не обов'язковий |
---|
|
| String | Країна платника | В форматі "ХХ" Max 2 символи Вкажіть NA , якщо немає даних |
payer_state
Status |
---|
colour | Yellow |
---|
title | не обов'язковий |
---|
|
| String | Штат платника | В форматі "ХХ" Max 2 символи Вкажіть NA , якщо немає даних |
payer_city
Status |
---|
colour | Yellow |
---|
title | не обов'язковий |
---|
|
| String | Місто платника | Max 32 символи Вкажіть NA , якщо немає даних |
payer_zip
Status |
---|
colour | Yellow |
---|
title | не обов'язковий |
---|
|
| String | Поштовий індекс платника | Max 32 символи Вкажіть NA , якщо немає даних |
payer_phone
Status |
---|
colour | Yellow |
---|
title | не обов'язковий |
---|
|
| Number | Номер телефону платника | В форматі “380XXXXXXXXX” Max 32 символів |
customer_wallet
Status |
---|
colour | Yellow |
---|
title | не обов'язковий |
---|
|
| String | Номер електронного гаманця платника | Поле обов'язкове для типів бізнесу пов'язаних з віртуальними активами |
Expand |
---|
title | Приклад запиту на PHP |
---|
|
Code Block |
---|
| <?php
$client_pass='***';
$data['action']='SALE';
$data['client_key']='***';
$data['order_id']='458-3453';
$data['order_amount']='1000.00';
$data['order_currency']='UAH';
$data['order_description']='test';
$data['card_token'] = '*****';
$data['payer_phone']='380111111111';
$data['payer_email']='sale@gmail.com';
$data['payer_ip']='213.186.115.164';
$data['term_url_3ds']='http://google.com';
$data['hash'] = md5(
strtoupper(
strrev($data['payer_email']).
$client_pass.
strrev($data['card_token'])
)
);
$url = 'https://secure.platononline.com/post-unq/';
$crq = curl_init();
curl_setopt($crq, CURLOPT_URL, $url);
curl_setopt($crq, CURLOPT_HEADER, 0);
curl_setopt($crq, CURLOPT_POST, 1);
curl_setopt($crq, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($crq, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($crq, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($crq, CURLOPT_POSTFIELDS, http_build_query($data));
$result = curl_exec($crq);
if (curl_errno($crq)) {
echo 'ERROR: '.curl_error($crq);
}else{
echo $result;
}
curl_close($crq); |
|
В цілях тестування використовуйте card_token
отриманий з коллбека успішної транзакції по одному з вказаних методів:
Expand |
---|
title | Список методів отримання результату транзакцій |
---|
|
Include Page |
---|
| Отримання результату транзакції |
---|
| Отримання результату транзакції |
---|
|
|
Expand |
---|
title | Особливості роботи з Callback |
---|
|
Include Page |
---|
| Робота з Callback |
---|
| Робота з Callback |
---|
|
|
Синхронний режим
Стандартний режим. Передавати async = N
не потрібно.
Асинхронний режим
Цей режим активується при передачі async = Y
. В цьому режимі обов'язково необхідно використовувати callback.
Include Page |
---|
| Callback / Response - SALE з 3DS |
---|
| Callback / Response - SALE з 3DS |
---|
|
Note |
---|
Якщо у відповіді на запит ви отримали одну з вказаних нижче помилок, вам необхідно видалити цей протермінований токен: {"result":"ERROR","error_message":"Invalid card_exp_month, card_exp_year"}
{"result":"ERROR","error_message":"
Service errorСитуация требует внимания сотрудников Platon.Response: | Рекомендуем обратиться в тех саппорт Platon для проверки причины. | ":"Previous transaction not completed"}Ситуация требует внимания сотрудников Platon. | Рекомендуем обратиться в тех саппорт Platon для проверки причины.
Warning |
---|
Ці card_token заблоковані та не підлягають відновленню по причині блокування / закінчення терміну дії картки. |
Tip |
---|
Необхідно отримати новий card_token провівши нову оплату чи верифікацію. |
Expand |
---|
title | Список помилок та рішень |
---|
|
Include Page |
---|
| Помилки та рішення при запитах |
---|
| Помилки та рішення при запитах |
---|
|
|