Перейти до основного вмісту
Версія: 1.0.0

Специфікація по взаємодії торговця

Оплата на платіжній сторінці процесингу

Для оплати на платіжній сторінці необхідно виконати редирект на сторінку, з даними POST.

Production url: https://****.procard-ltd.com/api/

POST параметри:

ПараметрТипОбов'язковийОписЗначення
operationString+Тип операціїPurchase
merchant_idString+ID мерчанта
amountFloat+Сума операції. Приклад: 500.00
signatureString+З метою підтвердження валідності даних має бути згенерований і переданий в запиті HMAC_SHA512 контрольний підпис із використанням SecretKey мерчанта
Рядок, що підлягає HMAC_SHA512, генерується шляхом конкатенації параметрів merchant_id, order_id, amount, currency_iso, description розділених ";" (крапка з комою) в кодуванні UTF-8
Порядок параметрів під час конкатенації важливий!
order_idString+Унікальний номер операції на стороні мерчанта. Якщо операція дублюється - мерчант отримує помилку
currency_isoString+Валюта платежуUAH
descriptionString+Призначення платежу. Виводиться на платіжній сторінці, під час введення платіжних реквізитів. Відображається у виписці за рахунком і реєстрах
add_paramsArray+Масив із додатковими параметрами. Додаткові параметри потім повертаються мерчанту в callback виклику
approve_urlString+URL для переадресації у разі, якщо платіж успішний
decline_urlString+URL для переадресації у разі, якщо платіж не успішний
cancel_urlString+URL для переадресації у разі, якщо користувач відмовився зробити оплату
callback_urlString+URL, на який прийде інформація про результат виконання платежу
redirectInteger1 / 0 - за замовчуванням 1, якщо параметр має значення 0, тоді клієнт не отримуватиме переадресацію, а отримає url платіжної сторінки
auth_typeIntegerЗа замовчуванням 1 - покупка, 2 - попередня авторізація
secure_typeIntegerТип проходження безпеки транзакції. Перелік можливих значень можна переглянути у Довідник. Значення параметра secure_type
languageStringМова сторінки оплати
За замовчуванням ua - українська, ru - російська, en - англійська
client_first_nameStringІм'я клієнта
client_last_nameStringПрізвище клієнта
client_idStringІдентифікатор клієнта у системі мерчанта
phoneStringТелефон клієнта
emailStringАдреса електронної пошти клієнта

Опис додаткових параметрів запиту add_params знаходиться у наступному розділі.

Приклад запиту:

{
"operation": "Purchase",
"merchant_id": "jnmx9smJQmSejKoR3rIgm5Pj7QG",
"order_id": "1685444702348",
"amount": 100,
"currency_iso": "UAH",
"description": "Оплата замовлення",
"auth_type": 1,
"signature": "113d991b5c3b9d0be6c4a589b9d154d8",
"language": "ua",
"add_params": {
"data": "123",
"SenderName": "Петренко Петро Петрович"
},
"approve_url": "http://merchant.site/1/approved",
"decline_url": "http://merchant.site/1/declined",
"cancel_url": "http://merchant.site/1/canceled",
"callback_url": "http://merchant.site/callback",
"client_first_name": "Olga",
"client_last_name": "Petrenko",
"email": "[email protected]",
"phone": "+380112223344"
}

Приклад відповіді успіху, якщо в запиті "redirect": 0:

{
"result": 0,
"url": "https://procard-ltd.com/payment/pay?payment=3a95bdaae73a7388b3a3750023a817a897b43f2295315f2b6e0e12e3db0ced2e6475c2b080dec&lang=ukr"
}

Приклад відповіді відмови обробки запиту:

{
"code": -4,
"message": "Неверная подпись"
}

Інші коди помилок див. Довідник. Коди системних помилок

Callback виклик для надсилання повідомлення про статус платежу

Дані надсилаються за URL-адресою, яка вказана в параметрах платежу в полі callback_url.

Дані надсилаються на сервер мерчанта в форматі JSON.

Параметри:

ПараметрТипОписЗначення
operationStringТип операції. Наприклад: Purchase
merchantAccountStringID мерчанта
orderReferenceStringID операції в системі мерчанта
amountFloatСума операції
currencyStringВалюта операції
phoneStringНомер телефону клієнта (якщо був отриманий від мерчанта в запиті на оплату)
createdDateStringДата платежу в форматі YYYY-MM-DD HH:II:SS
Приклад: 2018-12-14 12:01:26
cardPanStringМаскований PAN картки
Приклад: 535277******0298
cardTypeStringТип карткиVisa
MasterCard
feeFloatКомісія за операцію
transactionIdStringID транзакції на стороні ПЦ
typeStringТип події. Наприклад: payment
add_paramsArrayМасив із додатковими параметрами, що отримані від мерчанта в запиті на оплату
recTokenStringТокен для рекурентного платежу.
transactionStatusStringСтатус операціїApproved - Успішно

Declined - Відмова

NEEDS-CLARIFICATION - Потребує уточнення статусу платежу. Виконайте запит статусу платежу (Check) або зверніться до технічної підтримки
reasonStringТекстове розшифрування результату виконання операції
reasonCodeStringКод результату виконання операції. Перелік кодів можна подивитись в Довідник. Коди відповідей
merchantSignatureStringЗ метою підтвердження валідності даних, генерується і передається у запиті HMAC_SHA512 контрольний підпис із використанням SecretKey мерчанта.
Рядок, що підлягає HMAC_SHA512, генерується шляхом конкатенації параметрів merchant_id, orderReference, amount, currency розділених ";" (крапка з комою) в кодуванні UTF-8.
Порядок параметрів під час конкатенації важливий!

Приклад колбеку успішної покупки (Purchase):

{
"merchantAccount": "vZmxaalkjdsfGWt5ApLojM8ENzCz",
"orderReference": "1685453241304",
"amount": "2.23",
"operation": "Purchase",
"currency": "UAH",
"phone": "+38 (011) 222-33-44",
"createdDate": "2023-05-30 16:27:21",
"cardPan": "403021******9287",
"cardType": "Visa",
"fee": "0.02",
"transactionId": 195660162,
"type": "payment",
"recToken": "b8e61cd175c51237cf58342377592ff8d465f25ed50288a5f3ef9a01517c3bc1",
"add_params": {
"secure_type": "1",
"lifetime": "1685539641",
"AReqDetails.browserAcceptHeader": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
"AReqDetails.browserColorDepth": "24",
"AReqDetails.browserIP": "10.253.2.159",
"AReqDetails.browserLanguage": "ru",
"AReqDetails.browserScreenHeight": "1080",
"AReqDetails.browserScreenWidth": "1920",
"AReqDetails.browserTZ": "-120",
"AReqDetails.browserUserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
"AReqDetails.browserJavaEnabled": "true",
"AReqDetails.notificationUrl": "https://procard-ltd.com/payment/check3ds?payment=0cc44844b30ae8a0273e6c7b010ce34f86e8729fea2b6f7b628c92232ed33eb06475f9b999c03",
"AReqDetails.deviceChannel": "02",
"AReqDetails.threeRIInd": "",
"CReqDetails.WindowWidth": "1024",
"CReqDetails.WindowHeight": "768",
"merchantName": "merchant",
"RRN": "001206018623"
},
"transactionStatus": "Approved",
"reason": "ОПЕРАЦИЯ РАЗРЕШЕНА",
"reasonCode": "1",
"pcTransactionID": "1206018623",
"pcApprovalCode": "7E06C0 A",
"merchantSignature": "fc55cd12476b1a67de74d42dfc3625f1"
}

