OrderGateTürkçe
All guides

Hiding cash on delivery from risky buyers in Shopify

Yes. A payment customization function can hide a payment method for a buyer matching your rules while leaving it visible for everyone else, so you keep the conversion cash on delivery brings without carrying the losses. Basic hiding does not require Shopify Plus, and because cash on delivery is a manual payment method it does not require Shopify Payments either.

Why cash on delivery attracts fake orders

Every other payment method makes the buyer commit something at the moment of ordering. Cash on delivery does not: no card, no charge, nothing lost if the parcel is refused at the door.

For merchants in markets where cash on delivery is expected, that is a real cost — packing, shipping both ways, and stock held in transit for an order that was never going to be paid for. Turning it off entirely fixes the losses and costs the conversions at the same time.

Selective hiding instead of switching it off

The middle option is to keep cash on delivery for most buyers and hide it from the ones you have reason to doubt: a customer tag your support team applies after a refused delivery, a region where refusals cluster, an email domain that keeps reappearing.

Shopify implements this as a payment customization function. It runs during checkout, receives the buyer and the list of payment methods, and returns the methods to hide.

OrderGate rule list with rule types including customer account tag and location rules.
Rules that can drive hiding as well as blocking, on a demo store — the counts are sample data.

What the plan requirements actually are

Two limits are worth stating precisely, because they are often described wrongly.

  • Hiding a payment method entirely does not require Shopify Plus. Shopify's documentation notes that hiding specific placements is Plus-only, and that on non-Plus stores the placements field is ignored and the whole method is hidden — which is the behaviour you want anyway.
  • It does not require Shopify Payments. Cash on delivery is a manual payment method, independent of your payment provider. This matters because Shopify's own Fraud Control checkout rules are documented as available only to stores using Shopify Payments.
  • Setting payment terms is Plus-only, and payment methods whose name is a logo — Shop Pay, Apple Pay, Google Pay — cannot be renamed. Hiding is a separate operation from renaming.

Where this approach stops

  • Hiding is not blocking. A buyer who is hidden cash on delivery can still order with a card. If the intent is to refuse the person entirely, that is a checkout validation rule, not a payment rule.
  • Matching on a customer tag only works for signed-in customers. A guest checkout carries no tag.
  • Nothing here sees an IP address, so hiding cannot be driven by network location.

How OrderGate does it

The same rule you would write to block a buyer can instead be set to hide cash on delivery. OrderGate matches payment methods whose name reads as cash on delivery — COD, cash on delivery, kapıda ödeme — and hides them from a matching buyer. Choosing an arbitrary payment method from a list is not built.