Skip to content

Зарегистрировать фискальный чек API

Этот API отправляет транзакцию в фискальную систему (OFD) для создания фискального чека. Он регистрирует оплату наличными в OFD система.

Конечные точки

Метод: POST
URL: BASE_URL/merchant/fiscalization/register/
Заголовок:

http
Authorization: Bearer <ACCESS_TOKEN>

Тело запроса

ПолеТипТребуетсяОписание
transactionIdstringНетУникальный идентификатор транзакции. Обязательно, если это оплата картой.
itemsarrayДаПеречень позиций, подлежащих включению в фискальный чек.
externalIdstringНетУникальный идентификатор фискального чека. Обязательно, если это оплата наличными.
phoneNumberstringНетТелефон клиента, осуществившего оплату. Формат: +998*******. Обязательно, если это оплата наличными.

Объект предмета (внутри items)

ПолеТипТребуетсяОписание
титулstringДаНазвание предмета.
priceintegerДаЦена товара (до скидок), выраженная в тиынах
discountintegerНетСкидка применяется к товару. Превысить цену нельзя.
countintegerДаКоличество товара. Должно быть не менее 1.
codestringДаУникальный код товара.
vat_percentintegerДаVAT процент, применимый к товару.
package_codestringДаКод типа упаковки.
pinflstringНетИндивидуальный номер налогоплательщика (должен состоять из 14 цифр, если указан).
tinstringНетИдентификационный номер налогоплательщика (должен состоять из 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"
  }
}
}

Описание ответа

ПолеТипОписание
receiptUrlstringURL к созданному фискальному чеку.
terminalIdstringТерминал ID, используемый для транзакции.
receiptIdintegerУникальный ID фискального чека.
fiscalSignstringФискальная подпись квитанции.

Реакции на ошибки

Код ошибкиОписание
receipt_not_available_for_operationТранзакция не подлежит формированию фискального чека.
field_requiredОтсутствует обязательное поле (например, items).
ofd_check_already_generatedТранзакция уже имеет фискальный чек.
invalid_amountОбщая стоимость товаров не соответствует сумме сделки.
ofd_errorВозникла проблема при обработке с помощью OFD.
fiscal_receipt_not_generatedФискальный чек не был успешно создан.