Пропавшие заказы opencart 3

Ошибки при использовании модулей, установке и использовании опенкарта
oldpapa69
Сообщения: 4
Зарегистрирован: 29.03.2022
Поблагодарил: 4 раз

Пропавшие заказы opencart 3

Непрочитанное сообщение oldpapa69 »

Всем доброго дня!
Подскажите, пожалуйста,
В Опенкарт 3 каждый день есть 2-3 заказа со статусом пропавший/потерянный. Там, к примеру, оказались заказы, письмо об оформлении котором уже пришло на почту. И другие, я так понимаю, что недооформленые какие-то.
Вопрос: Можно ли как-то отличать заказы, которые были недоофрмлены от тех, что были оформлены с какой-то ошибкой в процессе?
Как обычно работают с потерянными заказами в опенкарт? Звонить клиенту и спрашивать?
Спасибо всем за участие

Стоят модули filterit, Simple, CartKeeper.
Аватара пользователя
AlexDW
Разработчик дополнений
Сообщения: 192
Зарегистрирован: 13.03.2022
Откуда: Екатеринбург
Мои дополнения: alexdw
Поблагодарил: 39 раз
Спасибо: 69 раз

Re: Пропавшие заказы opencart 3

Непрочитанное сообщение AlexDW »

стандартно в Opencart заказ попадает в БД на последнем этапе, на странице финального подтверждения клиента
при этом у него нулевой статус (пропавший/потерянный)
после подтверждения статус заказа меняется на нужный и отправляются письма о заказе

если перед последним подтверждением клиент возвращается обратно - например посмотреть варианты доставки / оплаты и тд - заказ так и висит в базе с нулевым статусом
а при переходе на финал - создается по новой (см.выше) но уже с другим номером

если же пришло письмо о заказе, а сам он числится в потерянных - искать причину в способах оплаты
обычно после подтверждения оплаты платежная система должна вернуть код успешной оплаты и соответственно изменить статус заказа
Fortoo
Сообщения: 1
Зарегистрирован: 02.11.2022

Re: Пропавшие заказы opencart 3

Непрочитанное сообщение Fortoo »

Кстати Да, если оплату НЕ нужно принимать на сайте, то лучше использовать метод оплаты "Банковский перевод", этот метод НЕ запускает скрипт "перехода к оплате".

В фильтре отчета "Продажи-Заказы" добавили новую опцию "потерянные заказы".
Если я не ошибаюсь то в старых версиях ОС, этой опции раньше не было, и приходилось эти так называемые "потерянные заказы" искать только в базе через запрос: "SELECT * FROM `oc_order` WHERE order_status_id = 0". Это в принципе тот же самый запрос который выполняет отчет "Продажи-Заказы" при выборе статуса "потерянные заказы" в фильтре.

Как я уже сказал, "потерянные заказы" это заказы без статуса. То есть их статус это 0.

Когда происходит подтверждение заказа клиентом (это когда клиент уже нажимает кнопку подтвердить заказ), система запускает скрипт controller/checkout/confirm.php.
Этот скрипт создаёт запись в базе на заказ клиента со статусом 0. (то-есть на данный момент у этого заказа нет статуса, но он уже содержит имя клиента, адрес, сумму, продукты итд...)

Затем запускается скрипт который отвечает за перевод денежных средств.

Какой скрипт оплаты запустится системой ОС зависит от того какой тип оплаты был выбран клиентом при заказе. Эти скрипты хранятся в controller/payment/*.php.

Когда скрипт получает сообщение о переводе денежных средств от системы оплаты (например PayPal или SagePay) то находит недавно созданную запись заказа в базе (без статуса) и даёт статус заказу в зависимости от полученного сообщения.
Сообщение о переводе от системы оплаты может быть разное, например Отказано, Не удалось, в ожидании, Завершено, и тд.

Вот так вот выглядит скрипт оплаты через PayPal.
Изображение 
Я подозреваю что периодически происходит какой-то сбой в скрипте оплаты. То есть возможно периодически он НЕ получает какое либо подтверждение от системы оплаты (даже если это метод "Оплата при доставке"), и в связи с этим не может дать статус заказу. Таким образом этот заказ остаётся без статусным (утерянным) для систему ОС. В таком случае скрипт даже не будет выдавать ошибку (но это уже зависит от того как он был написан). В принципе email клиенту тоже будет отправлен, что заказ был осуществлён.

Какую систему оплаты используют ваши клиенты? Нужно посмотреть, что скрипт делает в случае если он НЕ получает сообщение от системы оплаты.
https://forum.opencart.com/viewtopic.php?t=126001
Ответить