Фискализация чеков
Платежная система (ПС) OCTO предоставляет услугу фискализации чеков для магазинов.
Регистрация фискальных данных
Мерчанту необходимо предварительно зарегистрировать фискальные данные в базе данных OCTO.
Последовательность регистрации следующая:
- Мерчант предоставляет персональному банковскому менеджеру информацию по товару:
- Полное название магазина.
- ИНН/PINFL мерчанта(inn или pinfl).
- Код упаковки(package_code).
- Код ИКПУ(spic).
- Информация о наличии НДС на товар(nds).
Банковский менеджер вносит данные по товару в базу данных OCTO.
После внесения данных в базу, мерчант может отправлять внесенные данные в параметре basket метода
prepare_payment
.
Примечание:
Если мерчант будет отправлять в параметре basket данные, не внесённые в базу данных, то в ответ он получит ошибку следующего вида:
{
"error": 403,
"errMessage": "Fiscal object with merchant ID 242 spic : 00305001001000000 package code : 1425207 nds : 1 inn : 123456 pinfl : null not contains in system",
"data": null,
"errorMessage": "Fiscal object with merchant ID 242 spic : 00305001001000000 package code : 1425207 nds : 1 inn : 123456 pinfl : null not contains in system",
"apiMessageForDevelopers": "Поле errorMessage устарело, просим перейти на errMessage для унификации ответов. Так же пожалуйста знайте, что в дальнейшем все поля кроме error и errMessage будут передаваться в data. Для более подробного ознакомление свяжитесь с технической поддержкой сервиса"
}
Указание email или телефона
При инициации платежа (/prepare_payment
) Партнёр обязан передать в параметре user_data
один из следующих элементов:
- Email: Для отправки чека с ссылкой на фискальный чек, зарегистрированный в ГНК.
- Номер телефона: Для регистрации фискального чека на данный номер в ГНК.
Изменения в процессе фискализации с 01.08.2025
Техническая команда OCTO внесла изменения в процесс фискализации по методу prepare_payment в целях повышения удобства использования и в соответствии с нормативными требованиями Государственного налогового комитета (ГНК).
- для юридических лиц изменен на следующий:
{
"position_desc": "Solyonaya ili solonovataya ryba",
"count": 1,
"price": 100.0,
"spic": "00305001001000000",
"inn": "123456",
"package_code": "1425207",
"nds": 1
}
- для ИП(физических лиц) изменен на следующий:
{
"position_desc": "Solyonaya ili solonovataya ryba",
"count": 1,
"price": 100.0,
"spic": "00305001001000000",
"pinfl": "123451246",
"package_code": "1425207",
"nds": 1
}
Примечание:
Изменения не затрагивают мерчантов оказывающих услуги по одному виду товара. Для данных мерчантов как и ранее нет необходимости отправлять параметр basket. Система Octo будет использовать активные товара добавленные, с помощью личного кабинета, менеджером мерчанта. Система выберет первый из активных товаров и отправит данные на фискализацию по данному товару.
Метод получение данных фискального чека /fiscal-data
- URL:
https://secure.octo.uz/fiscal-data
- Method:
POST
- Content-type:
application/json
Пример запроса
{
"octo_shop_id": 10000,
"octo_secret": "2d45df74-bb95-47cf-a616-8d6dcee2e10d",
"payment_uuid": "1145df74-bb95-47cf-a616-8d6dcee2e222"
}
Параметры запроса
Параметр | Тип | Обязательность | Описание |
---|---|---|---|
octo_shop_id | Integer | Да | Уникальный ID магазина (доступен в личном кабинете магазина). |
octo_secret | String | Да | Персональный секретный ключ магазина. |
payment_uuid | String | Да | Уникальный идентификатор платежа, созданный системой OCTO. |
Пример успешного ответа
{
"error": 0,
"errMessage": "",
"data": {
"phone": "998781290011",
"code": 0,
"message": "accepted",
"terminalID": "EZ000000000102",
"receiptId": 2121,
"dateTime": "20220929013159",
"fiscalSign": "420808230750",
"qrCodeURL": "https://ofd.soliq.uz/epi?t=EZ000000000102&r=2121&c=20220929013159&s=420808230750"
}
}
Параметры успешного ответа
Параметр | Тип | Обязательность | Описание |
---|---|---|---|
error | Integer | Да | Код ошибки. |
errMessage | String | Да | Сообщение об ошибке. |
data | Object | Нет | Основные данные транзакции. |
phone | String | Да | Номер телефона пользователя. |
code | Integer | Да | Код подтверждения операции. |
message | String | Да | Сообщение о статусе операции. |
terminalID | String | Да | Идентификатор терминала, на котором была проведена операция. |
receiptId | Integer | Да | Идентификатор чека для операции. |
dateTime | String | Да | Дата и время операции в формате YYYYMMDDHHMMSS . |
fiscalSign | String | Да | Фискальный признак документа. |
qrCodeURL | String | Да | URL для доступа к QR-коду чека. |
Пример неуспешного ответа
{
"error": 1,
"errMessage": "wrong secret",
"data": null
}