Перейти к содержанию

Аннулирование чека

Метод аннулирования чека самозанятого.

URL

Метод: POST

  • Production: https://api.baas.kvell.group/v1/smz/receipts/{receipt_id}/cancel
  • Stage: https://api.baas.stage.kvell.group/v1/smz/receipts/{receipt_id}/cancel

Параметры запроса

Название Тип данных Обязательно Описание
receipt_id integer Да Уникальный идентификатор чека

Тело запроса

Тело запроса необязательное. Если его не передавать, чек аннулируется с причиной REGISTRATION_MISTAKE.

Название Тип данных Обязательно Описание
reason string Нет Причина аннулирования: REGISTRATION_MISTAKE — чек сформирован ошибочно, REFUND — возврат средств самозанятым
{
  "reason": "REFUND"
}

Причина передаётся в ФНС вместе с запросом на аннулирование, поэтому указывайте её по фактическому основанию.

Какие чеки можно аннулировать

Аннулировать можно чек в статусе:

  • ready — доход зарегистрирован в ФНС;
  • await_confirm — чек зарегистрирован и ожидает подтверждения самозанятым.

Чек в другом статусе аннулировать нельзя — вернётся ошибка 32.

Для чека в статусе await_confirm аннулирование становится доступно не сразу: первые минуты после формирования чека его идентификатор в системе регистрации доходов ещё не получен, и метод отвечает ошибкой 35. В этом случае повторите запрос позже.

Заголовки запроса

Название Тип данных Обязательно Описание
X-Api-Key string Да Уникальный идентификатор магазина
X-Signature string Да Подпись

Подпись X-Signature формируется конкатенацией X-Api-Key, receipt_id и secret_key. Формируется sha256 от полученной строки:

sha256({X-Api-Key}{receipt_id}{secret_key})

где secret_key - секретный ключ, который находится в настройках магазина мерчанта;

Причина аннулирования в подпись не входит: подпись формируется только по receipt_id, независимо от того, передано тело запроса или нет.

Ответ запроса

Пример ответа запроса можно посмотреть в методе получения информации о чеке самозанятого.

В успешном ответе чек возвращается в статусе canceling — аннулирование принято и передано в ФНС. Итоговый статус canceled проставляется позже, его можно получить методом получения чека или дождаться колбэка.

Ошибки

Код Сообщение Что означает
30 Чек не найден Чека с таким receipt_id нет либо он принадлежит другому магазину
32 Чек нельзя аннулировать Статус чека не ready и не await_confirm
35 Чек ещё нельзя аннулировать, попробуйте позже Чек в статусе await_confirm, его идентификатор в системе регистрации доходов пока не получен

Полное описание — в справочнике ошибок BAAS API.