Приклад колбеку відмови при покупці (Purchase):

{
"merchantAccount": "vZmxaalkjdsfGWt5ApLojM8ENzCz",
"orderReference": "1685454851406",
"amount": "202.23",
"operation": "Purchase",
"currency": "UAH",
"phone": "+38 (011) 222-33-44",
"createdDate": "2023-05-30 16:54:11",
"cardPan": "403021******9287",
"cardType": "Visa",
"fee": "1.82",
"transactionId": 195662868,
"type": "verify",
"recToken": "",
"transactionStatus": "Declined",
"reason": "НА СЧЕТЕ НЕ ХВАТАЕТ ДЕНЕГ",
"reasonCode": "76",
"pcTransactionID": "1206054482",
"pcApprovalCode": "145036 A",
"merchantSignature": "34b4d87da1828419ca79ab909b443eb9"
}

Операція Verify

Для перевірки картки необхідно переадресувати користувача на сторінку платіжного шлюзу методом POST на url https://****.procard-ltd.com/api/ з наступними параметрами:

ПараметрТипОпис
operationStringТип операції "Verify"
merchant_idStringІдентифікатор мерчанта
amountFloatСума операції. Приклад: 500.00. Може бути 0
currency_isoStringВалюта платежу. Наприклад: UAH
order_idStringУнікальний номер операції. Генерується на стороні мерчанта. Він має бути унікальним упродовж всієї роботи.
approve_urlStringURL, на який буде перенаправлений користувач у разі успішної операції
decline_urlStringURL, на який буде перенаправлений користувач у разі не успішної операції
cancel_urlStringURL, на який буде перенаправлений користувач у разі скасування операції
callback_urlStringURL, на який прийде інформація про результат виконання платежу та сгенерований токен для подальшого рекурентного платежу
redirectInteger1 / 0 - за замовчуванням 1, якщо параметр має значення 0, тоді клієнт не отримуватиме переадресацію, а отримає url платіжної сторінки
languageStringМова сторінки оплати
За замовчуванням ua - українська, ru - російська, en - англійська
secure_typeIntegerТип проходження безпеки транзакції. Перелік можливих значень можна переглянути у Довідник. Значення параметра secure_type
signatureStringЗ метою підтвердження валідності даних має бути згенерований і переданий у запиті HMAC_SHA512 контрольний підпис із використанням SecretKey мерчанта.
Рядок, що підлягає HMAC_SHA512, генерується шляхом конкатенації параметрів merchant_id, order_id, amount, currency_iso розділених ";" (крапка з комою) в кодуванні UTF-8.
Порядок параметрів під час конкатенації важливий!

Опис додаткових параметрів запиту add_params знаходиться у наступному розділі.

За результатами операції мерчанту надходить Callback-виклик на вказаний callback_url, у якому повертається параметр recToken - токен для подальших рекурентних платежів.

Приклад запиту:

{
"operation": "Verify",
"merchant_id": "BO_671a8709e74a7c9",
"amount": 0,
"currency_iso": "UAH",
"order_id": "9ba9990f-fea5-495d-a20a-ae4e7ffb68e3",
"approve_url": "http://merchant.site/1/approved",
"decline_url": "http://merchant.site/1/declined",
"cancel_url": "http://merchant.site/1/canceled",
"callback_url": "http://merchant.site/callback",
"redirect": 0,
"language": "ua",
"signature": "9f882fdd69c7ddfa992d89c5493a61fc",
"add_params": {
"SenderName": "Петренко Петро Петрович"
}
}

Приклад відповіді успіху, якщо в запиті "redirect": 0:

{
"result": 0,
"url": "https://procard-ltd.com/payment/pay?payment=3a95bdaae73a7388b3a3750023a817a897b43f2295315f2b6e0e12e3db0ced2e6475c2b080dec&lang=ukr"
}

Приклад відповіді відмови обробки запиту:

{
"code": -4,
"message": "Неверная подпись"
}

Рекурентні платежі RecPayment (оплата за токеном)

Production url: https://****.procard-ltd.com/api/

Для здійснення рекурентного платежу необхідно надіслати POST-запит з наступними параметрами:

ПараметрТипОбов'язковийОпис
operationString+Необхідне значення для даної операції RecPayment
merchant_idString+Ідентифікатор мерчанта
amountFloat+Сума операції. Приклад: 500.00
recurring_tokenString+Токен, отриманий від ПС
order_idString+Унікальний номер замовлення в системі мерчанта
descriptionString+Призначення платежу
currency_isoString+Валюта. На даний момент доступна лише "UAH"
auth_typeInteger1 - покупка, 2 - попередня авторизація. За замовчуванням - 1
callback_urlStringURL, на який прийде інформація про результат виконання платежу та сгенерований токен для подальшого рекурентного платежу
signatureString+З метою підтвердження валідності даних має бути згенерований і переданий у запиті HMAC_SHA512 контрольний підпис із використанням SecretKey мерчанта.
Рядок, що підлягає HMAC_SHA512, генерується шляхом конкатенації параметрів merchant_id, order_id, amount, recurring_token, currency_iso, description розділених ";" (крапка з комою) в кодуванні UTF-8.
Порядок параметрів під час конкатенації важливий!

Для підтримки можливості виконання авторизації за протоколом 3DS2, в add_params необхідно додатково передати такі параметри:

