Solution
Cash on delivery brings in orders that would not happen otherwise — and returns that nobody pays for. RevOrder gives you the levers for both.
Cash on delivery is shown or hidden by country, order value or cart contents.
A separate order line that recalculates when the payment method changes and is visible before the shopper confirms.
Orders can pass through confirmation before a parcel moves — that is where most refusals are stopped.
The collection value is passed to the courier automatically, with no manual entry and no mismatches.
A refused cash-on-delivery parcel is not a zero. You pay shipping in both directions, the goods come back days later, and in the meantime they were locked out of your available stock.
So the question is not whether to offer cash on delivery, but to whom and at what value. A small order from a new customer and a large one from a repeat customer carry very different risk and should not travel the same path.
On Shopify the rules run through an official Payment Customization function — a mechanism Shopify supports, not a theme hack. On WooCommerce and custom checkouts, the rules and the fee are embedded directly in the checkout.
After the order comes the second lever: confirmation. An unconfirmed order does not become a parcel, and that is the cheapest possible moment to stop a refusal.
Decide at what country, value or cart cash on delivery appears.
If you charge one, set it and check how it reads at checkout.
Choose which orders pass through confirmation and on which channel.
Shipment statuses come back onto the order, so you can see which rules are working.
Connect your store and see which cash-on-delivery orders come back most often.