Why not change the order total
Payment gateways charge the order total. If you edit the total to take only the advance, refunds, reports and some gateways break. A cleaner design keeps the full total on the order.
The linked advance order
- The customer picks Cash on delivery and the checkout shows the split.
- A small linked order for the advance amount is created.
- The customer pays it on the normal WooCommerce pay page, with any gateway that works there.
- When it is paid, the main order moves to the balance due status.
- You collect the balance on delivery.
Choosing the advance
The advance can be a percent or a flat amount, with a lowest and highest value. Many stores set a percent with a lowest value that covers the shipping a refusal would cost. Work it out with the calculator.
Edge cases
- Offline gateways such as bank transfer confirm only when you mark the advance order paid.
- Advances that are never paid should cancel the order after a set time and release the stock.
- Advance orders should stay out of your sales reports so revenue is not counted twice.
Questions
Which payment gateways can take the advance?
Any gateway that works on WooCommerce's pay-for-order page.
Does partial COD work with the block checkout?
Yes, with Threshold it works on the block checkout and the classic checkout.
Get paid before the door opens. Threshold is free on WordPress.org.
Get the free plugin