Інструкція з фіскалізації транзакцій (EasyPay + Checkbox: відмінності між версіями
Матеріал з apidocs
Немає опису редагування |
|||
| Рядок 179: | Рядок 179: | ||
</table> | </table> | ||
<br> | <br> | ||
Валідація: | '''Валідація:''' | ||
price × quantity = value у payments | price × quantity = value у payments | ||
Версія за 09:25, 20 січня 2026
1. Попередні умови
Для фіскалізації транзакцій мерчант повинен:
- Бути зареєстрованим у сервісі Checkbox: https://checkbox.ua
- Мати в Checkbox:
- зареєстровану касу
- створеного касира
2. Дані, які потрібно надати EasyPay
Після реєстрації в Checkbox необхідно надіслати менеджеру EasyPay на email:
Ключ ліцензії каси (licenseKey)

PIN-код касира

serviceKey, з якого будуть фіскалізуватися транзакції
⚠️ Без передачі цих даних фіскалізація працювати не буде.
3. Робота зі змінами
- Зміна відкривається автоматично разом із першою фіскалізованою транзакцією за день
- Зміна автоматично закривається о 23:45
4. Загальна схема роботи

- Мерчант створює замовлення (
createOrder) з параметрами фіскалізації - EasyPay ініціює фіскалізацію в сервісі Checkbox
- Checkbox формує фіскальний чек
- Статус фіскалізації та URL чека:
- надсилаються в callback, або
- доступні через метод
fiscalization/check
- У разі повернення коштів використовується метод
CancelOrder
5. Створення платежу з фіскалізацією
Для фіскалізації транзакції в методі:
POST /api/merchant/createOrder
потрібно передати обʼєкт fiscalization.
5.1. Приклад запиту createOrder
{
"order": {
"serviceKey": "MERCHANT-TEST-XXXX",
"orderId": "Fiscalization29",
"description": "Test for fiscalization",
"amount": 3,
"isOneTimePay": false,
"additionalItems": {
"Merchant.UrlNotify": "http://notifysigncheckexample.com"
}
},
"fiscalization": {
"licenseKey": "test8d2f483fafef",
"receiptType": "Url",
"receipt": {
"goods": [
{
"good": {
"code": "9999",
"name": "Wine",
"price": 1.5
},
"quantity": 2
}
],
"payments": [
{
"type": "CASHLESS",
"value": 3
}
]
}
}
}
6. Обʼєкт fiscalization
6.1. Загальна структура
| Поле | Тип | Обов'язкове | Опис |
|---|---|---|---|
| licenseKey | string | ✅ | Ключ ліцензії каси Checkbox |
| receiptType | string | ✅ | Завжди "Url" |
| receipt | object | ✅ | Дані фіскального чека |
6.2 receipt
| Поле | Тип | Обовʼязкове | Опис |
|---|---|---|---|
| goods | array | ✅ | Перелік товарів |
| payments | array | ✅ | Інформація про оплату |
6.3 goods[ ]
| Поле | Тип | Обовʼязкове | Опис |
|---|---|---|---|
| good.code | string | ✅ | Код товару |
| good.name | string | ✅ | Назва товару |
| good.price | decimal | ✅ | Ціна за одиницю |
| quantity | decimal | ✅ | Кількість (до 3 знаків після коми) |
Валідація:
price × quantity = value у payments
6.4 payments[ ]
| Поле | Тип | Обовʼязкове | Опис |
|---|---|---|---|
| type | string | ✅ | Завжди "CASHLESS"
|
| value | decimal | ✅ | Сума платежу |
7. Перевірка статусу фіскалізації
POST /api/merchant/fiscalization/check
Приклад запиту
{
"orderId": "Fiscalization29",
"transactionid": 111111,
"serviceKey": "MERCHANT-TEST-XXXX"
}
Можливі статуси
Accepted— фіскалізація успішнаInProcess— в обробціDeclined— помилка
8. Повернення коштів (CancelOrder)
Часткове повернення
Умови:
- транзакція була фіскалізована
- повертається частина товарів
Особливості:
- обʼєкт
fiscalizationобовʼязковий - передаються тільки товари та суми, які повертаються
Повне повернення
- повертається вся сума платежу
- обʼєкт
fiscalizationможна не передавати