What are the definitions of the order statuses? OR: Where should I integrate my order state?
According to "The Definitive Guide to Magento" [1], the order statuses are defined as follows:
- Pending: Pending orders are brand new orders that have not been processed. Typically, these orders need to be invoiced and shipped.
- Pending PayPal: Pending PayPal orders are brand new orders that have not been cleared by PayPal. [...]
- Processing: Processing means that orders have either been invoiced or shipped, but not both.
- Complete: Orders marked as complete have been invoiced and have shipped.
- Cancelled: Cancelled orders should be used if orders are cancelled or if the orders have not been paid for.
- Closed: Closed orders are orders that have had a credit memo assigned to it and the customer has been refunded for their order.
- On Hold: Orders placed on hold must be taken off hold before continuing any further actions.
Therefore a state "credit card payment received" would belong to processing
, providing that the order has not been shipped yet.
Aligent Consulting[2] created a flow chart for order states:
Sources:
- Adam McCombs and Robert Banh: "The Definitive Guide to Magento", Apress, 2009 (ISBN 1430272287, 9781430272281)
- https://twitter.com/aligent/status/509487359172177921/photo/1
The different order states are defined in 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';