Appearance
Отмена заказа
Отмена может потребоваться в одном из следующих случаях:
- У клиента не хватило денег, чтобы оплатить заказ на кассе, или он просто отказался от оплаты.
- Заказ на сайте оформлен, но клиент так и не оплатил его.
- Клиент оплатил и получил заказ, но вернул его полностью.
Технически, заказ можно отменить после следующих действий:
- Заказ подтвержден через
checkout/confirm - Заказ оформлен через
checkout/apply
Отмена выполняет следующие операции:
- Заказ отмечается как отмененный (не имеет отношения к синхронизации статусов заказов).
- Возмещает потраченные бонусы, стикеры, купоны, промокоды и сертификаты. Списанные бонусы создаются заново с датой активации текущим днем, если не отключена настройка
Возвращать клиенту потраченные бонусы при отмене заказа. - Отменяет вознаграждения покупателя и реферера.
- Отменяет выданные купоны.
Важно
Не отменяйте заказ на этапе checkout/apply, если клиент, вероятно, решит его оплатить. Статус "отменен" финальный и повторно отправить apply с тем же номером заказа не получится. Если клиент просто меняет содержимое корзины, используйте повторный checkout/apply с тем же номером заказа.
Но не путайте с checkout/estimate: если клиент меняет корзину, но не переходит к оплате, используйте checkout/estimate. Метод checkout/apply применяйте только тогда, когда клиент зафиксировал корзину и перешел к оплате.
POST https://api.rees46.ru/loyalty/checkout/cancelПараметры
| Параметр | Обязателен? | Описание |
|---|---|---|
| shop_id | Да | API-ключ |
| shop_secret | Да | Секретный ключ API |
| order_id | Да | Номер заказа |
Запрос
Пример запроса:
shell
curl --header "Content-Type: application/json" \
--request POST \
--data-binary "@payload.json" \
https://api.rees46.ru/loyalty/checkout/cancelПример JSON-тела:
json
{
"shop_id": "...",
"shop_secret": "...",
"order_id": "..."
}Ответ
Пример ответа сервера:
json
{
"status": "success",
"payload": {
"order_id": "...",
"identifier": "..."
}
}Расшифровка ответа:
| Параметр | Описание |
|---|---|
| success | Запрос выполнен успешно или нет |
| payload.message | Сообщение с результатом обработки запроса |
| payload.order_id | Идентификатор заказа |
| payload.identifier | Идентификатор участника программы лояльности в формате 7XXXXXXXXXX |
В случае ошибки данных вернет подобную структуру:
json
{
"status": "error",
"payload": {
"message": "Could not cancel order in its current status"
}
}