Back to Blog
2026-06-096 min readNexo

How to hide Cash on Delivery (COD) for specific products or carts on Shopify

A practical guide to hiding COD at Shopify checkout for risky products, high-value carts, or specific regions, using payment customization rules instead of theme edits.

Cash on Delivery is convenient for shoppers, but it is not always good for the store. COD orders get refused at the door, returned, or never picked up. For some products, the failed-delivery cost is higher than the margin on the sale.

That is usually when a Shopify merchant starts asking the same question: how do I hide Cash on Delivery for certain products or carts, but keep it for everyone else?

Shopify shows every eligible payment method at checkout by default. You cannot hide one method per product from the standard payment settings. To control when COD appears, you need a payment customization rule that checks the cart before checkout renders.

When hiding COD is worth it

You do not need to remove COD everywhere. For many stores it is the most trusted option, especially in markets where card adoption is low. The goal is to hide it only where it causes real losses.

Common situations:

Store situationRule that usually fits
High-value cartsHide COD when the cart total is over a threshold
Fragile or custom productsHide COD for specific products or variants
Pre-orders and made-to-orderHide COD so the buyer pays upfront
High-refusal regionsHide COD for certain countries or postal areas
Repeat refusersHide COD for customers tagged after failed deliveries

The pattern is the same in every row: COD stays available for safe orders, and disappears for the orders most likely to fail.

Decide what triggers the rule

Before building anything, write the rule as a plain sentence. That sentence becomes your condition.

  • "Hide COD when the cart total is above $200."
  • "Hide COD when the cart contains a made-to-order item."
  • "Hide COD for customers tagged cod-blocked."
  • "Hide COD when shipping to a remote province."

Each of these maps to a targeting condition: cart value, products or variants, customer tags, or shipping address. Pick the smallest condition that solves your problem. A rule that is too broad removes a payment option people actually use.

Why theme edits and redirects are the wrong tool

A common first instinct is to hide the COD button with custom CSS or JavaScript in the theme. This breaks in two ways. First, Shopify Checkout is not your theme, so storefront code does not reliably reach the checkout payment step. Second, hiding a button visually does not stop the method from being selectable through other flows.

The supported path is Shopify's Payment Customizations API, which lets an app hide, reorder, or rename methods at the checkout step itself. Nexo Payment Methods uses this API, so the rule runs where the payment options actually render, with no theme edits and no redirects.

How to hide COD with Nexo Payment Methods

The setup is built around no-code rules. A typical flow looks like this:

  1. Open Nexo Payment Methods and start from the "Hide a payment method" template.
  2. Choose the method to hide: select your Cash on Delivery gateway by its name.
  3. Add the condition that triggers the rule, for example cart total greater than $200, or a specific product in the cart.
  4. Preview the result against a sample cart to confirm COD disappears only when expected.
  5. Publish the rule through Shopify payment customizations.

A high-value example might read:

Action: Hide payment method = Cash on Delivery
Condition: Cart total is greater than $200

A product-based example might read:

Action: Hide payment method = Cash on Delivery
Condition: Cart contains product = Custom engraved sign

Because the rule lives in the app and not in theme files, you can turn it off after a campaign or adjust the threshold without touching code.

Test both carts

Always test a cart that should keep COD and a cart that should lose it. A rule that hides COD for everyone looks like a checkout bug, not a policy.

Hide COD by cart value

This is the most common rule. COD failures hurt more on expensive orders, because the store ships, pays for delivery, and then eats the return cost when the buyer refuses.

Set a threshold that matches your risk. Many merchants start by hiding COD above the price point where a failed delivery wipes out the margin, then adjust after watching their refusal rate.

Hide COD for specific products or variants

Some products are simply too risky for unpaid orders: made-to-order items, personalized goods, large freight items, or anything you cannot resell after a refusal.

Target the rule by product or variant so COD disappears only when one of those items is in the cart. Everything else in your catalog keeps the option.

Hide COD by region or customer

If failed deliveries cluster in certain areas, you can hide COD by shipping address, market, or country. The same approach helps with repeat offenders: tag customers who refuse COD orders, then hide the method for that tag. For a deeper walkthrough of region rules, see how to hide or show payment methods by country.

Keep a clean list, not just a hidden button

Hiding a method silently is usually fine. Unlike an error message, a missing payment option does not need an explanation for most shoppers. But make sure the methods that remain are the ones you want people to use. If you hide COD on big carts, confirm card or bank transfer is still available, or the buyer has nothing left to choose.

To nudge buyers toward a preferred method, you can reorder the remaining methods so the safest option appears first.

FAQ

Can I hide Cash on Delivery on Shopify without an app?

Shopify's default payment settings let you enable or disable a method for the whole store, but they do not hide a method based on cart total, products, customer tags, or region. Conditional hiding needs the Payment Customizations API, which is what a payment-rules app uses.

Will hiding COD with CSS work?

Not reliably. Checkout is not part of your theme, so storefront CSS or JavaScript does not consistently control the payment step. A rule built on Shopify's payment customizations runs where the methods actually render.

Can I hide COD only for orders above a certain amount?

Yes. A cart-total condition is the most common COD rule. You set a threshold, and COD is hidden whenever the cart exceeds it while staying available below it.

Does hiding COD remove it from past orders?

No. Payment customization rules only affect what a shopper sees at checkout going forward. Orders already placed are not changed.

Is Nexo Payment Methods free?

Yes. Nexo Payment Methods is a free app that hides, reorders, and renames payment methods through Shopify Checkout.