ПараметрТипОбов'язковийОпис
AReqDetails.OrderIDString+Ідентифікатор замовлення, за яким необхідно виконати операцію
AReqDetails.browserAcceptHeaderString+Вміст HTTP-заголовків браузера покупця. Максимальне значення – 2048 символів
AReqDetails.browserColorDepthString+Значення, що представляє бітову глибину палітри для відображення зображень, в бітах на піксель. Максимальне значення – 2 символи. Можливі значення: 1 - 1 біт;
4 - 4 біти;
8 - 8 бітів;
15 - 15 бітів;
16 - 16 бітів;
24 - 24 біти; ;
32 - 32 біти;
48 - 48 бітів;
AReqDetails.browserIPString+IP-адреса браузера. Можливі формати значення: IPv4-адреса вказана у вигляді чотирьох груп чисел у десятковій системі числення, розділених символом «.». Наприклад: 100.12.123.255.
IPv6-адреса вказана у вигляді восьми груп чисел у шістнадцятковій системі числення, розділених символом «:». Наприклад: 2011:0db8:85a3:0101:0101:8a2e:0370:7334
AReqDetails.browserLanguageString+Мова браузера, вказана в IETF BCP47. Максимальне значення – 8 символів
AReqDetails.browserScreenHeightString+Загальна висота (у пікселях) екрана, що відображається утримувачу картки. Максимальне значення – 6 символів
AReqDetails.browserScreenWidthString+Загальна ширина (у пікселях) екрана, що відображається утримувачу картки. Максимальне значення – 6 символів
AReqDetails.browserTZString+Різниця в часі між часом UTC і місцевим часом браузера користувача. Максимальне значення – 5 символів
AReqDetails.browserUserAgentString+Вміст HTTP-заголовка User-Agent. Максимальне значення – 2048 символів
AReqDetails.browserJavaEnabledBoolean+Ознака можливості виконання JavaScript у браузері власника картки. Можливі значення: true false
AReqDetails.threeRIIndString+Тип запиту, який виконує ТСП без участі власника картки (рекурентні платежі). Можливі значення:
01 (періодичний платіж/переказ);
02 (часткова оплата);
03 (додавання картки);
04 (збереження інформації про карту);
05 (ідентифікація облікової) записи);
80-99 (значення зарезервовані для використання DS)
AReqDetails.notificationUrlStringURL-адреса сервіс провайдера, на який повертається POST-повідомлення CRes від ACS, після перевірки власника картки при challenge-flow.
AReqDetails.deviceChannelString+Тип пристрою, з якого ініційовано транзакцію. Можливі значення:
01 - мобільний додаток ТСП (App-based);
02 - браузер користувача(Browser);
03 - інтернет-магазин (3DS Requestor)
На даний момент доступне тільки значення: 02 – браузер користувача (Browser).
CReqDetails.WindowWidthString+Ширина вікна браузера (у пікселях), де відображаються сторінки сайту ТСП
CReqDetails.WindowHeightString+Висота вікна браузера (у пікселях), де відображаються сторінки сайту ТСП

Опис додаткових параметрів запиту add_params знаходиться у наступному розділі.

У відповідь надходять наступні параметри:

ПараметрТипОписЗначення
codeIntegerКод результату запиту0 - успішний
messageString/IntegerПовідомлення з результатом запитуЗверніть увагу, що message може бути як строкою так і числом!
statusStringСтатус виконання операціїAPPROVED - успешно
DECLINED - операция не успешна

Приклад запиту:

{
"operation": "RecPayment",
"merchant_id": "TEST_TRADER_2",
"amount": 3,
"recurring_token": "052e03dfaab55b6ac1511fee0c552d43ca0818a5ea081b9d06d7df3a1d4e7b8b",
"order_id": "1686217047097325",
"description": "Recurrent payment",
"currency_iso": "UAH",
"auth_type": 1,
"signature": "0cf3324fd88d7fe880012c9892ecab1b",
"add_params": {
"SenderName": "Петренко Петро Петрович"
}
}

Приклад відповіді успіху:

{
"code": 0,
"message": "OK",
"status": "APPROVED"
}

"status":"APPROVED" - означає, що операцію було виконано успішно

Приклад відповіді для 3DS2:

{
"code": 2002,
"message": "Need 3DS",
"status": "INPROCESSING",
"3ds":true,
"version":2,
"d3AcsUrl":"https://acs2-test.procard-ltd.com/",
"d3CReq":"eyJhY3NUcmFuc0lEIjoiMWZhNTE2N2EtMjQ2My00NWY2LWE2N2MtNDdmZDg2NTI3ZTQ0IiwidGhyZWVEU1NlcnZlclRyYW5zSUQiOiIzNDIzNjdmNi1hZWVjLTRjOWYtYTYyNi0wNjFlMWEyMzQyZGMiLCJjaGFsbGVuZ2VXaW5kb3dTaXplIjoiMDMiLCJtZXNzYWdlVHlwZSI6IkNSZXEiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMS4wIn0",
"converted_status":9,
"reasonCode":5100
}

"status":"INPROCESSING" - means that the operation needs 3DS autorization

Для первірки 3ds необхідно методом POST відправити форму з параметрами d3_creq на d3_acs_url:

<form name="MPIform" action='${d3AcsUrl}' method="POST">
<input type="hidden" name="creq" value='${d3CReq}'>
</form>

Для завершення процесу оплати,якщо викорустовуться власний notificationUrl, необхідно виконати "Підтвердження 3DS верифікації".

Приклад відповіді відмови обробки запиту:

{
"code": -4,
"message": "Неверная подпись"
}

Приклад відповіді відмови операції:

{
"code": 58,
"message": 58,
"status": "DECLINED"
}

де 58 - код відмови операції. Перелік кодів можна подивитись в Довідник. Коди відповідей

Операція Reverse

Для скасування платежу необхідно надіслати POST-запит на url https://****.procard-ltd.com/api/reverse з наступними параметрами:

ПараметрТипОпис
merchant_idStringІдентифікатор мерчанта
order_idStringУнікальний номер замовлення в системі мерчанта, який був відправлений в запиті оплати
signatureStringЗ метою підтвердження валідності даних має бути згенерований і переданий у запиті HMAC_SHA512 контрольний підпис із використанням SecretKey мерчанта.
Рядок, що підлягає HMAC_SHA512, генерується шляхом конкатенації параметрів merchant_id, order_id розділених ";" (крапка з комою) в кодуванні UTF-8.
Порядок параметрів під час конкатенації важливий!

У відповідь повертається JSON з наступними параметрами:

ПараметрТипОпис
codeIntegerКод відповіді (1 - успішно)
Якщо запит неуспішний, code відповідає коду із Довідник. Коди системних помилок
Якщо операція неуспішна, code відповідає коду із Довідник. Коди відповідей
messageStringТекстове повідомлення з результатом запиту

Приклад запиту:

{
"merchant_id": "TEST_TRADER_2",
"signature": "52903ab3f2e17e90990131873d508a4d",
"order_id": "1686299645210695"
}

Приклад відповіді успіху:

{
"code": 1,
"message": "ОПЕРАЦИЯ РАЗРЕШЕНА"
}

"code": 1 - означає, що операцію успішно віконано

