Деактивировать заказ

Деактивирует заказ и QR-код.

Если заказ деактивирован, метод ничего не делает и возвращает успешный ответ 200 OK.

Если заказ уже оплачен, возвращает 400 Bad Request с ошибкой ORDER_ALREADY_CAPTURED. В таком случае проведите возврат методом /orders/{orderId}/refund.

Если в ответе статус 5XX, повторите запрос.

Совет

Пошаговые инструкции см. в разделе Самостоятельная интеграция.

Скачайте OpenAPI-спецификацию в разделе Specification.

Аутентификация запросов

В каждом запросе передавайте в HTTP-заголовки:

YandexPayApiKey

Заголовок: Authorization: Api-Key <ключ>.

Выпустите его личном кабинете по инструкции.

SoftwareAuthorization

Заголовок: Software-Authorization: <ключ>.

Токен кассового ПО. Получите его в личном кабинете или у менеджера интеграции.

Если в запросе отсутствуют или переданы недействительные токены, сервер вернет статус 401 Unauthorized.

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

curl https://pay.yandex.ru/api/merchant/cash-register/v1/accounts \
  --header 'Authorization: Api-Key <YandexPayApiKey>' \
  --header 'Software-Authorization: <SoftwareAuthorization>' \

Request

PUT

https://sandbox.pay.yandex.ru/api/merchant/cash-register/v1/orders/{orderId}/deactivate

Sandbox

PUT

https://pay.yandex.ru/api/merchant/cash-register/v1/orders/{orderId}/deactivate

Production

Path parameters

Name

Description

orderId

Type: string

Уникальный идентификатор заказа на стороне продавца. Должен совпадать с orderId, который вы передали в метод /orders или /orders/dynamic.

Max length: 45

Example: ``

Body

application/json
{
  "externalOperationId": "0196578f-82e8-79a8-be85-53a78df70f79"
}

Name

Description

externalOperationId

Type: string

Уникальный идентификатор операции на стороне продавца.

Max length: 45

Example: 0196578f-82e8-79a8-be85-53a78df70f79

Responses

200 OK

Заказ успешно деактивирован.

Body

application/json
{}

Type: object

400 Bad Request

Ошибка валидации или бизнес-логики.

Body

application/json
{
  "status": "fail",
  "reason": "Invalid cart item parameter: total = 200.5004",
  "reasonCode": "VALIDATION_ERROR"
}
All of 2 types
  • Type: Error

    Example
    {
      "status": "fail",
      "reason": "example"
    }
    
  • Type: object

    reasonCode

    Type: BadRequestErrorReasonCode

    Код ошибки:

    • VALIDATION_ERROR — Ошибка валидации. Тело или параметры запроса не соответствуют спецификации.
    • QRC_ID_NOT_FOUND — QR-код не найден, QR-табличка не привязана к продавцу.
    • ORDER_COLLISION — Заказ с таким идентификатором уже существует, при этом его параметры отличаются от указанных в запросе.
    • ORDER_NOT_FOUND — Заказ не найден.
    • ORDER_ALREADY_CAPTURED — Заказ уже оплачен.
    • ORDER_NOT_CAPTURED — Заказ не оплачен.
    • ORDER_REFUND_COLLISION — Операция возврата заказа уже существует, при этом ее параметры отличаются от указанных в запросе.
    • ORDER_REFUND_WITHOUT_CART_FOR_PARTIAL_REFUND — Запрос на частичный возврат без указания корзины. Для проведения частичного возврата заполните поле refundCart.
    • ORDERUPDATE_UNKNOWN_ITEM_PRODUCT_IDproductId отсутствует в корзине заказа.
    • ORDERUPDATE_DUPLICATE_ITEM_PRODUCT_IDproductId должен быть уникальным.
    • ORDERUPDATE_INVALID_ITEM_PRICE_WITH_QUANTITY — Некорректная комбинация цены и количества единиц товара для возврата.
    • ORDERUPDATE_INVALID_ITEM_PRICE_RANGE — Неверно задана цена за единицу товара для возврата.
    • ORDERUPDATE_INVALID_ITEM_QUANTITY — Неверно задано количество единиц товара для возврата.
    • ANOTHER_REFUND_IN_PROGRESS — Другой возврат уже в процессе, дождитесь его завершения.

    Список кодов ошибок открытый и будет дополняться, необходимо уметь обрабатывать неизвестные коды ошибок.

    Enum: VALIDATION_ERROR, QRC_ID_NOT_FOUND, ORDER_COLLISION, ORDER_NOT_FOUND, ORDER_ALREADY_CAPTURED, ORDER_NOT_CAPTURED, ORDER_REFUND_COLLISION, ORDER_REFUND_WITHOUT_CART_FOR_PARTIAL_REFUND, ORDERUPDATE_UNKNOWN_ITEM_PRODUCT_ID, ORDERUPDATE_DUPLICATE_ITEM_PRODUCT_ID, ORDERUPDATE_INVALID_ITEM_PRICE_RANGE, ORDERUPDATE_INVALID_ITEM_PRICE_WITH_QUANTITY, ORDERUPDATE_INVALID_ITEM_QUANTITY, ANOTHER_REFUND_IN_PROGRESS

    reason

    Type: string

    Example: Invalid cart item parameter: total = 200.5004

    Example
    {
      "reasonCode": "VALIDATION_ERROR",
      "reason": "Invalid cart item parameter: total = 200.5004"
    }
    

