Параметри, які необхідно передавати додатково для інтеграції з протоколом програмного РРО
У запит на купівлю додається параметр reservation_data – це JSON, закодований алгоритмом BASE64, який має таку структуру:
{
"products": [
{
"id": 1,
"name": "Мигдаль жар.",
"price": 700.00,
"total_amount": 140.00,
"quantity": 0.2
},
{
"id": 2,
"name": "Кешью очищ.",
"price": 850.00,
"total_amount": 127.5,
"quantity": 0.15
}
]
}
Примітка
Якщо параметр reservation_data не передається, то чек буде сформовано з 1 одиниці товару з вартістю, зазначеною в параметрі amount та описом, зазначеним у order_desc
|
Назва параметра |
Тип даних |
Опис |
Можливі значення |
|
id |
integer(12) |
порядковий номер товару в кошику покупця |
|
|
name |
string(1000) |
закодований опис продукту UTF-8 |
|
|
price |
decimal(19,2) |
сума одиниці товару з крапкою – роздільником копійок |
123.55 400.00 15 |
|
total_amount |
decimal(19,2) |
сума товару з урахуванням кількості або ваги з крапкою – роздільником копійок |
123.55 400.00 15 |
|
quantity |
decimal(19,2) |
кількість товарів у кошику або їхня вага |
1 0.78 |
Опитування деталей фіскального запису
Запит необхідно надсилати на https://pay.hutko.org/api/get_kkt_logs методом POST
{
"request": {
"order_id": "13731336126512",
"merchant_id": 1700002,
"signature": "2e4a8881c428037fdf266b18a29a282aba79ed58"
}
}
| order_id | string(1024) | Ідентифікатор покупки, раніше здійсненої через протокол програмного РРО |
| merchant_id | integer(12) | Унікальний ідентифікатор мерчанта. Видається торговцю після реєстрації. |
| signature | string(40) | Підпис замовлення. Служить для перевірки цілісності та автентичності запиту від мерчанта на стороні сервера платіжного шлюзу. Алгоритм формування підпису див. Формування підпису запиту і відповіді |
Формат відповіді.
{
"response": {
"1499968937": {
"request": {
"CHECKPAY": [
{
"SUM": "80.00",
"PAYSYS": [
{
"NAME": "ПЛАТІЖНА СИСТЕМА MasterCard",
"AUTHCD": "46049Z",
"EPZDETAILS": "444444XXXXXX1111",
"ACQUIRETRANSID": "024046466130"
}
],
"PAYFORMCD": 1,
"PAYFORMNM": "Електронним платіжним засобом"
}
],
"CHECKBODY": [
{
"CODE": 476657827,
"COST": "80.00",
"NAME": "Заказ №",
"PRICE": "80.00",
"VALCD": "980",
"VALNM": "грн.",
"AMOUNT": 1,
"UNITNM": "од.",
"VALSYMCD": "UAH",
"DESCRIPTION": "desc"
}
],
"CHECKHEAD": {
"TIN": "3263608852",
"UID": "0E9B042D-888D-452C-B36B-12F283B76B02",
"VER": 1,
"ORGNM": "ТЕСТОВИЙ ПЛАТНИК",
"CASHIER": "Тестовий платник",
"DOCTYPE": 0,
"LOGOURL": "https://logo.io/uploads/2021/logo.png",
"OFFLINE": "false",
"POINTNM": "ФОП Тестовий",
"ORDERNUM": 4765,
"ORDERDATE": "28122021",
"ORDERTIME": "103735",
"POINTADDR": "УКРАЇНА, ТЕРНОПIЛЬСЬКА ОБЛ., М. ТЕРНОПІЛЬ, м.Тернопіль, вул.Корольова,7/185",
"DOCSUBTYPE": 0,
"CASHDESKNUM": 1,
"CASHREGISTERNUM": 4000000000
},
"CHECKTOTAL": {
"SUM": 80,
"RNDSUM": "0.00",
"NORNDSUM": 80,
"NOTAXSUM": 80
}
},
"response": {
"UID": "0E9B042D-888D-452C-B36B-12F283B76B02",
"VER": "1",
"ORDERNUM": "4765",
"ERRORCODE": "0",
"ORDERDATE": "28122021",
"ORDERTIME": "103717",
"ORDERTAXNUM": "123456789"
},
"type": "purchase"
},
"response_status": "success"
}
}
{
"request": {
"transaction_id": "1499968937",
"merchant_id": 1700002,
"receipt_type": "receipt",
"signature": "2e4a8881c428037fdf266b18a29a282aba79ed58"
}
}
| transaction_id | string(1024) | Ідентифікатор фіскалізованої транзакції. Береться з API Отримання списку транзакцій за платежем з ознакою:
"tran_type": "purchase" або "reverse" або "capture"
|
| merchant_id | integer(12) | Унікальний ідентифікатор мерчанта. Видається торговцю після реєстрації. |
| receipt_type | string(1024) | Тип чека:
"receipt" або "zreport"
|
| signature | string(40) | Підпис замовлення. Служить для перевірки цілісності та автентичності запиту від мерчанта на стороні сервера платіжного шлюзу. Алгоритм формування підпису див. Формування підпису запиту і відповіді |
Приклад відповіді:
{
"check_url": "https://merchportal-ereceipt.s3.amazonaws.com/ereceipt/check_1499968937.pdf?AWSAccessKeyId=YYYYYYYYYYYYYYYYYYYYYY&Signature=XXXXXXXXXXXXXXXXXXXXXXXX%3D&Expires=1956257837"
}