Привет, друзья!
Совсем запутался со статусами заказов и что происходит с заказами при разных условиях?
И так что есть:
Магазин с заказами, которые могут оформлять как зарегистрированные юзеры, так и анонимусы с последующей регистрацией.
есть встроенные состояния (state)
- Completed
- Payment received
- Post checkout
- In checkout
- Canceled
также есть статусы заказов (statuses) Сопоставленные с состояниями.
- canceled -> Canceled
- in_checkout -> In checkout
- pending -> Post checkout
- processing -> Post checkout
- payment_received -> Payment received
- completed -> Completed
в моем случае pending и processing - одну и ту же функцию выполняют. можно от одного отказаться?
получается так, что иногда при, казалось бы, одинаковых условиях уберкарт выставляет разные статусы заказов. Какой-то системы я не вижу. Хочу разобраться, почему так происходит.
Кто выставляет в итоге статус заказа? Модуль платежной системы? уберкарт?
Чем отличаются pending и processing? (в смысле перевод-то я знаю, я имею ввиду принципиальное отличие, когда и какой статус присваивается?)
Комментарии
Обновляет кто угодно это делается с помощью функции uc_order_update_status. Вот тут можно настраивать дополнительную логику :admin/store/ca. pending - это типа мы видим ваш заказ но не начали его обрабатывать (людей нет) processing - мы начлаи с вашим заказо работать. В общем случае статус это просто строка которых может быть сколько угодно. Ubercart и его модули знает правда некий набор предопрделенных статусов которые легко находятся с помощью grep.
Добрый день, Антон!
Спасибо за ответ, стало немного понятно, однако все равно не могу понять логики, почему некоторые заказы при одном и том же условии присваивают разные статусы?
на странице admin/store/ca обрабатываются только два условия, влияющие на статус: платеж получен и заказ завершен,а у меня как раз петрушка с ожиданием и в процессе.
Правильно я понимаю рабочий процесс?
состояние Post checkout может быть в разных статусах: pending и processing
Post checkout выставляется в uc_cart.module на строчке 1285, но он должен поставить статус, который выбран тут admin/store/settings/orders/edit/workflow в графе Default order status? А у меня иногда бывают разные. в общем по-прежнему не совсем понятно.