Фіскалізація продажів (ПРРО)
Автоматична фіскалізація онлайн-продажів через RozetkaPay API
RozetkaPay підтримує автоматичну фіскалізацію онлайн-продажів (ПРРО) для:
- Інтернет еквайрингу
- Кошику платежів
- Оплати частинами
- Підписок та рекурентних платежів
Податкові групи (tax_group)
| Код | Опис |
|---|---|
1 | ПДВ 20% |
2 | Без ПДВ |
3 | ПДВ 20% + акциз 5% |
4 | ПДВ 7% |
5 | ПДВ 0% |
6 | Без ПДВ + акциз 5% |
7 | Не є об’єктом ПДВ |
8 | ПДВ 20% + ПФ 7.5% |
9 | ПДВ 14% |
Фіскалізація інтернет-еквайрингу
Передавайте products[] у запиті Create payment.
Параметри товару
| Параметр | Обов’язковий | Тип | Опис |
|---|---|---|---|
name | Так | string | Назва товару |
quantity | Так | string | Кількість одиниць |
net_amount | Так | string | Вартість без ПДВ |
vat_amount | Так | string | Ціна з ПДВ |
tax_group | Так | integer | Податкова група (див. таблицю вище) |
currency | Ні | string | Валюта |
category | Ні | string | Категорія |
description | Ні | string | Опис |
image | Ні | string | URL зображення |
id | Ні | string | ID товару |
url | Ні | string | Посилання на товар |
Приклад
curl -X POST https://api.rozetkapay.com/api/payments/v1/new \ -u "login:password" \ -H "Content-Type: application/json" \ -d '{ "external_id": "order_12345", "mode": "direct", "amount": 100, "currency": "UAH", "callback_url": "https://your-site.com/callback", "customer": { "external_id": "user_123", "phone": "380501234567", "payment_method": { "type": "cc_token", "cc_token": { "token": "tok_abc", "use_3ds_flow": true } } }, "products": [ { "id": "fff1bb85-383e-4e20-8238-b32a7c69db5d", "name": "Product item 1", "description": "Your partner", "category": "dogs", "quantity": "1", "currency": "UAH", "net_amount": "50", "vat_amount": "0", "tax_group": 4 }, { "id": "5e0343a3-9994-4a7f-93e0-5cc1ddfe3b3c", "name": "Product item 2", "quantity": "1", "currency": "UAH", "net_amount": "50", "vat_amount": "0", "tax_group": 4 } ] }'Фіскалізація при оплаті частинами
Для «Оплатити частинами» діє інший набір полів у products[].
Параметри товару
| Параметр | Обов’язковий | Тип | Опис |
|---|---|---|---|
external_id | Ні | string | ID товару |
name | Так | string | Назва |
quantity | Так | integer | Кількість |
price | Так | number | Вартість товару |
tax_group | Ні | integer | Податкова група |
category_name | Ні | string | Категорія |
Приклад
curl -X POST https://api.rozetkapay.com/api/payparts/v1/order/create \ -u "login:password" \ -H "Content-Type: application/json" \ -d '{ "auto_confirm_after_success": false, "bank_name": "abank", "mode": "direct", "external_id": "order_12345", "amount": 500, "currency": "UAH", "parts_count": 4, "description": "Замовлення", "products": [ { "external_id": "91562a47-732a-4963-9935-f6bd1cf5e531", "name": "Повербанк", "quantity": 1, "price": 300, "tax_group": 4 }, { "external_id": "1314b476-5807-433e-9d48-3094eafd5142", "name": "LG Телефон", "quantity": 1, "price": 200, "tax_group": 4 } ], "customer": { "first_name": "I", "last_name": "I", "phone": "+380501234567" } }'Блок fiscalization у відповіді
Після успішної фіскалізації відповідь розширюється полем fiscalization:
| Параметр | Тип | Опис |
|---|---|---|
fiscal_id | string | Фіскальний номер |
fiscal_url | string | Посилання на фіскальний чек |
status | string | Pending, Success або Failed |
status_code | integer | Статус-код фіскалізації |
status_description | string | Опис статусу |
{ "is_success": true, "details": { "status": "success", "amount": "100", "currency": "UAH" }, "fiscalization": { "fiscal_id": "0000000001", "fiscal_url": "https://cabinet.tax.gov.ua/cabinet/faces/public/...", "status": "Success", "status_code": 1001, "status_description": "Fiscalization successful." }}