How to hide COD above a cart total

Updated · 5 min read · Trifid Media LLC

To hide Cash on Delivery when the cart is above a set amount, you need a payment customization: a rule that runs at checkout and removes COD from the payment options when the total is too high. Shopify's own payment settings can't do this. Shoppers with smaller carts keep COD, and shoppers with large carts need to pay by card or another online method.

Why are big COD carts riskier?

Every refused COD order costs you shipping out and shipping back. A large order adds more on top:

  • More stock is stuck in transit. Expensive items can spend days on the road and in the courier's returns process instead of being available to sell.
  • More can go wrong on the way back. A returned parcel can come back damaged, and the more it's worth, the more that costs you.
  • The shopper needs a lot of cash at the door. A shopper who ordered on impulse may not have the full amount ready when the courier arrives.

Big orders are still good business. The point is that the cost of a refusal grows with the value of the order. For the full picture, see what one refused COD order really costs.

Can Shopify do this without an app?

No. Shopify's page on manual payment methods (which is how COD works on Shopify) has no setting to limit a method by cart total. Once COD is active, it shows on every checkout.

Hiding a payment method above or below a cart value is one of the examples Shopify gives for its Payment Customization Function API, which apps use. Your options:

  • A public app with a payment customization. Shopify says stores on any plan can use public App Store apps that contain Functions.
  • Shopify's Checkout Blocks app. Its hiding rules include cart total and cart subtotal, but Shopify says payment customizations in Checkout Blocks are only for Shopify Plus stores.

For a comparison of every route, see how to hide a payment method on Shopify.

How do you choose the limit?

Base the limit on your own orders. The aim is to find the order value above which COD refusals rise.

  1. Export your orders. On the Orders page, select Export and choose a date range, for example the last six months. Exports by date are emailed to you.
  2. Keep the COD orders. Open the file in a spreadsheet and filter the Payment Method column for your COD method.
  3. Mark the refused ones. Use the Canceled at column, or however you record refusals (a tag or a cancellation reason). See how to find cancelled COD orders in Shopify admin.
  4. Group the orders by the Total column into a few value bands.
  5. Work out the refusal rate for each band: refused COD orders ÷ all COD orders in that band × 100.

A few things to weigh before you pick:

  • Keep your normal basket under the limit. If most of your orders are around 300 AED, a limit of 400 AED would push many ordinary shoppers to pay by card, and some of them may leave instead.
  • Small bands mislead. If a band has only a handful of orders, one refusal changes its rate a lot. Use a longer date range, or wider bands.
  • Check the Currency column. Shopify describes it as your store's base currency at the time of the order. If you changed your store currency during your date range, don't compare totals from before and after the change.
  • Review it later. After a month or two, repeat the export and see whether refusals above and below the limit changed.

Khaleeji COD's GCC preset starts with a limit of 1,500 in your shop's currency. Treat that as a starting point and change it to fit your own numbers.

Which total does the rule check?

Shopify gives a payment customization two cart amounts: the total amount (Shopify describes it as the total the customer pays at checkout) and the subtotal (before taxes and cart-level discounts). An app may compare either one. The two amounts can differ, so the same cart can be above your limit on one and below it on the other. Ask which one your app uses and set the limit with that in mind.

What about shoppers paying in another currency?

If you sell to several GCC countries, some shoppers may check out in their own currency. Shopify's documentation says Functions receive money amounts in the currency the customer sees at checkout, and provides an exchange rate between your store currency and that currency.

That matters for your limit. If your store currency is AED and a shopper checks out in SAR, the cart total the rule sees is in SAR. A rule that compares it directly with "1,500" would be comparing two different currencies. A correct rule converts first. Khaleeji COD keeps your limit in your shop's currency and converts carts in other currencies before comparing. If you use another app, ask how it handles this.

How do you test it?

Use a draft order, because its checkout link runs payment customizations like a normal checkout.

  1. In your Shopify admin, go to Orders > Drafts and select Create order.
  2. Add products until the total is above your limit, and add a test customer.
  3. Select Share, then Copy link.
  4. Open the link in a private browser window and continue to the payment step.
  5. Check that Cash on Delivery is missing and your other methods are still there.
  6. Repeat with a second draft order below the limit. COD should appear.

What do shoppers see when COD is hidden?

They see your other payment methods, with no message about COD. To avoid surprises, say it before checkout: a line on your shipping or FAQ page such as "Cash on Delivery is available for orders up to 1,500 AED" sets the expectation. A short COD policy page, linked from your footer, is a good place for it.

Sources

  1. Shopify.dev: Payment customization Function API
  2. Shopify.dev: Localization practices for Shopify Functions
  3. Shopify Help Center: Manual payment methods
  4. Shopify Help Center: Checkout Blocks payment method customizations
  5. Shopify Help Center: Exporting orders
  6. Shopify Help Center: Sending draft order invoices

Checked on the date above. Shopify and courier settings change, so check the source if something looks different.

Stop paying shipping twice for refused orders

Khaleeji COD is coming soon to the Shopify App Store. Email us and we'll tell you the day it's live.

Coming soon to the Shopify App Store · Email: