Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Статус заказов "Пропавшие заказы"


Recommended Posts

Приветствую, форумчане!

 

Очень надеюсь на вашу помощь. Столкнулся с проблемой. Заказы приходят со статусом "Пропавшие заказы". И при этом, если "нырнуть" в заказ, то там будет отображаться статус "Завершен".

Объясню ситуацию. Ставил модуль оплаты картой PayKeeper, и он (модуль) должен был менять статус заказа после оплаты на "Оплачен", но этого не происходило. Я поковырялся в настройках движка, удалил лишние статусы. После этого все заказы приходят "Пропавшими". Я погуглил всю эту тему в интернете - у всех просто не видно такие заказы. У меня они видны, но косяк со статусом. Теперь чтобы я не менял в настройках, что касается статусов, ничего не помогает. Также пробовал выключать модули Simple, PayKeeper. Ума не приложу куда копать...

Надіслати
Поділитися на інших сайтах


6 минут назад, ashap сказал:

вы еще не делаете бэкапы?)

может у хостера есть

Да тут не в бэкапе дело))) Коль такая проблема возникла сейчас, она может и возникнуть потом. Соответственно, зло надо искоренить)

Надіслати
Поділитися на інших сайтах


7 минут назад, sano4kin сказал:

Да тут не в бэкапе дело))) Коль такая проблема возникла сейчас, она может и возникнуть потом. Соответственно, зло надо искоренить)

У вас в статусах есть статус "Пропавший заказ"?  Такого статуса нет, при фильтре по такому статусу просто выводятся заказы со статусом = 0

Надіслати
Поділитися на інших сайтах

20 минут назад, bogdan281989 сказал:

У вас в статусах есть статус "Пропавший заказ"?  Такого статуса нет, при фильтре по такому статусу просто выводятся заказы со статусом = 0

Скрин приложил. Посмотрите.

Да, по факту такого статуса нет. Но тем не менее он отображается.

Безымянный1.png

Надіслати
Поділитися на інших сайтах


21 минуту назад, ashap сказал:

смотрите id статуса в базе какой , таблица order

Сейчас висят 3 заказа. У всех ID 1

Безымянный2.png

Надіслати
Поділитися на інших сайтах


Только что, sano4kin сказал:

Сейчас висят 3 заказа. У всех ID 1

Безымянный2.png

ну так это нормальный статус

зайдите в локализация - статусы заказов и переменуйте там пропавшие заказы в чтото нормальное (это не пропавший заказ)

Надіслати
Поділитися на інших сайтах

4 минуты назад, ashap сказал:

ну так это нормальный статус

зайдите в локализация - статусы заказов и переменуйте там пропавшие заказы в чтото нормальное (это не пропавший заказ)

В том-то и дело что такого статуса нет =) "Пропавшие заказы" отображаются только в списке заказов.

Ниже видны все мои статусы.

Безымянный3.png

Надіслати
Поділитися на інших сайтах


Только что, ashap сказал:

а говорите дело не в бэкапе

тут точно ктото чтото наковырял)

Кроме меня некому ковырять. А я ничего криминального не делал. =)

Надіслати
Поділитися на інших сайтах


смотрите в модуле оплаты может какой статус выставлен которого уже нет, выставите корректный и сохраните настройки, проверьте работу на стандартном модуле оплаты типа оплата при доставке

может модификаторы какие вносят правки, поотключайте их, проверяйте

Надіслати
Поділитися на інших сайтах

если ничего не ковыряли криминального и модификаторов которые изменяют работу статусов нет

то точно в оплате статус сохранен которого нет или он сам посдтавляет статус id 1 никого не справшивая , которого у вас в системе уже нет, так как вы поудаляли статусы, проверьте на нормально работающем методе оплаты из коробки ОПЛАТА ПРИ ДОСТАВКЕ

Надіслати
Поділитися на інших сайтах

28 минут назад, ashap сказал:

смотрите в модуле оплаты может какой статус выставлен которого уже нет, выставите корректный и сохраните настройки, проверьте работу на стандартном модуле оплаты типа оплата при доставке

может модификаторы какие вносят правки, поотключайте их, проверяйте

Модификаторы я уже отключал. Не в них дело.

Надіслати
Поділитися на інших сайтах


24 минуты назад, ashap сказал:

если ничего не ковыряли криминального и модификаторов которые изменяют работу статусов нет

то точно в оплате статус сохранен которого нет или он сам посдтавляет статус id 1 никого не справшивая , которого у вас в системе уже нет, так как вы поудаляли статусы, проверьте на нормально работающем методе оплаты из коробки ОПЛАТА ПРИ ДОСТАВКЕ

Протестировал на "Оплата при доставке". Заказ поступил со статусом "Завершен"... Интересно...

Надіслати
Поділитися на інших сайтах


Разобрался в чем был прикол. Заказам присваивался статус с ID 1, а у меня не было статуса с таким ID. В итоге я прямо в БД у статусов изменил ID с 1 по возрастанию. Но всё равно все заказы приходят с одним и тем же статусом (ID 1)...

  • +1 1
