Прежде чем вы получите доступ к платежной платформе, вы должны предоставить следующее данные администратору платежной платформы:
— список ваших IP-адресов, с которых будут направляться запросы на платежную платформу;
— callback ulr — URL-адрес, на который будет отправляться уведомления о результатах обработки Вашего запроса через платежную платформу;
— контактный E-mail разработчика.
Примечание! — callback ulr должен быть обязателен если вы работаете в асинхронном режиме и не должен превышать 255 символов.
Параметр | Описание |
---|---|
CLIENT_KEY | Ключ идентификации мерчанта (участвует в формировании запроса) |
CLIENT_PASS | Пароль мерчанта (участвует в формировании подписи) |
PAYMENT_URL | URL-адрес для запроса платежной платформы |
Для транзакций вы должны отправлять POST-запрос сервер на сервер HTTPS с помощью полей, перечисленные ниже, на PAYMENT_URL. В ответ платежная платформа вернет строку JSON (http://json.org/).
Если мерчант поддерживает 3D-Secure, тогда платежная платформа вернет ссылку на сервер управления безопасностью для выполнения 3D-Secure проверку. В этом случае вам необходимо перенаправить держателя карты на эту ссылку. Если есть иные параметры, которые отдаются ссылкой необходимо перенаправить владельца карты по этой ссылке вместе с параметрами, используя метод передачи данных, указанный в том же самом результате.
В случае 3D-Secure после проверки на стороне сервера 3D-Secure Владелец кредитной карты вернется на ваш сайт, используя ссылку, указанную в запросе и платежная система вернет результат обработки транзакции на указанный CALLBACK URL.
Платежная система поддерживает для основных типа операций: Система единого сообщения (SMS) и Двойная система сообщений (DMS):
1) SMS представляет собой транзакцию SALE. Эта операция обычно используется для немедленных платежей.
2) DMS представлена транзакциями AUTH и CAPTURE:
— AUTH используется для авторизации без списания. Эта операция использовалась для холдирования средств на карточном счете (Например, для проверки действительности карты).
— CAPTURE используется для завершение транзакций SALE и AUTH.
Если вы хотите совершить транзакцию AUTH, вам нужно использовать параметр auth со значением Y.
Если вы хотите отправить платеж на определенный канал (в случае подключенных двух и более банковских терминалов, вам необходимо использовать Channel_id, указанный в настройках вашей учетной записи платежной платформы.
Параметр | Описание | Значение параметра | Обязательно |
---|---|---|---|
action | SALE | ![]() |
|
async | Синхронный или асинхронный режим | «Y» или «N» (по умолчанию «N») | |
client_key | Уникальный клиентский ключ выданный при регистрации мерчанта в системе | ![]() |
|
channel_id | Платежный канал (Sub-account) | Строка 16 символов | |
order_id | Номер транзакции в системе мерчанта | Строка до 255 символов | ![]() |
order_amount | Сумма транзакции | Формат «Number» – Х.ХХ (разделитель «.», два знака после разделителя, без ведущих нулей) | ![]() |
order_currency | Валюта операции | 3-х буквенный код | ![]() |
order_description | Описание транзакции | Строка до 1024 символов | ![]() |
card_number | Номер карты плательщика | ![]() |
|
card_exp_month | Месяц срока окончания действия карты | 2-х символьный код в формате «ХХ» | ![]() |
card_exp_year | Год срока окончания действия карты | 4-х символьный код в формате «ХХХХ» | ![]() |
card_cvv2 | CVV/CVC2 проверочный код карты | 3-4 символа | ![]() |
payer_first_name | Имя плательщика | Строка до 32 символов | ![]() |
payer_last_name | Фамилия плательщика | Строка до 32 символов | ![]() |
payer_address | Адрес плательщика | Строка до 255 символов | ![]() |
payer_country | Страна плательщика | 2-х символьный код | ![]() |
payer_state | Штат плательщика | 2-х символьный код (или «NA» для страны без штатов) | ![]() |
payer_city | Город плательщика | Строка до 32 символов | ![]() |
payer_zip | Индекс плательщика | Строка до 32 символов | ![]() |
payer_email | E-mail плательщика | Строка до 256 символов | ![]() |
payer_phone | Телефон плательщика | Строка до 32 символов | ![]() |
payer_ip | IP-адрес плательщика | Передается в формате «ХХХ.ХХХ.ХХХ.ХХХ» | ![]() |
term_url_3ds * | URL-адрес, на который должен быть перенаправлен плательщик после прохождение 3DS проверки | Строка до 1024 символов | |
recurring_init | Определение транзакции с возможностью последующего рекарингового платежа | «Y» или «N» (по умолчанию «N») | |
auth | Показатель того, что транзакция должна быть только авторизированна, но не подтверждена | «Y» или «N» (по умолчанию «N») | |
hash ** | Специальная подпись валидности запроса в платежную систему | ![]() |
* — если Ваша учетная запись поддерживает 3DS проверку, этот параметр должен передается.
** — md5(strtoupper(strrev(email).CLIENT_PASS.strrev(substr(card_number,0,6).substr(card_number,-4))))
В ответ Вы получите JSON строку с результатом транзакции. Если Ваш аккаунт поддерживает 3DS проверку результат транзакции будет направлен на на Ваш callback url.
Параметр | Описание |
---|---|
action | SALE |
result | SUCCESS |
status | PENDING/SETTLED; статус PENDING только когда было указано «auth=Y» |
order_id | ID транзакции в системе мерчанта |
trans_id | ID транзакции в платежной системе |
trans_date | Дата транзакции в платежной системе. Время UTC |
descriptor | Это строка, которую владелец кредитной карты увидит в выписка из банка. В большинстве случаев это веб-сайт поддержки клиентов. |
recurring_token | Токен (получаете, если Ваша система поддерживает последующие платежи и был передан параметр «recurring_init») |
Параметр | Описание |
---|---|
action | SALE |
result | DECLINED |
status | DECLINED |
order_id | ID транзакции в системе мерчанта |
trans_id | ID транзакции в платежной системе |
trans_date | Дата транзакции в платежной системе. Время UTC |
decline_reason | Причина, по которой транзакция была отклонена |
Параметр | Описание |
---|---|
action | SALE |
result | SUCCESS |
status | 3DS |
order_id | ID транзакции в системе мерчанта |
trans_id | ID транзакции в платежной системе |
trans_date | Дата транзакции в платежной системе. Время UTC |
redirect_url | URL, на который должен быть перенаправлен плательщик |
redirect_params | Массив определенных параметров 3DS |
redirect_method | Метод передачи параметров (POST/GET) |
Для Асинхронного режима следует в запросе на списание отправлять параметр async=Y
Параметр | Описание |
---|---|
action | SALE |
result | ACCEPTED |
order_id | ID транзакции в системе мерчанта |
trans_id | ID транзакции в платежной системе |
trans_date | Дата транзакции в платежной системе. Время UTC |
Параметры ответа
Параметр | Описание |
---|---|
action | SALE |
result | SUCCESS |
status | PENDING/SETTLED |
order_id | ID транзакции в системе мерчанта |
trans_id | ID транзакции в платежной системе |
trans_date | Дата транзакции в платежной системе. Время UTC |
descriptor | Это строка, которую владелец кредитной карты увидит в выписка из банка. В большинстве случаев это веб-сайт поддержки клиентов. |
auth_code | Код авторизации от банка |
recurring_token | Токен (получаете, если Ваша система поддерживает последующие платежи и был передан параметр «recurring_init») |
hash * |
* — md5(strtoupper(strrev(email).CLIENT_PASS.trans_id.strrev(substr(card_number,0,6).substr(card_number,-4))))
Параметр | Описание |
---|---|
action | SALE |
result | DECLINED |
status | DECLINED |
order_id | ID транзакции в системе мерчанта |
trans_id | ID транзакции в платежной системе |
trans_date | Дата транзакции в платежной системе. Время UTC |
decline_reason | Причина, по которой транзакция была отклонена |
hash ** |
** — md5(strtoupper(strrev(email).CLIENT_PASS.trans_id.strrev(substr(card_number,0,6).substr(card_number,-4))))
Параметр | Описание |
---|---|
action | SALE |
result | REDIRECT |
status | 3DS |
order_id | ID транзакции в системе мерчанта |
trans_id | ID транзакции в платежной системе |
trans_date | Дата транзакции в платежной системе. Время UTC |
redirect_url | URL, на который должен быть перенаправлен плательщик |
redirect_params | Строка параметров |
redirect_method | Метод передачи параметров (POST/GET) |
hash * |
* — md5(strtoupper(strrev(email).CLIENT_PASS.trans_id.strrev(substr(card_number,0,6).substr(card_number,-4))))
curl -d «action=SALE&client_key=ZPR2ZH2J2U&order_id=ORDER-
12345&order_amount=1.99&order_currency=USD&order_description=Product&card_number
=4111111111111111&card_exp_month=01&card_exp_year=2020&card_cvv2=000&payer_first
_name=John&payer_last_name=Doe&payer_address=Big
Street&payer_country=US&payer_state=CA&payer_city=City&payer_zip=123456&payer_em
[email protected]&payer_phone=199999999&payer_ip=123.123.123.123&term_url_3ds=
http://client.site.com/return.php&recurring_init=Y&hash=ae1a1f193949508bcf19cff4
302d69bc» https://test.apiurl.com -k
{«action»:»SALE»,»result»:»SUCCESS»,»status»:»SETTLED»,»trans_id»:»03346-89217-70541″,»order_id»:»ORDER-12345″,»descriptor»:»test»,»trans_date»:»2012-04-03 16:02:01″,»recurring_token»:»a1a6de416405ada72bb47a49176471dc»}
{«action»:»SALE»,»result»:»DECLINED»,»status»:»DECLINED»,»trans_id»:»03346-89214-54141″,»order_id»:»ORDER-12345″,»trans_date»:»2012-04-03 16:02:01″,»decline_reason»:»Declined by processing»}
{«action»:»SALE»,»result»:»REDIRECT»,»status»:»3DS»,»trans_id»:»03346-89225-87891″,»order_id»:»ORDER-12345″,»trans_date»:»2012-04-03 16:02:02″,»redirect_url»:»https://server_3ds.com/3ds.php»,»redirect_params»:{«PaReq»:»bc5865698ae46de4eba4c51f0359a714″,»MD»:»111111111111111111111″,»TermUrl»:»https://term_url.com/3ds/67c14e5?trans_id=03346-89225-87891&hash=8b98db60fb3c24c14a6d7075241da38b»},»redirect_method»:»POST»}
{«result»:»ERROR»,»error_message»:»Error description»}
{«action»:»SALE»,»result»:»ACCEPTED»,»trans_id»:»03346-89211-86461″,»order_id»:»ORDER-12345″,»trans_date»:»2012-04-03 16:02:01″}
{«result»:»ERROR»,»error_message»:»Error description»}