I would like a new orders to be checked and accepted by store owners before client could make a payment.
I'm wondering what is the best way to prevent client from making a payment and unlocking it automatically when store manager accepts the order.
I'd aprreciate any help.
My magento version: 1.9
IMO there are several ways to achieve this.
If you only use payment gateways that redirect customers to their website like paypal standrard, its very easy, just add a 'accepted' flag to order entity, when the flag is off, change the redirect link to some other magento page like order success page or cms page, when the flag is on, keep redirecting customer to payment gateway page. And also add a 'make payment' link in customer order histiry grid which redirects to the payment gateway.
Or if you use payment gateway that don't redirect, like authorize.net or paypal pro. you will have to rewrite a few sales model and block. you need to remove
from Mage_Sales_Model_service_Quote::submitOrder, after order is accepted, you have to create a new page to load this order and collect payment information again, import into order payment model and call $order->place() again.
Or, instead of accepting order, you can accept quote/cart, when customers finish creating their cart, they can submit the cart for acceptance, and it will lock the cart up, they can't modify the cart anymore or checkout. After cart accepted, they would be able to continue to checkout.
Why would you need to accept orders before payment? would it be possible to accept/deny orders automatically by certain rules?