Приклад відповіді відмови обробки запиту:

{
"code": -4,
"message": "Неверная подпись"
}

Операція Complete

Для підтвердження платежу необхідно надіслати POST запит на url https://****.procard-ltd.com/api з наступними параметрами:

ПараметрТипОпис
operationStringComplete
merchant_idStringІдентифікатор мерчанта
order_idStringУнікальний номер замовлення в системі мерчанта, який був відправлений в запиті оплати
amountFloatСума списання
signatureStringЗ метою підтвердження валідності даних має бути згенерований і переданий у запиті HMAC_SHA512 контрольний підпис із використанням SecretKey мерчанта.
Рядок, що підлягає HMAC_SHA512, генерується шляхом конкатенації параметрів merchant_id, order_id, amount розділених ";" (крапка з комою) в кодуванні UTF-8.
Порядок параметрів під час конкатенації важливий!

У відповідь повертається JSON з наступними параметрами:

ПараметрТипОпис
codeIntegerКод результату запиту (0 - успішний)
Інші коди помилок див. Довідник. Коди системних помилок
messageStringТекстове повідомлення з результатом запиту

Приклад запиту:

{
"operation": "Complete",
"merchant_id": "vZmxaajdkbOGWt5ApLojM8ENzCz",
"signature": "ccfeb05f64643c84beca2e0b179d5c81",
"order_id": "1686657185399",
"amount": 2.23
}

Приклад відповіді успіху:

{
"code": 0,
"message": "Платеж успешно подтвержден"
}

Приклад відповіді відмови обробки запиту:

{
"code": -4,
"message": "Неверная подпись"
}

Операція Check

Для перевірки статусу платежу необхідно надіслати POST-запит на url https://****.procard-ltd.com/api/check з наступними параметрами:

ПараметрТипОпис
merchant_idStringІдентифікатор мерчанта
order_idStringУнікальний номер замовлення в системі мерчанта, який був відправлений в запиті оплати
signatureStringЗ метою підтвердження валідності даних має бути згенерований і переданий у запиті HMAC_SHA512 контрольна підпис із використанням SecretKey мерчанта.
Рядок, що підлягає HMAC_SHA512, генерується шляхом конкатенації параметрів merchant_id, order_id розділених ";" (крапка з комою) в кодуванні UTF-8.
Порядок параметрів під час конкатенації важливий!

У відповідь повертається JSON.

Параметри відповіді успіху:

ПараметрТипОпис
codeInteger0 - успішний запит
reasonCodeStringКод відповіді операції оплати (див. Довідник. Коди відповідей)
reasonStringОпис відповіді
merchantAccountStringID Мерчанта
orderReferenceStringID операції в системі мерчанта
amountStringСума
currencyStringВалюта платежу
phoneStringНомер телефону
createdDateStringДата платежу
cardPanStringМаскований номер картки
cardTypeStringТип картки
feeStringКомісія платежу
transactionIdBigIntegerІдентифікатор транзакції
transactionStatusStringСтатус операції (див. Довідник. Статуси платежу)

Якщо отримано статус NEEDS-CLARIFICATION, повторіть будь-ласка цей запит через деякий час або зверніться до технічної підтримки
pcTransactionIDStringІдентифікатор транзакції в процесинговому центрі. Параметр не обов'язковий у відповіді!
pcApprovalCodeStringКод авторизації. Параметр не обов'язковий у відповіді!
rrnStringУнікальний ідентифікатор банківської транзакції

Параметри відповіді відмови запиту:

ПараметрТипОпис
codeIntegerКод результату запиту (Довідник. Коди системних помилок)
messageStringТекстове повідомлення з результатом запиту

Приклад запиту:

{
"merchant_id": "vZmxaajdkbOGWt5ApLojM8ENzCz",
"order_id": "1686657185399",
"signature": "c0cf536eb79bf25793bb7996d3839088"
}

Приклад відповіді успіху для успішної операції:

{
"code": 0,
"merchantAccount": "vZmxaajdkbOGWt5ApLojM8ENzCz",
"orderReference": "1686662094017",
"amount": "2.50",
"currency": "UAH",
"phone": "+38 (011) 222-33-44",
"createdDate": "2023-06-13 16:14:55",
"cardPan": "403021******9287",
"cardType": "Visa",
"fee": "0.02",
"transactionId": 197387938,
"transactionStatus": "APPROVED",
"reason": "ОПЕРАЦИЯ РАЗРЕШЕНА",
"reasonCode": "1",
"rrn": "1234567890",
"pcTransactionID": "1226920964",
"pcApprovalCode": "88509F A"
}

Приклад відповіді успіху для неуспішної операції:

{
"code": 0,
"merchantAccount": "vZmxaajdkbOGWt5ApLojM8ENzCz",
"orderReference": "5018440306",
"amount": "16.00",
"currency": "UAH",
"phone": "+38 (011) 222-33-44",
"createdDate": "2023-06-13 10:17:41",
"cardPan": "537541******4408",
"cardType": "MasterCard",
"fee": "0.14",
"transactionId": 197355512,
"transactionStatus": "DECLINED",
"reason": "АВТОРИЗАЦИЯ ОТКЛОНЕНА",
"reasonCode": "5"
}

Приклад відповіді відмови обробки запиту:

{
"code": -4,
"message": "Неверная подпись"
}

Операція P2PCredit

Для поповнення картки необхідно надіслати POST-запит на url https://****.procard-ltd.com/api з наступними параметрами:

ПараметрТипОпис
operationStringТип операції "P2PCredit"
merchant_idStringІдентифікатор мерчанта
order_idStringУнікальний номер операції. Генерується на стороні мерчанта. Він має бути унікальним упродовж всієї роботи.
amountFloatСума операції, має бути дробовим числом, з двома знаками після коми. Приклад: 100.50
currency_isoStringВалюта операції. На даний момент доступна лише "UAH"
card_numberStringНомер картки одержувача
tokenStringТокен, можна використовувати замість картки одержувача
visa_aliasStringЗамість номера картки чи токена можна вказати дані псевдоніма VisaAlias
Якщо номер телефону використовується як псевдонім, він має бути наданий відповідно до структури номера ITU-T E.164 (2010).
Приклад (номер телефону): 380670000000
visa_alias_typeStringТип аліасу. Обов'язковий, якщо вказано параметр visa_alias
add_paramsArrayМасив із додатковими параметрами ідентифікації відправника та одержувача переказів. Див. Довідник. Додаткова інформація для ідентифікації відправника та отримувача переказів
signatureStringЗ метою підтвердження валідності даних має бути згенерований і переданий у запиті HMAC_SHA512 контрольний підпис із використанням SecretKey мерчанта.
Рядок, що підлягає HMAC_SHA512, генерується шляхом конкатенації параметрів merchant_id, order_id, amount, card_number, currency_iso розділених ";" (крапка з комою) в кодуванні UTF-8.
Порядок параметрів під час конкатенації важливий!

