Зарегистрировать фискальный чек API
Этот API отправляет транзакцию в фискальную систему (OFD) для создания фискального чека. Он регистрирует оплату наличными в OFD система.
Конечные точки
Метод:
POST
URL: BASE_URL/merchant/fiscalization/register/
Заголовок:
http
Authorization: Bearer <ACCESS_TOKEN>Тело запроса
| Поле | Тип | Требуется | Описание |
|---|---|---|---|
| transactionId | string | Нет | Уникальный идентификатор транзакции. Обязательно, если это оплата картой. |
| items | array | Да | Перечень позиций, подлежащих включению в фискальный чек. |
| externalId | string | Нет | Уникальный идентификатор фискального чека. Обязательно, если это оплата наличными. |
| phoneNumber | string | Нет | Телефон клиента, осуществившего оплату. Формат: +998*******. Обязательно, если это оплата наличными. |
Объект предмета (внутри items)
| Поле | Тип | Требуется | Описание |
|---|---|---|---|
| титул | string | Да | Название предмета. |
| price | integer | Да | Цена товара (до скидок), выраженная в тиынах |
| discount | integer | Нет | Скидка применяется к товару. Превысить цену нельзя. |
| count | integer | Да | Количество товара. Должно быть не менее 1. |
| code | string | Да | Уникальный код товара. |
| vat_percent | integer | Да | VAT процент, применимый к товару. |
| package_code | string | Да | Код типа упаковки. |
| pinfl | string | Нет | Индивидуальный номер налогоплательщика (должен состоять из 14 цифр, если указан). |
| tin | string | Нет | Идентификационный номер налогоплательщика (должен состоять из 9 цифр, если он указан). INN |
💡 Примечание: необходимо указать
pinflилиtin, но не оба одновременно.
Пример запроса
Пример запроса на оплату картой
json
{
"transactionId": "string",
"externalId": "string",
"phoneNumber": "string",
"receiptType": 0,
"advanceContractId": "string",
"items": [
{
"title": "string",
"price": 0,
"discount": 0,
"voucher": 0,
"count": 1,
"code": "string",
"vat_percent": 0,
"package_code": "string",
"labels": [
"string"
],
"pinfl": "string",
"tin": "string"
}
]
}Формат ответа
Успешный ответ
json
json
{"result": {
"ofd": {
"receiptUrl": "https://ofd.example.com/receipt/12345",
"terminalId": "T123456",
"receiptId": 987654,
"fiscalSign": "FS123ABC"
}
}
}Описание ответа
| Поле | Тип | Описание |
|---|---|---|
| receiptUrl | string | URL к созданному фискальному чеку. |
| terminalId | string | Терминал ID, используемый для транзакции. |
| receiptId | integer | Уникальный ID фискального чека. |
| fiscalSign | string | Фискальная подпись квитанции. |
Реакции на ошибки
| Код ошибки | Описание |
|---|---|
receipt_not_available_for_operation | Транзакция не подлежит формированию фискального чека. |
field_required | Отсутствует обязательное поле (например, items). |
ofd_check_already_generated | Транзакция уже имеет фискальный чек. |
invalid_amount | Общая стоимость товаров не соответствует сумме сделки. |
ofd_error | Возникла проблема при обработке с помощью OFD. |
fiscal_receipt_not_generated | Фискальный чек не был успешно создан. |