Receipt.ValidateSale

Проверка чека продажи на валидность.
Проверяет значения обязательных полей чека на соответствие требованиям законодательства. Рекомендуется использовать данный метод перед продажей (Receipt.Sale).

Входные параметры

Название Тип данных Обязательность Описание параметра
receipt Receipt object Обязательный Объект чека продажи
ignore_payments bool Необязательный Игнорировать проверку платежей: true - не проверять, false - проверять. По умолчанию - true
code string Необязательный Номер чека в системе клиента. Происходит проверка на наличие данного кода в базе VCR. Проверка может быть отключена в настройках VCR - Контроль уникальности по коду чека из внешней системы

Пример запроса

{
    "id": 1,
    "method": "Receipt.ValidateSale",
    "params": {
        "receipt": {
            "code": "res-43534",
            "positions": [
                {
                    "amount": 9000,
                    "articul": "5449000000996",
                    "barcode": "5449000000996",
                    "discount": 0,
                    "name": "Heinz Яблоко",
                    "quantity": 1000,
                    "vat_value": 1200,
                    "icps": "02004001004002007",
                    "owner_type": "BuyingAndSelling"
                }
            ],
            "payments": [
                {
                    "type": 1,
                    "value": 9000
                }
            ]
        },
        "ignore_payments": false
    },
    "auth": "a2Fzc2E6a2FzNjU0MzIx",
    "jsonrpc": "2.0"
}

Выходные параметры

Название Тип данных Описание параметра
validate bool true - чек валидный
error int Код ошибки
description string Описание ошибки

Пример ответа: валидный чек

{
    "id": 1,
    "ok": true,
    "result": {
        "validate": true
    },
    "jsonrpc": "2.0"
}

Примеры ответов: ошибки

{
    "id": 1,
    "ok": false,
    "result": {
        "error": 701003,
        "description": "Некорректные входные данные (Cумма оплат меньше суммы позиций)"
    },
    "jsonrpc": "2.0"
}

{
  "id": 1,
  "ok": false,
  "result": {
    "error": 701003,
    "description": "Некорректные входные данные (Расхождение суммы позиций с оплатой больше 50 сум)"
  },
  "jsonrpc": "2.0"
}

{
  "id": 1,
  "ok": false,
  "result": {
    "error": 701003,
    "description": "Некорректные входные данные (params.Receipt.positions.amount < 0)"
  },
  "jsonrpc": "2.0"
}

{
  "id": 1,
  "ok": false,
  "result": {
    "error": 701003,
    "description": "Некорректные входные данные (params.Receipt.positions.barcode is null)"
  },
  "jsonrpc": "2.0"
}

{
  "id": 1,
  "ok": false,
  "result": {
    "error": 701003,
    "description": "Некорректные входные данные (params.Receipt.positions.discount < 0)"
  },
  "jsonrpc": "2.0"
}

{
  "id": 1,
  "ok": false,
  "result": {
    "error": 705511,
    "description": "Ошибка проверки ИКПУ.  ИКПУ не прошедшие проверку: [13923001002000000 ];"
  },
  "jsonrpc": "2.0"
}

{
  "id": 1,
  "ok": false,
  "result": {
    "error": 701003,
    "description": "Некорректные входные данные (params.Receipt.positions.icps is null)"
  },
  "jsonrpc": "2.0"
}

{
  "id": 1,
  "ok": false,
  "result": {
    "error": 701003,
    "description": "Некорректные входные данные (params.Receipt.positions.name is null)"
  },
  "jsonrpc": "2.0"
}

{
  "id": 1,
  "ok": false,
  "result": {
    "error": 703000,
    "description": "Неверный формат запроса"
  },
  "jsonrpc": "2.0"
}

{
  "id": 1,
  "ok": false,
  "result": {
    "error": 701003,
    "description": "Некорректные входные данные (params.Receipt.positions.quantity <= 0)"
  },
  "jsonrpc": "2.0"
}

{
  "id": 1,
  "ok": false,
  "result": {
    "error": 701003,
    "description": "Некорректные входные данные (Ставка НДС не найдена)"
  },
  "jsonrpc": "2.0"
}

{
  "id": 1,
  "ok": false,
  "result": {
    "error": 701003,
    "description": "Некорректные входные данные (Ставка НДС в 15% не действует с 01.01.2023)"
  },
  "jsonrpc": "2.0"
}