Можливі значення параметра visa_alias_type:

  • 01 – номер телефону,
  • 02 - адреса електронної пошти,
  • 03 - національний ідентифікатор,
  • 04 - IBAN (міжнародний номер банківського рахунку)

Список додаткових параметрів для клієнтів із зовнішніми антифрод-системами:

ПараметрОписЗначення
BrowserIPIP-адреса браузера клієнтаТільки IPv4 адреса: * 220.38.220.38
UserAccountIDІдентифікаційний номер облікового запису користувача
FingerprintВідбиток пальця

Приклад додаткових параметрів:

{
"add_params": {
"BrowserIP": "127.0.0.1",
"UserAccountID": "123315483215",
"Fingerprint": "asdwsascaw2s1d5ww5a"
}
}

Опис додаткових параметрів запиту add_params знаходиться у наступному розділі.

У відповідь повертається JSON з наступними параметрами:

ПараметрТипОписЗначення
codeIntegerКод результату запиту
0 - успішний
12 - Помилка операції
Інші коди див. Довідник. Коди системних помилок
messageString/IntegerПовідомлення з результатом запиту
Зверніть увагу, що message може бути як строкою так і числом!
statusStringСтатуси операціїAPPROVED - переказ успішний
DECLINED - переказ не успішний
ON-PAYMENT - заявка на переказ в обробці, необхідно додатково запитати статус
transactionIDIntegerІдентифікатор транзакції в платіжній системі
approvalCodeIntegerКод авторизації
rrnStringУнікальний ідентифікатор банківської транзакції

Приклад відповіді успіху:

{
"code":0,
"message":"OK",
"status":"APPROVED",
"transactionID":"2814211",
"approvalCode":"371623 A",
"rrn":"1234567890"
}

"status":"APPROVED" - означає, що операцію було виконано успішно

Приклад відповіді відмови обробки запиту:

{
"code":-4,
"message":"Неверная подпись"
}

Приклад відповіді відмови операції:

{
"code":12,
"message":58,
"status":"DECLINED"
}

де 58 - код відмови операції. Перелік кодів можна подивитись в Довідник. Коди відповідей

Операція отримання аліаса

Для отримання даних аліаса необхідно відправити POST-запит на url https://procard-ltd.com/alias/getinfo з наступними параметрами

ПараметрТипОпис
merchantIdStringІдентифікатор мерчанта
aliasStringПсевдоним VisaAlias.
Якщо номер телефону використовується у якості псевдоніма, він має бути представлений у відповідності до структури номера ITU-T E.164 (2010).
Приклад (номер телефону): 380670000000
aliasTypeStringТип аліаса
signatureStringЗ метою підтвердження валідності даних має бути згенерований і переданий у запиті HMAC_SHA512 контрольний підпис із використанням SecretKey торговця.
Рядок, що підлягає HMAC_SHA512, генерується шляхом конкатенації параметрів merchant_id, alias, aliasType розділених “;” (крапка з комою) у кодуванні UTF-8.
Порядок параметрів під час конкатенації важливий!

Можливі значення параметра aliasType:

  • 01 – номер телефону,
  • 02 - адреса електронної пошти,
  • 03 - національний ідентифікатор,
  • 04 - IBAN (міжнародний номер банківського рахунку)

У відповідь повертається JSON з наступними параметрами:

ПараметрТипОпис
codeIntegerКод відповіді (0 - знайдено аліас, 1 - не знайдено). Інші коди див. Довідник. Коди системних помилок
recipientNameStringЗалежно від ідентифікатора бізнес-додатка запиту, цей атрибут може містити ім'я споживача, ім'я продавця або ім'я агента.
recipientPrimaryAccountNumberStringМаскований номер картки
issuerNameStringНайменування банку емітента

Приклад запиту:

{
"merchantId": "BO_54141bee2e62426",
"alias": "380670000000",
"aliasType": "01",
"signature": "299544b24eb5c623301c83fc1c30b953"
}

Приклад відповіді - знайдено аліас:

{
"code": 0,
"recipientName": "Perto Pertrenko",
"recipientPrimaryAccountNumber": "516911******8886",
"issuerName": "UA Bank 1"
}

Приклад відповіді - не знайдено аліас:

{
"code": 1,
"recipientName": "",
"recipientPrimaryAccountNumber": "",
"issuerName": ""
}

Приклад відповіді відмови обробки запиту:

{
"code": -4,
"message": "Неверная подпись"
}

Операція отримання балансу

Для отримання балансу картки необхідно надіслати на url https://****.procard-ltd.com/api/balance POST-запит з наступними параметрами:

ПараметрТипОпис
merchant_idStringІдентифікатор мерчанта
dateStringДата та час запиту в довільному форматі
signatureStringЗ метою підтвердження валідності даних має бути згенерований і переданий у запиті HMAC_SHA512 контрольний підпис із використанням SecretKey мерчанта.
Рядок, що підлягає HMAC_SHA512, генерується шляхом конкатенації параметрів merchant_id, date розділених ";" (крапка з комою) в кодуванні UTF-8.
Порядок параметрів під час конкатенації важливий!

У відповідь повертається JSON.

Параметри відповіді успіху:

ПараметрТипОпис
mk_depositFloatЛiмiт Mastercard
visa_depositFloatЛiмiт Visa
mk_availableFloatДоступний залишок Mastercard
visa_availableFloatДоступний залишок Visa

Параметри відповіді відмови запиту:

ПараметрТипОпис
codeIntegerКод результату запиту (Довідник. Коди системних помилок)
messageStringТекстове повідомлення з результатом запиту

Приклад запиту:

{
"merchant_id": "TEST_TRADER_2",
"date": "2023-05-19 15:44:16",
"signature": "5270d398dd09866a90b9131b447d8684"
}

Приклад відповіді успіху:

{
"mk_deposit": 9999999,
"visa_deposit": 9999999,
"mk_available": 9999999,
"visa_available": 9999999
}

Приклад відповіді відмови обробки запиту:

{
"code": -4,
"message": "Неверная подпись"
}

Операція P2PDebit

Для списання коштів з картки необхідно переадресувати користувача на сторінку платіжного шлюзу методом POST з наступними параметрами:

