Суть проблемы:
Зарегистрированный Покупатель №1 делает заказ под номером 2354.
После завершения оформления заказа на почту Покупателя №1 приходит подтверждение создания заказа 2354, но в его личном кабинете на сайте заказ 2354 не отображается.
В адмипанели заказа 2354 тоже нет
Администартор получает письмо о том, что Покупатель №1 создал новый заказ с номером 2354
Через какое то время (около 30 - 40 минут) другой постоянный клиент Покупатель №2 делает заказ, которому присваивается тот же номер 2354.
Этот заказ появляется в личном кабинете Покупателя №2, отображается в админке и администартор получает письмо о том, что опять создан заказ под номером 2354, но теперь Покупателем №1.
В итоге в почтовом ящике Админа два письма с одним и тем же номероми заказа, в админпанели только один заказа (от Покупателя №2), а Покупатель №1 ждет, но не получает своего заказа.
В один день таких наложений новых заказов на старые было 4 раза с разными номерами.
Как понять причину такого поведения Cs-cart дабы на будущее соломки подложить. Куда копать, что проверять?
Чтобы полностью и наверняка разобраться в причинах такой проблемы, её нужно изучать в вашем магазине. Понадобятся доступы и возможно логи. Такими вещами занимается наша поддержка в Help Desk. Поэтому поставил баг-репорту “Недостаточно информации”.
Навскидку могу сказать, что в версии CS-Cart 4.17.1 мы поменяли логику размещения заказов, и подобных проблем должно стать меньше. Например, раньше была такая проблема:
Если покупатель оплатил заказ и вернулся на страницу оформления заказа с помощью навигационных кнопок браузера, он сможет оплатить заказ еще раз (в логах будет запись, что этот заказ удален и создан с таким же id).
А в версии 4.17.1 это решили тем, что теперь заказ создаётся уже в момент перехода к оплате. И если покупатель вернётся из платёжной системы на оформление заказа, то “неудачный” заказ останется в истории.
Добавление товара в корзину само по себе ещё не уменьшает количество товара в наличии. Это делает заказ. А заказ создаётся в тот момент, когда покупатель нажимает кнопку “Разместить заказ” на странице оформления заказа.
Дальше же всё зависит от статуса, в котором этот заказ окажется. Например, если оплата не удалась, то количество товара не уменьшается.