How to Disable COD for Specific Products on Shopify

Shopify product page showing COD payment option being disabled for a specific product

Shopify doesn't let you disable COD for specific products out of the box. Payment methods are store-wide — on or off for everything. That's a problem when twelve of your 200 products are responsible for 60% of your returns. Those high-priced items ship cash on delivery with a coin-flip chance of coming back undelivered, while your ₹500 products succeed at 90%. You need product-level control, and there are three ways to get it.

Shopify's payment settings are store-wide. You can turn COD on or off for your entire store, but you can't tell the checkout "hide cash on delivery when the cart contains this product." That gap costs COD merchants real money — every high-value item that ships COD and comes back as RTO eats the forward shipping, the return shipping, and the restocking labor with zero revenue attached. The fix takes less than 15 minutes once you know which approach fits your store.

When Should You Disable COD for Specific Products?

Not every product carries the same risk when it ships COD. The common scenarios where product-level COD restrictions pay for themselves:

  • High-value items. A ₹15,000 watch shipped COD ties up inventory and courier capacity. If it comes back, you've lost ₹200+ in shipping alone. Requiring prepayment on expensive SKUs filters out impulse orders that were never serious.
  • Digital products. Gift cards, downloadable files, and online courses don't involve physical delivery. COD doesn't make sense here — there's nothing to hand over at the door.
  • High-RTO SKUs. Some products just attract more returns. Fashion items with fit issues, fragile goods, or niche products with buyer's remorse patterns. If a specific product has an RTO rate above 30%, removing COD for that SKU alone can cut your overall return costs without affecting your best-performing products.
  • Pre-order items. Long lead times between order and delivery increase the chance a customer changes their mind. Requiring partial or full prepayment on pre-orders reduces cancellations significantly.

The goal isn't to remove COD from your store. It's to remove COD from the products where it creates more cost than revenue. (If your problem is geographic rather than product-specific, see how to restrict COD to specific regions instead.)

Method 1: Use Checkout Blocks With Shopify Functions

Shopify introduced payment method customization through Checkout Blocks — available on all plans, not just Plus. This is the closest thing to a native solution.

  1. Go to Apps > Checkout Blocks in your Shopify admin. If you haven't installed it, grab it from the App Store (it's free from Shopify).
  2. Click Functions, then Create function.
  3. Select Hide under Payment methods.
  4. Choose your COD payment method from the list.
  5. Set the condition to trigger based on product or collection — for example, "Hide Cash on Delivery when cart contains any product from the 'No COD' collection."
  6. Save and test with a real checkout.

This method uses Shopify Functions under the hood, which means it runs at the checkout level — fast, reliable, and no impact on page speed. The limitation: conditions are relatively basic. You can filter by product, collection, cart total, or customer tag, but you can't combine multiple conditions into complex rules (like "hide COD when cart total is above ₹10,000 AND the customer is tagged as high-risk").

For most merchants who just need to disable COD on a specific collection of products, this is the simplest path.

Method 2: Install a Payment Method Hiding App

If you need more granular control than Checkout Blocks offers, dedicated payment-hiding apps give you conditional logic that Shopify's native tools don't.

Three apps that handle product-level COD restrictions well:

  • HidePay — hides, sorts, and renames payment methods based on product, customer, geography, and cart conditions. Built on Shopify Functions. Free plan available for basic rules.
  • Payfy — conditional payment hiding by product, SKU, collection, customer tag, country, cart value, and shipping method. Useful when you need to combine multiple conditions.
  • CODGuard — focused specifically on COD restrictions. Simpler than general payment-hiding apps if COD is the only method you want to control.

The setup pattern is similar across all three: install the app, create a rule that targets your COD payment method, set the condition (specific products, a collection, or a product tag), and the app hides COD at checkout when the condition matches.

One thing to verify before installing: check whether the app uses Shopify Functions or an older script-based approach. Functions-based apps are faster and will continue working as Shopify phases out legacy customization methods. All three listed above use Functions.

Method 3: Use a COD Order Form App

Payment-hiding apps work at the Shopify checkout level. But if your store uses a custom COD order form — which many COD-heavy stores do — you can control COD visibility at the product level directly from the form settings.

Apps like EasySell and Releasit let you enable or disable the COD form on specific products or collections. Instead of hiding a payment method at checkout, the COD option simply doesn't appear on the product page for excluded items. Customers buying those products go through the standard Shopify checkout with prepaid options only.

This approach works well if you already use a COD form app, because there's nothing extra to install. You're just adjusting which products show the form.

The Tag-Based Shortcut That Works With Any Method

Regardless of which tool you choose, the most maintainable setup uses product tags rather than individual product selection. Here's why:

If you select 40 individual products in your COD-restriction rule, every new product that should be excluded requires you to go back into the app and add it manually. Miss one, and it ships COD when it shouldn't.

Instead, create a product tag — something like no-cod — and add it to every product that shouldn't offer cash on delivery. Then set your restriction rule to trigger on that tag. When you add new high-value products to your store, you just tag them during setup. The rule applies automatically.

This works with Checkout Blocks (use a collection filtered by tag), HidePay, Payfy, and most COD form apps. One tag, one rule, zero maintenance.

Set a Cart Value Threshold as a Safety Net

Product-level rules catch the SKUs you know are problematic. But what about a customer who adds five mid-priced items and builds a ₹20,000 cart? Individual product rules won't catch that.

Add a second rule alongside your product restrictions: hide COD when the cart total exceeds a threshold. The right number depends on your average order value and your RTO tolerance, but a common starting point is 3–4x your AOV. If your average order is ₹1,500, hiding COD above ₹5,000 catches the high-value edge cases that product rules miss. You can also block high-RTO pin codes for an additional layer of protection.

Checkout Blocks, HidePay, and Payfy all support cart-value conditions. You can run both rules — product-level and cart-value — simultaneously. The cart-value rule acts as a safety net that catches anything the product rules don't.

Test Before You Go Live

Any payment method change needs a real checkout test. Here's what to verify:

  1. Restricted product alone in cart. Add a product you've blocked from COD. At checkout, COD should not appear as an option.
  2. Unrestricted product alone in cart. Add a normal product. COD should appear as usual.
  3. Mixed cart. Add one restricted and one unrestricted product together. Most apps will hide COD if any restricted product is in the cart — confirm this matches your expectation.
  4. Mobile checkout. Payment methods can render differently on mobile. Test on a phone to make sure COD is hidden on both desktop and mobile views.

The mixed-cart scenario is the one most merchants forget to test. If your app hides COD for the entire cart when one restricted product is present, that's usually the right behavior — otherwise a customer could add a ₹100 item to bypass the restriction. But if you sell bundles where mixing is common, you might need a different approach.

Pick the Method That Matches Your Store

If you need to block COD on a handful of products and want zero app installs, start with Checkout Blocks. If you need complex conditional logic — combining product rules with customer tags, geography, and cart value — a dedicated app like HidePay or Payfy gives you that flexibility. If your store already runs on a COD order form app, check its settings first — the feature you need might already be built in.

The common thread across all methods: the merchants who lose the most money on COD are the ones who treat it as a store-wide on/off switch. Product-level control turns COD from a blanket risk into a targeted tool — available where it converts, hidden where it costs you.