НазваТипОпис
operationStringТип операції "P2PDebit"
merchant_idStringІдентифікатор мерчанта
order_idIntegerУнікальний номер операції. Генерується на стороні мерчанта. Він має бути унікальним упродовж всієї роботи.
amountFloatСума операції, має бути дробовим числом, з двома знаками після коми. Приклад: 100.50
currency_isoStringВалюта операції. На даний момент доступна лише "UAH"
descriptionStringПризначення платежу
approve_urlStringURL, на який буде перенаправлений користувач в разі успішної операції
decline_urlStringURL, на який буде перенаправлений користувач в разі не успішної операції
cancel_urlStringURL, на який буде перенаправлений користувач в разі скасування операції
callback_urlStringURL, на який прийде інформація про результат виконання платежу
signatureStringЗ метою підтвердження валідності даних має бути згенерований і переданий у запиті HMAC_SHA512 контрольний підпис із використанням SecretKey мерчанта.
Рядок, що підлягає HMAC_SHA512, генерується шляхом конкатенації параметрів merchant_id, order_id, amount, currency_iso, description, approve_url, decline_url, cancel_url розділених ";" (крапка з комою) в кодуванні UTF-8.
Порядок параметрів під час конкатенації важливий!

Опис додаткових параметрів запиту add_params знаходиться у наступному розділі.

Інформацію про передачу додаткових полів для ідентифікації відправника та одержувача переказів можна знайти у відповідному довіднику.

Операція PurchaseOnMerchant

Для оплати на платіжній сторінці мерчанта необхідно відправити POST-запит з наступними даними.

Production url: https://****.procard-ltd.com/api/

POST-параметри:

ПараметрТипОписЗначення
operationStringТип операціїPurchaseOnMerchant
merchant_idStringID мерчанта
amountFloatСума операції. Приклад: 500.00
signatureStringЗ метою підтвердження валідності даних має бути згенерований і переданий у запиті HMAC_SHA512 контрольний підпис із використанням SecretKey мерчанта.
Рядок, що підлягає HMAC_SHA512, генерується шляхом конкатенації параметрів merchant_id, order_id, amount, currency_iso, description розділених ";" (крапка з комою) в кодуванні UTF-8.
Порядок параметрів під час конкатенації важливий!
order_idStringУнікальний номер операції на стороні мерчанта. Якщо операція дублюється - мерчант отримує помилку.
currency_isoStringВалюта платежуUAH
descriptionStringПризначення платежу. Виводиться на платіжній сторінці, при введенні платіжних реквізитів. Відображається в виписці за рахунком і реєстрах
add_paramsМасив з додатковими параметрами. Розширені можливості пошуку потім повертаються мерчанту в callback-виклику
tokenStringТокен для списання з картки без передачі реквізитів картки. Має бути переданий або токен, або дані картки.
card_numStringНомер картки
card_exp_monthStringТермін дії картки MM
card_exp_yearStringТермін дії картки YY
card_cvvStringCVV2 код, у разі операції без CVV необхідно вказати -1
card_holderStringВласник картки. Необов'язкове поле
phoneStringНомер телефону клієнта. Необов'язкове поле
auth_typeIntegerТип платежу
1 - Purchase - покупка (за замовчуванням)
2 - PreAuth - блокування коштів на картці
secure_typeStringТип проходження безпеки транзакції. Перелік можливих значень можна переглянути у Довідник. Значення параметра secure_type
callback_urlStringURL, на який прийде інформація про результат виконання платежу

Для підтримки можливості виконання авторизації за протоколом 3DS2, в add_params необхідно додатково передати такі параметри:

ПараметрТипОбов'язковийОпис
AReqDetails.OrderIDString+Ідентифікатор замовлення, за яким необхідно виконати операцію
AReqDetails.browserAcceptHeaderString+Вміст HTTP-заголовків браузера покупця. Максимальне значення – 2048 символів
AReqDetails.browserColorDepthString+Значення, що представляє бітову глибину палітри для відображення зображень, в бітах на піксель. Максимальне значення – 2 символи. Можливі значення: 1 - 1 біт;
4 - 4 біти;
8 - 8 бітів;
15 - 15 бітів;
16 - 16 бітів;
24 - 24 біти; ;
32 - 32 біти;
48 - 48 бітів;
AReqDetails.browserIPString+IP-адреса браузера. Можливі формати значення: IPv4-адреса вказана у вигляді чотирьох груп чисел у десятковій системі числення, розділених символом «.». Наприклад: 100.12.123.255.
IPv6-адреса вказана у вигляді восьми груп чисел у шістнадцятковій системі числення, розділених символом «:». Наприклад: 2011:0db8:85a3:0101:0101:8a2e:0370:7334
AReqDetails.browserLanguageString+Мова браузера, вказана в IETF BCP47. Максимальне значення – 8 символів
AReqDetails.browserScreenHeightString+Загальна висота (у пікселях) екрана, що відображається утримувачу картки. Максимальне значення – 6 символів
AReqDetails.browserScreenWidthString+Загальна ширина (у пікселях) екрана, що відображається утримувачу картки. Максимальне значення – 6 символів
AReqDetails.browserTZString+Різниця в часі між часом UTC і місцевим часом браузера користувача. Максимальне значення – 5 символів
AReqDetails.browserUserAgentString+Вміст HTTP-заголовка User-Agent. Максимальне значення – 2048 символів
AReqDetails.browserJavaEnabledBoolean+Ознака можливості виконання JavaScript у браузері власника картки. Можливі значення: true false
AReqDetails.threeRIIndString+Тип запиту, який виконує ТСП без участі власника картки (рекурентні платежі). Можливі значення:
01 (періодичний платіж/переказ);
02 (часткова оплата);
03 (додавання картки);
04 (збереження інформації про карту);
05 (ідентифікація облікової) записи);
80-99 (значення зарезервовані для використання DS)
AReqDetails.notificationUrlString+URL-адреса сервіс провайдера, на який повертається POST-повідомлення CRes від ACS, після перевірки власника картки при challenge-flow.
AReqDetails.deviceChannelString+Тип пристрою, з якого ініційовано транзакцію. Можливі значення:
01 - мобільний додаток ТСП (App-based);
02 - браузер користувача(Browser);
03 - інтернет-магазин (3DS Requestor)
На даний момент доступне тільки значення: 02 – браузер користувача (Browser).
CReqDetails.WindowWidthString+Ширина вікна браузера (у пікселях), де відображаються сторінки сайту ТСП
CReqDetails.WindowHeightString+Висота вікна браузера (у пікселях), де відображаються сторінки сайту ТСП

Для підтримки можливості виконання перевірки antifraud в add_params необхідно додатково передати такі параметри:

