Vote up!
Vote down!

Modifying the Checkout procedure

I am building a proof of concept ecommerce solution using commerce kickstart v2

I wish to implement a system where a user can submit an order but an admin must approve orders before the customer can pay - I have a feeling I can do this with rules & extra order statuses but I cannot figure out which part of the checkout process to intervene in. Heres what I have so far:

1. extra order status "Awaiting Admin Approval"
2. extra order status "Approved by Admin"
3. Rule that fires when order status changes from 'shopping cart' to 'checkout' and sets order as "Awaiting admin Approval"
4. Rule that fires when order status is "Awaiting Admin Approval" and path contains 'checkout'. this rule redirects user to a page that says 'your order is awaiting approval'
5. Rule that should allow user to checkout once admin has changed order status to "Approved by admin"

Rule 5 above (in italics) is giving me problems, no matter what I try - rule # 3 always fires, even after the order has been approved, which results in the user being redirected.

The problem arises because once the order has been set as "Approved by Admin", it must then go back to "shopping cart", then "checkout"... which then fires rule 3, which brings me nicely back around in a circle.

Any tips or suggestions?


Asked by: alanmaceoin
on November 27, 2012


+1 on this. I've been trying for two days now to find an order approval method that works, and it's giving me nothing but headaches. Alan, in step three above, changing the status of the order hangs the page in redirects on my site. Did you run into this at all?

Does anyone have a use example that works for this situation? Thank in advance!

- Abenezer on January 7, 2013


I am also looking for same functionality. Can you please provide step-by-step approach how to do this? New to Drupal :)

Thanks in advance.

- drupalNewbie on March 28, 2014

1 Answer

Vote up!
Vote down!

First of all, sounds like you nailed it on the head. The problem is your Order needs to be aware that admin has confirmed this is purchaseable. This is not a state that you can readily determine in Rules.

Simple suggestion.

Add a field to the Order and have rules "check" this field as "purchaseable" or "confirmed" and make sure your #3 rule only fires on non-confirmed orders.


Josh Miller
Answer by: Josh Miller
Posted: Mar 11, 2013