Discussions

Order status after payment, pending or completed?

Hi,

I am playing with the great drupal commerce module, and am a little bit confused with the order status after payment.

In my example, I have two payment methods:

1) payment method example; (online)
2) bank transfer; (offline)

After payment with both methods, my order status becomes "pending", however, I expect different order status after payment with the payment methods above, for example:

1) with "payment method example", after payment, I expect the order status to be "completed", since it is an online payment method;

2) with "bank transfer", after payment, I expect the order status to be "pending", since it is an offline payment method, and the shop admin needs to manually confirm the status of the transfer.

Since I am new to drupal commerce, I am not sure if my expectations above make sense or not. If it does not make sense, then what make an order "completed"? Should the shop admin always manually turn change the order status to "completed", or there are some automatic triggers ?

Thanks in advance.

Posted: Oct 14, 2014

Comments

joshmiller Josh Miller on October 14, 2014

Foredoc,

Your expectation is accurate. But as Commerce is a highly flexible ecommerce platform, we don't ship with any preconceived notions as to what qualifies as "completed." So what you need to do is either create a rule or add to an existing rule a simple "Set Data" action for the order to change the status to "Completed."

Above you can see a real rule that I created on a real ecommerce site that piggybacks onto Commerce File's license activation rule. But you can make your own rule as needed.

Josh

foredoc on October 21, 2014

Thanks, Josh. This is very helpful.

My guess is that, when an online payment is used, the event ("When an order is first paid in full") will be triggered automatically after the completion of checkout.

However, if I use offline payment, say, bank transfer, how can I trigger the "When an order is first paid in full" event then?

Thanks.