ПараметрТипОбов'язковийОпис
BrowserIPString+IP-адреса браузера. Можливі формати значення: IPv4-адреса вказана у вигляді чотирьох груп чисел у десятковій системі числення, розділених символом «.». Наприклад: 100.12.123.255.
IPv6-адреса вказана у вигляді восьми груп чисел у шістнадцятковій системі числення, розділених символом «:». Наприклад: 2011:0db8:85a3:0101:0101:8a2e:0370:7334
UserAccountIDString+Ідентифікатор облікового запису браузера користувача, який виконує транзакцію.
FingerprintString+Fingerprint пристрою, розрахований платформою.

Опис додаткових параметрів запиту add_params знаходиться у наступному розділі.

Відповідь:

ПараметрТипОписЗначення
statusStringСтатус платежуДовідник. Статуси платежу
codeIntegerКод відповідіДовідник. Коди відповідей
order_idStringУнікальний номер замовлення в системі мерчанта
amountFloatСума платежу
feeFloatКомісія
currencyStringВалюта платежу
tokenStringТокен для подальших оплат. Токен повернеться у разі успішного платежу
- У разі необхідності виконати авторизацію за протоколом 3DS1, повернуться параметри:
d3_acs_urlStringURL ACS-сервера, на який необхідно відправити користувача для верифікації
d3_mdStringУнікальний ідентифікатор, який необхідно передати на ACS-сервер
d3_pareqStringЗапит, який необхідно передати на ACS-сервер
- У разі необхідності виконати авторизацію за протоколом 3DS2, повернуться параметри:
d3_acs_urlStringURL ACS-сервера, на який необхідно відправити користувача для верифікації
d3_creqStringЗапит, який необхідно передати на ACS-сервер

transaction_keyStringКлюч транзакції, який необхідно використовувати для підтвердження платежу
transaction_idStringIдентифікатор транзакції
rrnStringУнікальний ідентифікатор банківської транзакції
signatureStringПідпис операції

Якщо у відповіді code прийшло значення 2001, необхідно провести перевірку 3DS.

Для перевірки 3DS необхідно методом POST надіслати форму з параметрами d3_md, d3_pareq, term_url на d3_acs_url.

term_url - URL, на який повернеться результат перевірки 3DS.

<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>

Якщо у відповіді code надійшло значення 2002, необхідно провести перевірку за протоколом 3DS2.

Для перевірки 3ds необхідно методом POST надіслати форму з параметром d3_creq на d3_acs_url.

<form name="MPIform" action='${d3_acs_url}' method="POST">
<input type="hidden" name="creq" value='${d3_сreq}'>
</form>

Для завершення процесу оплати необхідно виконати "Підтвердження 3DS верифікації".

Підтвердження 3DS верифікації

Для завершення оплати на платіжній сторінці мерчанта після виконання 3DS, необхідно відправити POST запит з наступними даними

Production url: https://****.procard-ltd.com/api/

ПараметрТипОписЗначення
operationStringТип операціїComplete3DS
transaction_keyStringКлюч транзакції, отриманий раніше у відповідь на запит оплати
merchant_idStringІдентифікатор мерчанта
- У разі, якщо виконувалась авторизація за протоколом 3DS1, передати параметри:
d3ds_mdStringІдентифікатор, що отриманий після редиректу з ACS-сервера
d3ds_paresStringПовідомлення, що отримане після редиректу з ACS-сервера
- У разі, якщо виконувалась авторизація за протоколом 3DS2, передати параметри:
d3ds_cresStringПовідомлення, що отримане після редиректу з ACS-сервера

signatureStringЗ метою підтвердження валідності даних має бути згенерований і переданий у запиті HMAC_SHA512 контрольний підпис із використанням SecretKey мерчанта.
Рядок, що підлягає HMAC_SHA512, генерується шляхом конкатенації параметрів merchant_id, transaction_key, d3ds_md, d3ds_pares розділених ";" (крапка з комою) в кодуванні UTF-8.
Якщо передається d3ds_cres, слід в якості d3ds_md, d3ds_pares в підписі додати пусті рядки.
Порядок параметрів під час конкатенації важливий!

Відповідь:

ПараметрТипОписЗначення
statusStringСтатус платежуДовідник. Статуси платежу
codeIntegerКод відповідіДовідник. Коди відповідей
order_idStringУнікальний номер замовлення в системі мерчанта
amountFloatСума платежу
feeFloatКомісія
currencyStringВалюта платежу
card_panStringМаскований номер картки
cardTypeStringТип карткиVisa
MasterCard
transaction_idStringIдентифікатор транзакції
rrnStringУнікальний ідентифікатор банківської транзакції

Отримання токену для Masterpass

Production url: https://****.procard-ltd.com/api/mptoken

Для отримання гостьового токену необхідно надіслати POST-запит з наступними даними:

ПараметрТипОпис
msisdnStringНомер телефону для входу в гаманець Masterpass в форматі 380XXXXXXXXX
client_idStringІдентифікатор клієнта в системі MasterPass

У відповідь приходить об'єкт у форматі JSON з наступними параметрами:

ПараметрТипОпис
resIntegerРезультат запиту (0 - успіх)
msgStringПовідомлення про помилку
tokenStringТокен для передачі в mfs бібліотеку
reference_noStringУнікальний номер запиту

Проведення платежу через Masterpass

Production url: https://****.procard-ltd.com/api

Для проведення платежу з Masterpass необхідно надіслати POST-запит з наступними даними:

ПараметрТипОписЗначение
operationStringТип операціїPurchaseMasterpass
merchant_idStringІдентифікатор мерчанта
amountFloatСума платежу в форматі 1.00
order_idString
currency_isoStringВалютаUAH
descriptionStringОпис платежу
approve_urlStringURL для переадресації після успішного платежу (в разі підтвердження 3DS на сторінці ProcardPay)
decline_urlStringURL для переадресації потім не успішного платежу (в разі підтвердження 3DS на сторінці ProcardPay)
cancel_urlStringURL для переадресації після скасування платежу (в разі підтвердження 3DS на сторінці ProcardPay)
callback_urlStringURL, на який буде відправлений callback про статус платежу
add_params[wallet]StringОзнака гаманцяmasterpass
add_params[msisdn]StringНомер телефону для входу в гаманець Masterpass в форматі 380XXXXXXXXX
add_params[token]StringТокен, що отриманий з сервера MasterPass
add_params[card_name]StringAlias карти, що отриманий з сервера MasterPass
add_params[client_id]StringІдентифікатор мерчанта в системі MasterPass
add_params[ret_ref_no]StringУнікальний номер транзакції, що отриманий з сервера MasterPass
signatureStringЗ метою підтвердження валідності даних має бути згенерований і переданий у запиті HMAC_SHA512 контрольний підпис із використанням SecretKey мерчанта.
Рядок, що підлягає HMAC_SHA512, генерується шляхом конкатенації параметрів merchant_id, order_id, amount, currency_iso, description розділених ";" (крапка з комою) в кодуванні UTF-8.
Порядок параметрів під час конкатенації важливий!

