Каковы определения статусов заказа? ИЛИ: Где мне интегрировать состояние моего заказа?

25

Я хочу определить некоторые состояния заказа, такие как «оплата кредитной картой», вопрос в том, к каким статусам они относятся. Есть ли определение для каждого из встроенных статусов?

Изменить: Похоже, я перепутал "статус" и "состояние", я надеюсь, что это все равно становится ясно из контекста. Я виню перевод на немецкий Magento (State => Status, Status => Zustand)

Фабиан Шменглер
источник

Ответы:

42

Согласно «Полному руководству по Magento» [1] , статусы заказа определяются следующим образом:

  • Ожидание: отложенные заказы - это новые заказы, которые не были обработаны. Как правило, эти заказы должны быть выставлены счета и отправлены.
  • Ожидание PayPal: отложенные заказы PayPal - это новые заказы, которые не были очищены PayPal. [...]
  • Обработка. Обработка означает, что заказы были выставлены или выставлены счета, но не оба.
  • Завершено: заказы, помеченные как завершенные, выставлены счета и отправлены.
  • Отменено: отмененные заказы следует использовать, если заказы отменены или заказы не оплачены.
  • Закрыто: Закрытые заказы - это заказы, которым было присвоено кредитовое авизо, и клиент был возвращен за их заказ.
  • На удержании: отложенные ордера должны быть сняты с охраны перед продолжением любых дальнейших действий.

Следовательно, государство «получило платеж по кредитной карте» будет принадлежать processing, при условии, что заказ еще не был отправлен.


Aligent Consulting [2] создала блок-схему состояний заказов:

поток состояния заказа magento


Источники:

  1. Адам МакКомбс и Роберт Банх: «Полное руководство по Magento», Apress, 2009 (ISBN 1430272287, 9781430272281)
  2. https://twitter.com/aligent/status/509487359172177921/photo/1
Фабиан Шменглер
источник
Я все на вопросы с ответами на себя - но это просто похоже на некачественный посев. Ответ «копия + вставка», который в противном случае можно было бы легко найти в Интернете, на самом деле не сильно повышает ценность этого сайта.
Бен Лессани - Сонасси
4
@sonassi: Я уважаю ваше мнение и не буду претендовать на то, чтобы вопрос был высокого качества, но я некоторое время искал его и не нашел связанных вопросов здесь или на SO, поэтому он может помочь кому-то еще в будущем.
Фабиан Шменглер
Я нашел это супер полезным. иногда вы находите вещи в стеке легче, чем в Google, поскольку стек предварительно фильтруется по сравнению с Google, так сказать. и если это посев, пусть будет так. Они обеспечили ценность. Я полностью согласен с посевом.
ahnbizcad
2

Различные состояния заказа определены в Mage_Sales_Model_Order:

const STATE_NEW             = 'new';
const STATE_PENDING_PAYMENT = 'pending_payment';
const STATE_PROCESSING      = 'processing';
const STATE_COMPLETE        = 'complete';
const STATE_CLOSED          = 'closed';
const STATE_CANCELED        = 'canceled';
const STATE_HOLDED          = 'holded';
const STATE_PAYMENT_REVIEW  = 'payment_review';
Стефан
источник
+1 Это можно изменить? Есть ли способ получить это из остальных API? Например, / config / sales / возможныхStatusList?
Mzn
1
Перезаписать константы? Почему вы хотите их перезаписать? Вы можете определить новые статусы заказов в бэкэнде (Система> Статусы заказов). Если вы имеете в виду «изменить статусы заказа», да, это возможно. И да, вы также можете получить статус заказа из API (метод sales_order.info или sales_order.list)
Стефан
да, я имел в виду изменить список, а не константы. Вы знаете, как я могу получить доступ к sales_order.info в остальных API? какая конечная точка? я пробовал / продавцы / информация относительно URL
Mzn
Не должно быть трудно, смотрите здесь для доступа в целом: magento.stackexchange.com/a/33187/6291 и информацию о sales_order.info здесь: devdocs.magento.com/guides/m1x/api/soap/sales/salesOrder/ … Удачи!
Стефан
Спасибо за ответ, но API SOAP действительно отличается от API REST. По какой-то причине я не могу найти то, о чем вы говорите в документации по REST API: devdocs.magento.com/swagger/index.html Вы можете увидеть это там? Может быть, это не входит в REST API?
Mzn
1

Фактически, так как статусы заказа 1.5 могут быть определены в разделе администратора, а xml не является предпочтительным способом добавления / изменения состояний или статусов. Пожалуйста, сделайте разницу между состоянием и статусом. Состояние «обработка», статус «оплата кредитной картой получена»

Обновление : статусы заказа могут быть созданы и изменены в admin / sales_order_status /, нет необходимости делать что-либо в XML. Статус можно назначить, только если заказ находится в соответствующем состоянии. По умолчанию заказ переходит в состояние обработки при выставлении счета-фактуры или отгрузке.

Петар Джамбазов
источник
Это был комментарий к ответу Себастьяна Линда? Что касается состояний и статусов, похоже, что я перепутал их (снова ...), спасибо за исправление.
Фабиан Шменглер
-1

Вы можете связать свое новое состояние с существующими статусами заказа или создать совершенно новый. Просто измените файл конфигурации модуля продаж следующим образом (app \ code \ core \ Mage \ Sales \ etc \ config.xml) с вашим новым состоянием:

<?xml version="1.0"?>
<config>
  <!-- ... -->
  <global>
    <sales>
      <order>
        <statuses>
          <new_status>
            <label>New Status</label>
            <description>Your Description here</description>
          </new_status>
        </statuses>
        <states>
          <new>
            <label>New</label>
            <statuses>
              <new_status/>
            </statuses>
            <visible_on_front/>
          </new>
        </states>
      </order>
    </sales>
  </global>
</config>

Обновите кеш, готово.

Себастьян Линд
источник
2
Боюсь, в этом ответе нет ничего подходящего.
отметки
1
Не редактируйте ядро ​​Magento. Скорее создайте конфигурацию в своем собственном модуле. Magento объединит ваши и конфигурационные файлы ядра.
Жак