@magary4

Как поступить, если товар лежащий в корзине стал недоступен?

Юзер кладёт товар в корзину. Когда через час юзер решается на чекаут товар уже стал не доступен.
Также если товар стал недоступным например через 10 минут, то юзер продолжает видеть товар в корзине последующие 50 минут.
Как по уму это реализовано в серьезных проектах?
  • Вопрос задан
  • 153 просмотра
Решения вопроса 1
vesper-bot
@vesper-bot
Любитель файрволлов
Так и реализуют - "съели, пока вы тупили". И показывают ошибку при чекауте "данный товар уже недоступен", если есть информация, то можно указать, когда последнюю штуку заказали.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
webinar
@webinar
Учим yii: https://youtu.be/-WRMlGHLgRg
как по уму это реализовано в серьезных проектах?

Доступность товара проверяется перед оплатой. Кроме этого можно проверять еще и перед загрузкой страницы корзины. При добавлении в корзину остатки не списываются и ничего подобного не происходит. Относитесь к корзине, как к листу желаний и только. А вот оформление заказа - это уже другой разговор. Это уже намерение купить. Тут уже проверяем остатки, списываем остатки и т.д. Используем транзакции, для обеспечения целостности данных.
Ответ написан
Комментировать
sim3x
@sim3x
через час
для зарегистрированного пользователя могут и забронировать
Но не на час.
1-5 минут
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы