Fiscalization of Receipts
OCTO's Payment System (PC) provides receipt fiscalization services for shops.
Registration of Fiscal Data
The merchant must pre-register fiscal data in the OCTO database.
The registration sequence is as follows:
- The merchant provides the personal banking manager with product information:
- Full name of the store.
- Merchant's TIN or PINFL(inn или pinfl).
- Package code(package_code).
- SPIC code(spic).
- Information on whether the product includes VAT(nds).
The banking manager enters the product data into the OCTO database
After the data is entered, the merchant can send the registered data in the basket parameter of the
prepare_payment
method.
Note:
If the merchant sends data in the basket parameter that has not been entered into the database, the response will return an error like the following:
{
"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. Для более подробного ознакомление свяжитесь с технической поддержкой сервиса"
}
Providing Email or Phone Number
When initiating a payment (/prepare_payment
), the Partner must include one of the following elements in the user_data
parameter:
- Email: To send a receipt containing a link to the fiscal receipt registered with the State Tax Committee.
- Phone Number: To register the fiscal receipt with the State Tax Committee under the provided number.
Changes in the fiscalization process starting from 01.08.2025:
The OCTO technical team has made changes to the fiscalization process using the prepare_payment method to improve user convenience and to comply with the regulatory requirements of the State Tax Committee (STC).
- For legal entities, it will be changed to the following:
{
"position_desc": "Salted or brackish water fish",
"count": 1,
"price": 100.0,
"spic": "00305001001000000",
"inn": "123456",
"package_code": "1425207",
"nds": 1
}
- For individual entrepreneurs(private persons), it will be changed to the following:
{
"position_desc": "Salted or brackish water fish",
"count": 1,
"price": 100.0,
"spic": "00305001001000000",
"pinfl": "123451246",
"package_code": "1425207",
"nds": 1
}
Note:
The changes do not affect merchants who provide services for a single type of product. These merchants, as before, are not required to send the basket parameter. The Octo system will use the active products added by the merchant’s manager via the personal account. The system will select the first active product and send its data for fiscalization.
Method for Retrieving Fiscal Receipt Data /fiscal-data
- URL:
https://secure.octo.uz/fiscal-data
- Method:
POST
- Content-type:
application/json
Request Example
{
"octo_shop_id": 10000,
"octo_secret": "2d45df74-bb95-47cf-a616-8d6dcee2e10d",
"payment_uuid": "1145df74-bb95-47cf-a616-8d6dcee2e222"
}
Request Parameters
Parameter | Type | Required | Description |
---|---|---|---|
octo_shop_id | Integer | Yes | The shop's unique ID, available in the shop's Personal Account. |
octo_secret | String | Yes | The shop's personal secret key, generated in the shop's Personal Account. |
payment_uuid | String | Yes | The unique payment ID, generated by the OCTO system. |
Successful Response Example
{
"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"
}
}
Successful Response Parameters
Parameter | Type | Required | Description |
---|---|---|---|
error | Integer | Yes | Error code. |
errMessage | String | No | Error message, if any. |
data | Object | No | Main transaction data. |
phone | String | Yes | User’s phone number. |
code | Integer | Yes | Confirmation code for the operation. |
message | String | Yes | Status message of the operation. |
terminalID | String | Yes | ID of the terminal where the operation was performed. |
receiptId | Integer | Yes | Receipt ID for the operation. |
dateTime | String | Yes | Date and time of the operation in YYYYMMDDHHMMSS format. |
fiscalSign | String | Yes | Fiscal sign of the document. |
qrCodeURL | String | Yes | URL for accessing the QR code of the receipt. |
Unsuccessful Response Example
{
"error": 1,
"errMessage": "wrong secret",
"data": null
}
Unsuccessful Response Parameters
Parameter | Type | Required | Description |
---|---|---|---|
error | Integer | Yes | Error code. |
errMessage | String | Yes | Error message. |
data | Object | No | Main transaction data, if available. |
Note
Ensure the octo_secret
is securely stored and inaccessible on the shop’s website to avoid misuse. For additional details or troubleshooting, contact technical support.