So now I've actually got myself a working (not completed) custom payment provider, the first thing the client asks is how come the order goes in the "New Order" status instead of "Paid" or "Completed order". I was updating (rightly or wrongly?) the order status based on the outcome of my payment process however executing the checkout Pipeline forces the Order Status back to "New Order" despite it being paid?
What should the general flow of order status be or can/shouls it be entirely up to us as the developers and if so how to prevent the Checkout Pipeline from changing the order status? I notice the [uCommerce_OrderStatus] table does have a field for "NextOrderStatusId" with the next status after "New Order" being "Completed Order" which I presuming is a manual update from the UI after you process an order.
Per default an order will go to "New Order" because payment processing is typically a two-step model where the payment is "authorized" and subsequently "acquired" when the ordered items are shipped to the customer.
This model is slightly different for bank transfers where money are transferred from the customer to the shop immediatately when the order is placed. I guess this is the case here as well as I recall HSBC being involved in the transaction.
The thing responsible for setting "New Order" status during checkout is the checkout pipeline. Specifically the "ConvertBasketToPurchaseOrder" task. If you want a different initial order state you can remove that step and replace it with your own, which sets it to whatever you like.
You're entirely correct about the subsequent order flow in the backend. It's controlled by the next valid order status on individual order status.
Order Status - Order Flow
So now I've actually got myself a working (not completed) custom payment provider, the first thing the client asks is how come the order goes in the "New Order" status instead of "Paid" or "Completed order". I was updating (rightly or wrongly?) the order status based on the outcome of my payment process however executing the checkout Pipeline forces the Order Status back to "New Order" despite it being paid?
What should the general flow of order status be or can/shouls it be entirely up to us as the developers and if so how to prevent the Checkout Pipeline from changing the order status? I notice the [uCommerce_OrderStatus] table does have a field for "NextOrderStatusId" with the next status after "New Order" being "Completed Order" which I presuming is a manual update from the UI after you process an order.
Hi Simon,
Per default an order will go to "New Order" because payment processing is typically a two-step model where the payment is "authorized" and subsequently "acquired" when the ordered items are shipped to the customer.
This model is slightly different for bank transfers where money are transferred from the customer to the shop immediatately when the order is placed. I guess this is the case here as well as I recall HSBC being involved in the transaction.
The thing responsible for setting "New Order" status during checkout is the checkout pipeline. Specifically the "ConvertBasketToPurchaseOrder" task. If you want a different initial order state you can remove that step and replace it with your own, which sets it to whatever you like.
You're entirely correct about the subsequent order flow in the backend. It's controlled by the next valid order status on individual order status.
Hope this helps.
is working on a reply...