Уже как неделю ломаю голову над этой проблемой...
Суть.. Первый заказ оформляется корректно со статусом "В обработке", а все последующие от того же человека в пределах одного дня формируются с нулевым статусом, т.е. "пропавшие заказы". Все это происходит в пределах одного дня, т.е. на следующий день тот же человек первый заказ оформит нормально. Чувство, будто что-то кешируется в браузере, а на следующий день кеш сбрасывается. Соответственно, можно открыть приватное окно или другой браузер и не ждать следующего дня
Я плохо разбираюсь в движке php и sql, так что не ругайтесь сильно и помогите, пожалуйста
Итак, посмотрев файлы я выяснил, что вся оплата происходит в пределах 3-х файлов (почти, но эти основные, как мне кажется):
/catalog/model/checkout/order.php
/catalog/controller/checkout/confirm.php
/catalog/controller/extension/payment/bank_transfer.php
Варианты оплаты bank_transfer.php cod.php и liqpay.php стоковые для opencart 3.0.2, при этом баг с liqpay.php не происходит, то есть все заказы приходят с нормальным статусом.
Для удобства содержимое файлов прилагаю:
/catalog/model/checkout/order.php
/catalog/controller/checkout/confirm.php
/catalog/controller/extension/payment/bank_transfer.php
Если я правильно понимаю, то при нажатии "оформить заказ" запускается confirm.php и создается заказ с $order_status_id = 0, далее заказ обрабатывается скриптом оплаты, например bank_transfer.php, в котором подгружается модель оплаты order.php из которой используется функция addOrderHistory, которая, полагаю и должна перезаписать нулевой статус на "payment_bank_transfer_order_status_id" (тот что в админке). И вот что со всем теперь этим делать я не знаю... Кеши чистил, в логах пусто, модули из бесплатной темы на templatemonster.
Вероятно, какие-то проблемы с сессией\куками, но там только currency, language, OCSESSID..
Буду благодарен хотя бы наводкам на файлы, в которых, можно искать проблему, потому что я уже и не знаю где искать и как это решить. Уже даже костыли сделал с уведомлениями о потерянных заказах и выборку из БД с order_status_id = 0 и последующей заменой на 7, чтоб глаза не мозолило. Да и ситуаций, когда покупатель решил в один день несколько разных заказов сделать должно быть не много, но меня все равно раздражает эта проблема, к тому же, еще и уведомления на почту клиенту о таких поломанных заказах не приходят.
П.С. Забыл добавить, что при заказе никаких ошибок нет, то есть далее success.php выводит сообщение об успешной покупке!