If the customer selects a form of offline payment like wire transfer then the order status should be clear and something alike 'waiting for payment'. 'open' does not make much sense, as its seems like the order is waiting to be processed.
But how can I cause offline payments like 'prepayment per bank wire' to cause such a order status?
Similarly; if the customer selects COD, then the order can be shipped right away. How do I make orders with COD payment go to a 'ready for shipping' status?
Also: am I correct that the status 'complete' means 'shipped' ?
And 'processed' does not mean that the order has been processed, but only that payment is in? Or does it mean that its ready for shipping?
I believe that you can set up and assign custom order statuses and word them any way that makes sense to you.
Look under Orders - Order Statuses menu - then use “Add Status” button
I confirm that this workflow model is very strange.
If a customer shooses an offline payment, the admin changes status to somewhat of “To pay”. In the settings of this status the checkbox Repay is ticked, which means, that when the customer opens this order, he sees the button “PAY ORDER”.
In case of offline bank paynent, that should be kind of notification to the shop admin with a status change something like “Paid notification”, set in Parameters.
The proposed solution: add a new param, where this special status, can be set.
Instead of this, on pressing the Pay button, the customers sees a pop-up notification “The order was successfully paid!” and the order status changes to Open and the customer receives an e-mail “Your order was succussfully placed”.
That seems to be very awkward logic.
CS-Cart team guys, please, help with this question.
The one with status “O” is offline items that do not get paid straight away. You can simply rename it to “Waiting for Payment” instead of open.
Then the status “P” is when payment is made straight away and you can rename it to “Paid” or however instead of the default “Processing”.
Then you can create your own statuses for “Ready for shipping” or just “Shipped” etc.
There is the “complete” one but you set it to that yourself, it does not automatically change.
All the other statuses I believe are if errors arise such as payment system not working, their credit card is declined, they cancel it etc.
And yes it's in Administration → Order statuses.
Hope that helps.
You can add a pretty simple php hook for “change_order_status” that can detect when the status is changing to 'O' and there is no $order_info['processor_id']. In that case, you would then update the status to whatever your non-standard status is. You can refine this by looking at the $order_info['payment_method'] or $order_info['payment_info'] to further refine what status you want to change it to.
Of course, if you want the ability to actually administer the process then you're probably quadrupling the effort. But if you know what you want and have the other statuses established, the code is not to complicated to implement within your existing my_changes addon. Probably an hour of work.
Probably, you will find answer here: Changing Order Status According To Payment Method - Hints & Modifications - CS-Cart Community Forums