Error

Name

Description

reason

Type: string

Описание ошибки.

Example: example

status

Type: string

Default: fail

Const: fail

Example
{
  "status": "fail",
  "reason": "example"
}

BadRequestErrorReasonCode

Код ошибки:

  • VALIDATION_ERROR — Ошибка валидации. Тело или параметры запроса не соответствуют спецификации.
  • QRC_ID_NOT_FOUND — QR-код не найден, QR-табличка не привязана к продавцу.
  • ORDER_COLLISION — Заказ с таким идентификатором уже существует, при этом его параметры отличаются от указанных в запросе.
  • ORDER_NOT_FOUND — Заказ не найден.
  • ORDER_ALREADY_CAPTURED — Заказ уже оплачен.
  • ORDER_NOT_CAPTURED — Заказ не оплачен.
  • ORDER_REFUND_COLLISION — Операция возврата заказа уже существует, при этом ее параметры отличаются от указанных в запросе.
  • ORDER_REFUND_WITHOUT_CART_FOR_PARTIAL_REFUND — Запрос на частичный возврат без указания корзины. Для проведения частичного возврата заполните поле refundCart.
  • ORDERUPDATE_UNKNOWN_ITEM_PRODUCT_IDproductId отсутствует в корзине заказа.
  • ORDERUPDATE_DUPLICATE_ITEM_PRODUCT_IDproductId должен быть уникальным.
  • ORDERUPDATE_INVALID_ITEM_PRICE_WITH_QUANTITY — Некорректная комбинация цены и количества единиц товара для возврата.
  • ORDERUPDATE_INVALID_ITEM_PRICE_RANGE — Неверно задана цена за единицу товара для возврата.
  • ORDERUPDATE_INVALID_ITEM_QUANTITY — Неверно задано количество единиц товара для возврата.
  • ANOTHER_REFUND_IN_PROGRESS — Другой возврат уже в процессе, дождитесь его завершения.

Список кодов ошибок открытый и будет дополняться, необходимо уметь обрабатывать неизвестные коды ошибок.

Type: string

Enum: VALIDATION_ERROR, QRC_ID_NOT_FOUND, ORDER_COLLISION, ORDER_NOT_FOUND, ORDER_ALREADY_CAPTURED, ORDER_NOT_CAPTURED, ORDER_REFUND_COLLISION, ORDER_REFUND_WITHOUT_CART_FOR_PARTIAL_REFUND, ORDERUPDATE_UNKNOWN_ITEM_PRODUCT_ID, ORDERUPDATE_DUPLICATE_ITEM_PRODUCT_ID, ORDERUPDATE_INVALID_ITEM_PRICE_RANGE, ORDERUPDATE_INVALID_ITEM_PRICE_WITH_QUANTITY, ORDERUPDATE_INVALID_ITEM_QUANTITY, ANOTHER_REFUND_IN_PROGRESS

401 Unauthorized

Ошибка авторизации.

Body

application/json
{
  "status": "fail",
  "reason": "Authorization header is missing",
  "reasonCode": "AUTHENTICATION_ERROR"
}
All of 2 types
  • Type: Error

    Example
    {
      "status": "fail",
      "reason": "example"
    }
    
  • Type: object

    reasonCode

    Type: UnauthorizedErrorReasonCode

    Код ошибки:

    • AUTHENTICATION_ERROR — Ошибка авторизации. Повторно получите API-ключ.

    Список кодов ошибок открытый и будет дополняться, необходимо уметь обрабатывать неизвестные коды ошибок.

    Enum: AUTHENTICATION_ERROR

    reason

    Type: string

    Example: Authorization header is missing

    Example
    {
      "reasonCode": "AUTHENTICATION_ERROR",
      "reason": "Authorization header is missing"
    }
    

UnauthorizedErrorReasonCode

Код ошибки:

  • AUTHENTICATION_ERROR — Ошибка авторизации. Повторно получите API-ключ.

Список кодов ошибок открытый и будет дополняться, необходимо уметь обрабатывать неизвестные коды ошибок.

Type: string

Const: AUTHENTICATION_ERROR

Example: AUTHENTICATION_ERROR

429 Too Many Requests

Слишком много запросов, повторите запрос позже.

Если ошибка сохраняется при разумном использовании API, обратитесь в поддержку.

500 Internal Server Error

Внутренняя ошибка сервера. Тело ответа может отсутствовать или иметь произвольный формат.

При получении статуса 5XX, повторите запрос.