How to disable Cash on Delivery for tagged Shopify customers
Short answer: Hide Cash on Delivery for signed-in customers tagged cod-blocked, leaving prepaid methods available after a refused or unpaid delivery. In Checkpost, choose “Prepaid only for flagged COD customers” from Templates, adjust the values, test it, then save and enable the rule.
The problem
Refused deliveries can justify asking a reviewed account to prepay without refusing all future orders. A merchant-managed customer tag makes that policy explicit and reversible.
How to set it up
- Install Checkpost from the Shopify App Store.
- Open Templates and choose Prepaid only for flagged COD customers.
- Tag the accounts you have reviewed and adjust the COD method name. Customer tags require the shopper's account to be recognised.
- Use Try this rule to test a sample cart, then click Save rule.
The rule
Hide payment methods containing "Cash on Delivery" when all of these conditions is true:
- Customer has any of tags cod-blocked
Shoppers see no message: the methods are changed before checkout shows them.
Rule definition (JSON)
{
"name": "Flagged accounts: prepaid only",
"action": {
"kind": "hide_payment",
"methods": [
"Cash on Delivery"
],
"match": "contains"
},
"match": "all",
"conditions": [
{
"kind": "customer_tag",
"op": "has_any",
"tags": [
"cod-blocked"
]
}
]
}Examples with the default settings
These outcomes apply to this rule alone. Other enabled rules may also affect checkout.
| Test cart | Expected outcome |
|---|---|
| Identified customer without the blocked tag | Methods unchanged by this rule |
| Identified customer tagged cod-blocked | Hide payment methods containing "Cash on Delivery" |
Where this rule works
This changes matching payment methods that Shopify exposes to the customization. Payment rules do not have the same express-checkout coverage as cart validation. Shopify limits wallet customization and credit-card customization on non-Plus US/Canada stores. See Shopify's payment compatibility and verify your COD/manual method in a development store. Geographic payment rules currently use the first delivery group's address.
Tips
- Apply cod-blocked only after reviewing the account; the preset does not detect refused shipments automatically.
- Tags apply to identified customer accounts, so this is not a guest-email blacklist or identity verification tool.
- If guests should never see COD, add a separate Customer logged in equals false hide-COD rule.
FAQ
Will a guest entering the same email be recognised?
Do not rely on that. The rule depends on the customer identity Shopify exposes at checkout; verify account recognition in a development store.
Does a declined COD order automatically add the tag?
No. Tagging is a manual or separate automation step. Removing the tag makes the account eligible again.
Related rules
Hide cash on delivery over $500
Hide the Cash on Delivery payment method when the cart subtotal is over 500, so big orders are paid upfront.
Hide cash on delivery for first orders
Only returning customers can pay cash on delivery: hide it for guests and customers without a previous order.
Hide pay-later methods for pre-orders
Hide buy-now-pay-later and cash on delivery when the cart contains pre-order products.
Show bank transfer first for wholesale
Move the bank transfer payment method to the top of the list for customers tagged wholesale.