Описать проблему ↗

Оплата и оформление

Промокод не применяется или не меняет сумму заказа

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

Редакция «починимсайт» · Обновлено · 3 мин. чтения

Что происходит и с чего начать

Купон — это набор правил, а не просто слово, которое уменьшает любую сумму. Он может действовать на определённые товары, клиентов, даты и сочетания скидок. Поэтому сначала сравните ожидаемые условия акции с тем, что настроено в магазине. Если условия соблюдены, проверьте, на каком шаге пропадает результат: после применения, пересчёта доставки или сохранения заказа. Это позволяет отделить ошибку настройки акции от расхождения между видимой суммой и серверным расчётом покупки.

Что можно проверить самостоятельно

  1. Запишите код купона, состав корзины и ожидаемый результат. Сравните настройки срока действия, минимальной суммы, товаров и ограничений по пользователю с условиями опубликованной акции.
  2. Проверьте ту же корзину гостем и тестовым зарегистрированным покупателем, если акция допускает оба варианта. Уточните, не использован ли купон ранее этим аккаунтом.
  3. Сверьте сумму сразу после применения, после выбора доставки и в итоговом заказе. Отметьте шаг, на котором скидка исчезает либо применяется повторно.

Как понять результаты проверки

Если отказ возникает только на определённых товарах, вероятно, нужно разбирать область действия акции. Если сумма расходится между экранами, исследуют пересчёт и сохранение заказа. Окончательная цена не должна зависеть только от изменения цифры в браузере: сервер проверяет условия самостоятельно. Это также защищает магазин от произвольной подмены суммы. При диагностике важно учитывать другие скидочные расширения — два корректных по отдельности правила могут давать неожиданный результат при совместном применении к одной корзине.

Что проверяет разработчик

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

  1. Сверьте срок действия и часовой пояс, минимальную сумму, допустимые товары и ограничения по пользователю. Уточните, учитывается ли уже действующая скидка.
  2. Проверьте совместимость с другими акциями, лимит использования и правила для гостя. Один и тот же купон может законно давать разные результаты в разных корзинах.
  3. Сравните сумму до применения, после пересчёта и в сохранённом заказе. Если интерфейс и сервер расходятся, исследуйте запрос пересчёта и кеширование.

На что обратить внимание

Правила скидок могут исключать акционные товары или применяться только к части корзины. При доработках checkout встречается другая ошибка: визуальная скидка отображается, но серверный расчёт заказа её не использует.

Как исправляют причину

Исправьте конфликт условий или подключение серверного пересчёта. Не вычисляйте окончательную скидку только в JavaScript: сумма оплаты должна опираться на проверенный сервером заказ.

Как убедиться, что проблема решена

Пройдите покупку с подходящей и неподходящей корзиной. Повторите применение купона и обновление страницы: скидка не должна суммироваться сама с собой или исчезать перед оплатой.

Попросите показать подходящую и неподходящую корзину с объяснением разницы. Затем обновите страницу, удалите купон и примените снова: скидка не должна накапливаться сама с собой. Перед контрольной оплатой сверьте сумму магазина и платёжной формы. Если акция имеет срок или лимит, согласуйте проверку этих границ, а не только один успешный ввод кода.