У відповідь приходить об'єкт у форматі JSON з наступними параметрами:

Якщо транзакція вимагає підтвердження 3DS:

ПараметрТипОпис
codeIntegerКод відповіді
statusStringСтатус транзакції. Якщо необхідна перевірка 3DS, в статусі буде значення 3ds
d3AcsUrlStringURL для перенаправлення клієнта для перевірки 3DS
d3MdStringКриптограма для передачі на хост 3DS
d3PareqStringЗапит для передачі на хост 3DS
transaction_keyStringКлюч транзакції для підтвердження 3DS
TermUrlStringURL для переадресації після введення коду підтвердження на сторінці 3DS
За замовчуванням URL на сторінку ProcardPay, для перевірки 3DS можна вказати свій URL, тоді після проходження 3DS необхідно викликати метод "Підтвердження 3DS верифікації"

Для завершення процесу оплати необхідно виконати "Підтвердження 3DS верифікації".

Оплата на платіжній сторінці процесингу з розщепленням платежу

Для оплати на платіжній сторінці процесингу необхідно виконати редирект на сторінку процесингового центру, з POST даними.

Production url: https://****.procard-ltd.com/api/

POST параметри:

ПараметрТипОписЗначення
operationStringТип операціїPurchase
merchant_idStringID мерчанта
amountFloatСума операції. Приклад: 500.00
signatureStringЗ метою підтвердження валідності даних має бути згенерований і переданий у запиті HMAC_SHA512 контрольний підпис із використанням SecretKey мерчанта.
Рядок, що підлягає HMAC_SHA512, генерується шляхом конкатенації параметрів merchant_id, order_id, amount, currency_iso, description розділених ";" (крапка з комою) в кодуванні UTF-8.
Порядок параметрів під час конкатенації важливий!
order_idStringУнікальний номер операції на стороні мерчанта. Якщо операція дублюється - мерчант отримує помилку.
currency_isoStringВалюта платежуUAH
descriptionStringПризначення платежу. Виводиться на платіжній сторінці, при введенні платіжних реквізитів. Відображається в виписці за рахунком і реєстрах
add_paramsArrayМасив з додатковими параметрами. Розширені можливості пошуку потім повертаються мерчанту в callback виклику
splitStringОзнака розщеплення платежу0 - не розщеплювати
1 - розщеплювати
split_rulesArrayМасив з правилами розщеплення, який містить у собі ідентифікатори субмерчанта і суми.
Сума розщеплення має збігатися з сумою платежу.
Приклад:
split_rules[0][sub_merchant_id]=test1&split_rules[0][amount]=100.00&split_rules[1][sub_merchant_id]=test2&split_rules[1][amount]=50.00&.......&split_rules[n][sub_merchant_id]=testn&split_rules[n][amount]=10.00
approve_urlStringURL для переадресації у разі, якщо платіж успішний
decline_urlStringURL для переадресації у разі, якщо платежі не успішний
cancel_urlStringURL для переадресації у разі, якщо користувач відмовився зробити оплату
callback_urlStringURL, на який прийде інформація про результат виконання платежу

Отримання даних про діапазон карток

Для отримання даних про діапазон карток необхідно надіслати POST-запит на url https://****.procard-ltd.com/api/bas з наступними параметрами:

ПараметрТипОписЗначення
merchant_idStringІдентифікатор мерчанта
rangeStringПерші кілька цифр номер картки, на яку здійснюється пошук діапазону. Пошук здійснюється за першими 9 цифрами номера картки. Якщо передано менше 9 цифр, то номер буде доповнений нулями. Якщо передано більше, то пошук здійснюється за першими 9
signatureStringЗ метою підтвердження валідності даних має бути згенерований та переданий у запиті HMAC_SHA512 контрольний підпис із використанням SecretKey мерчанта.
Рядок, що підлягає HMAC_SHA512, генерується шляхом конкатенації параметрів merchant_id, range розділених “;” (крапка з комою) у кодуванні UTF-8.
Порядок параметрів при конкатенації є важливим!

У відповідь повертається JSON.

Параметри відповіді успіху (набір полів залежить від доступного пакету мерчанту):

Назва поляТипОписLevel 1 (Base)Level 2 (Full)
codeIntegerКод помилки. Якщо 0 - успіхXX
minRangeIntegerAccount Range MinimumXX
maxRangeIntegerAccount Range MaximumXX
brandCdStringBrand IndicatorXX
issuerBinStringIssuer BINXX
binLengthStringBIN LengthXX
sharedBinIndStringShared BIN IndicatorXX
posdomesticOnlyIndStringDomestic-Use-Only FlagXX
onlineGamblBlockIndStringOnline Gambling BlockXX
binRangePaymentAccountTypeStringToken IndicatorXX
issuerBillingCurrCdStringIssuer Billing CurrencyX
accountCtryAlpha2CodeStringIssuer Country CodeX
platformCdStringProduct PlatformX
productIdStringProduct IDX
productIdNameStringProduct NameX
accountFundingSourceCdStringAccount Funding SourceX
accountFundingSourceSubtypeCdStringAccount Funding Source SubtypeX
accountBusNameStringIssuer NameX

Параметри відповіді відмови запиту:

ПараметрТипОпис
codeIntegerКод помилки (Довідник. Коди системних помилок)
messageStringТекстове повідомлення помилки

Приклад запиту:

{
"merchant_id": "jnmx9smJQmSejKoR3rIgm5Pj7QG",
"range": "473118560",
"signature": "babf4304e88d9a6e000c167cfcdc9e5a"
}

Приклад відповіді успіху:

{
"minRange": 473118550,
"maxRange": 473118569,
"brandCd": "VISA",
"issuerBin": 473118,
"binLength": 6,
"sharedBinInd": "N",
"posdomesticOnlyInd": "N",
"onlineGamblBlockInd": "Y",
"binRangePaymentAccountType": "P",
"issuerBillingCurrCd": "USD",
"accountCtryAlpha2Code": "UA",
"platformCd": "CN",
"productId": "F",
"productIdName": "Visa Classic",
"accountFundingSourceCd": "D",
"accountFundingSourceSubtypeCd": null,
"accountBusName": "JSC CB PRIVATBANK",
"code": 0
}

Приклад відповіді відмови обробки запиту:

{
"code": -4,
"message": "Неверная подпись"
}

Додаткові параметри запиту

У запиті також мають бути передані наступні додаткові параметри в add_params:

ПараметрТипОбов'язковийОпис
SenderName
або
RecipientName (для P2PCredit)
String+ПІБ відправника кирилицею. Приклад: Петренко Петро Петрович
IdentityNumberString+ІНН клієнта