Параметри, які необхідно передавати додатково для інтеграції з протоколом програмного РРО
У запит на купівлю додається параметр 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" }