Параметр | Описание | Значение |
operation | Тип операции | PURCHASEONMERCHANT |
merchant_id | Идентификатор торговца | |
amount | Сумма операции. | Пример 500.00 |
order_id | Уникальный номер операции на стороне торговца. Если операция дублируется - торговец получает ошибку. | |
currency_iso | Валюта платежа. | UAH |
description | Назначение платежа. Выводится на платежной странице, при вводе платежных реквизитов. Отображается в выписке по счету и реестрах | |
add_params | Массив с дополнительными параметрами. Дополнительные параметры потом возвращаются мерчанту в CALLBACK вызове | |
token | Токен для списания с карты без передачи реквизитов карты | |
card_num | Номер карты | |
card_exp_month | Срок действия карты MM | |
card_exp_year | Срок действия карты YY | |
card_cvv | CVV2 код, в случае операции без CVV необходимо указать -1 | |
card_holder | Владелец карты. | Не обязательное поле |
phone | Номер телефона клиента. | Не обязательное поле |
payment_type | Тип платежа. | Не обязательный |
secure_type | Тип прохождения безопасности транзакции | |
Может принимать следующие значения: | ||
Auto | ||
3DS | 1 | |
Non3DS | 2 | |
callback_url | URL на который придёт информация о результате выполнения платежа | |
signature | В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе SHA-512 контрольная подпись с использованием private_key торговца. | |
Строка, подлежащая SHA-512, генерируется путем конкатенации параметров merchant_id, order_id, amount, currency_iso, description разделенных “;” (точка с запятой) в кодировке UTF-8. | ||
Порядок параметров при конкатенации важен! |
В ответ приходит объект в формате JSON со следующими параметрами:
Параметр | Описание | Значение |
status | Статус платежа | справочник “Статусы платежа” |
code | Код ответа | Справочник “Коды ответов” |
order_id | Уникальный номер заказа в системе торговца | |
amount | Сумма платежа | |
fee | Комиссия | |
currency | Валюта платежа | |
token | Токен для последующих оплат. Токен вернется в случае, если платеж успешен | |
d3_acs_url | URL acs сервера на который необходимо отправить пользователя для верификации | |
d3_md | Уникальный идентификатор который необходимо передать на ACS сервер для 3ds1 | |
d3_pareq | Запрос который необходимо передать на ACS сервер для 3ds1 | |
d3_creq | Запрос который необходимо передать на ACS сервер для 3ds2 | |
transaction_key | Ключ транзакции, который необходимо использовать для подтверждения платежа | |
transaction_id | Идентификатор транзакции | |
signature |
Проверка 3DS
Если в ответе code пришло значение 2002 необходимо провести проверку 3DS2.
Для проверки 3ds2 необходимо методом POST отправить форму с параметрами d3_creq, term_url на d3_acs_url.
term_url - url на который вернется результат проверки 3DS.
Пример HTML страницы для перенаправления на ACS эмитента
Code Block | ||
---|---|---|
| ||
<html><body topmargin="50%" bottommargin="50%" onLoad="document.getElementById('pareq_form').submit();"> <form method="post" name="pareq_form" id="pareq_form" action="%term_url%"> <input name="creq" type="hidden" value="%ACS_CREQ%"/> <input type="submit" name="send" value="send"/> <noscript> <br/><br/> <center> <h1>Processing your 3-D Secure Transaction</h1> <h2>JavaScript is currently disabled or is not supported by your browser.<br/></h2> <h3>Please click <b> Submit </b> to continue the processing of your 3-D Secure transaction.</h3> <input type="submit" /> </center> </noscript> </form> </body> </html> |
Описание параметров которые необходимо подставить в HTML
%term_url% - значение Refinement.AcsURL полученное после выполнения административной операции PURCHASEONMERCHANT.
%d3_creq% - значение d3_creq полученное после выполнения административной операции PURCHASEONMERCHANT.
Пример ответа получаемого в POST-запросе от ACS
Code Block |
---|
CRes=eyJ0aHJlZURTU2VydmVyVHJhbn[... skip ...]yI6Ik4ifQ== |
Если в ответе code пришло значение 2001 необходимо провести проверку 3DS1.
Для проверки 3ds1 необходимо методом POST отправить форму с параметрами d3_md, d3_pareq, term_url на d3_acs_url.
term_url - url на который вернется результат проверки 3DS.
Code Block | ||
---|---|---|
| ||
<form name="MPIform" action='${d3_acs_url}' method="POST"> <input type="hidden" name="PaReq" value='${d3_pareq }'> <input type="hidden" name="MD" value='${d3_md }'> <input type="hidden" name="TermUrl" value='${term_url}'> </form> |
После прохождения клиентом аутентификации и редиректа на TempUrl с результатом, полученным от эмитента, мерчант направляет запрос COMPLETE3DS.
Операция COMPLETE3DS – подтверждение 3DS верификации
Production url: https://pay.procard.ua/api/
Для получения подтверждения по 3DS верификации необходимо отправить POST запрос со следующими данными:
Параметр | Описание | Значение |
operation | Тип операции | COMPLETE3DS |
merchant_id | Идентификатор торговца | |
transaction_key | Ключ транзакции | |
d3ds_md | Идентификатор полученный после редиректа с сервера ACS1 (для 3ds1 - обязательно; для 3ds2 - пусто) | |
d3ds_pares | Сообщение полученное после редиректа с сервера ACS1 (для 3ds1 - обязательно; для 3ds2 - пусто) | |
d3ds_cres | Сообщение полученное после редиректа с сервера ACS2 (для 3ds1 - пусто; для 3ds2 - обязательно) | |
signature | В целях подтверждения валидности данных должна быть сгенерирована и передана в запросе SHA-512 контрольная подпись с использованием private_key торговца. | |
Строка, подлежащая SHA-512, генерируется путем конкатенации параметров merchant_id, transaction_key, d3ds_md, d3ds_pares, d3ds_cres разделенных “;” (точка с запятой) в кодировке UTF-8. | ||
Порядок параметров при конкатенации важен! |
В ответ приходит объект в формате JSON со следующими параметрами:
Параметр | Описание | Значение |
status | Статус платежа | Справочник “Статусы платежа” |
code | Код ответа | Справочник “Коды ответов” |
order_id | Уникальный номер заказа в системе торговца | |
amount | Сумма платежа | |
fee | Комиссия | |
currency | Валюта платежа | |
card_pan | Маскированный номер карты | |
transaction_id | Идентификатор транзакции | |
signature |
Filter by label (Content by label) | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|