Надіслати
Поділитися на інших сайтах


2 минуты назад, sano4kin сказал:

Разобрался в чем был прикол. Заказам присваивался статус с ID 1, а у меня не было статуса с таким ID. В итоге я прямо в БД у статусов изменил ID с 1 по возрастанию. Но всё равно все заказы приходят с одним и тем же статусом (ID 1)...

вы сообщение читали выше?

Цитата

то точно в оплате статус сохранен которого нет или он сам посдтавляет статус id 1 никого не справшивая

 

Надіслати
Поділитися на інших сайтах

5 часов назад, ashap сказал:

вы сообщение читали выше?

 

Читал, но не сразу вчитался. Как я понял, надо выяснить кто или что все время ставит единицу в статус...

Надіслати
Поділитися на інших сайтах


  • 2 weeks later...

Добрый день! Присоединяюсь к автору, сейчас данная проблема появляется при выборе самовывоза, в настройке статусов заказов ничего нет, там просто можно переименовывать поля, в плагине самовывоза также нет ничего. В опциях также по идее все настроено. Ощущение, что нужно код подправить, подскажите, как исправить проблему?

 

Screenshot_1.png

Надіслати
Поділитися на інших сайтах


13 часов назад, Artem9223 сказал:

Добрый день! Присоединяюсь к автору, сейчас данная проблема появляется при выборе самовывоза, в настройке статусов заказов ничего нет, там просто можно переименовывать поля, в плагине самовывоза также нет ничего. В опциях также по идее все настроено. Ощущение, что нужно код подправить, подскажите, как исправить проблему?

 

Screenshot_1.png

Приветствую! У меня проблема решена. Модуль оплаты (который срабатывает самым последним при оформлении заказа) прописывал свой (заранее выставленный в настройках модуля) ID статуса в БД после оформления заказа. В моем случае это был модуль Filterit. В Вашем - возможно другой. Надо понять какой модуль, и какой ID он прописывает в БД. Первое что сделайте - в БД посмотрите какие ID у Ваших текущих статусов заказа. Если Вы удаляли и добавляли статусы, то, скорее всего, порядковая нумерация статусов нарушена. Поправьте. Также в БД посмотрите какой ID статуса прописывается в заказе. Так сможете сделать выводы.

Вообще, как я понял, статус "Пропавшие заказы" получается если модуль оплаты пишет в заказ ID несуществующего статуса. Например: есть статусы "Принят (ID 3)" и "Завершен (ID 2)". Модуль оплаты должен выставлять статус "Принят", у которого должен быть ID 1, и, соответственно, пишет в БД ID 1. Но Ваш статус "Принят" имеет ID 3, оттого движок не понимает что происходит с кидает заказы в "пропавшие".

P.S.

Таблица заказов в БД -  oc_order 

Таблица статусов в БД -   oc_order_status  

Надіслати
Поділитися на інших сайтах


20 часов назад, sano4kin сказал:

Приветствую! У меня проблема решена. Модуль оплаты (который срабатывает самым последним при оформлении заказа) прописывал свой (заранее выставленный в настройках модуля) ID статуса в БД после оформления заказа. В моем случае это был модуль Filterit. В Вашем - возможно другой. Надо понять какой модуль, и какой ID он прописывает в БД. Первое что сделайте - в БД посмотрите какие ID у Ваших текущих статусов заказа. Если Вы удаляли и добавляли статусы, то, скорее всего, порядковая нумерация статусов нарушена. Поправьте. Также в БД посмотрите какой ID статуса прописывается в заказе. Так сможете сделать выводы.

Вообще, как я понял, статус "Пропавшие заказы" получается если модуль оплаты пишет в заказ ID несуществующего статуса. Например: есть статусы "Принят (ID 3)" и "Завершен (ID 2)". Модуль оплаты должен выставлять статус "Принят", у которого должен быть ID 1, и, соответственно, пишет в БД ID 1. Но Ваш статус "Принят" имеет ID 3, оттого движок не понимает что происходит с кидает заказы в "пропавшие".

P.S.

Таблица заказов в БД -  oc_order 

Таблица статусов в БД -   oc_order_status  

Здравствуйте! Спасибо за наводку. Отключил в плагинах оплаты пункт от яндекс go "Оплата при доставке" и оставил форму только от тинькова и всем заказам стал устанавливаться нужный статус без потерь. Спасибо).

Надіслати
Поділитися на інших сайтах


  • 11 months later...

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

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

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

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

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

Вот так вот выглядит скрипт оплаты через PayPal.

script snip.PNG

 

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

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

Змінено користувачем fortoonas
Надіслати
Поділитися на інших сайтах


  • 3 months later...
29.10.2021 в 18:57, sano4kin сказал:

Единицу ставил модуль Filterit

а как он может её ставить? это где-то задается? у меня просто в некоторых случаях появляется 0, непредсказуемо в каких.. filterit тоже есть, а когда ноль- то на почту не приходит и т.д, приходится забирать из базы.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.