Troubleshooting: COD still showing, or hidden by mistake

Updated · 6 min read · Trifid Media LLC

Start with the first three checks below. They apply to every rule. Then go to the section that matches what you see at checkout.

Are you testing in a real checkout?

Khaleeji COD works through a Shopify payment customization, and Shopify runs those only in the online checkout, including a draft order's checkout link. They don't run in the Shopify admin, in POS, when you edit an order, or while you create a draft order and collect payment in the admin. If you look at payment options in those places, you'll see COD as normal.

To test properly:

  1. Create a draft order with the products you want to test. For a customer rule, assign the test customer.
  2. Open the draft order's checkout link and go to the payment step.
  3. After you change your rules, start a new checkout or reload the page. A checkout you opened before saving can still show the old result.

The full steps are in how to test checkout payment rules with draft orders.

Does the Status badge say Active?

Look at Status at the top of the Khaleeji COD page:

BadgeWhat it meansWhat to do
ActiveThe rule is running at checkout.Nothing.
Off"Saved but switched off in Shopify settings." Your rules are saved, but the app's payment customization is switched off in Shopify.Press Save rules. The app switches it back on.
Not set upNothing has been saved, so nothing runs.Choose your rules and press Save rules.

Use GCC preset only fills in the form. Nothing changes at checkout until you press Save rules.

Did your rules save?

After Save rules you should see "Rules saved." The first time, it says the app "is now live at checkout". If you see something else:

  • "The free plan includes 1 rule plus the Arabic name" means nothing was saved. The free plan allows one checkout rule, and the GCC preset ticks four. Untick all but one, or upgrade to Pro. A rule counts as soon as its box is ticked, even if its amount or list is empty.
  • "Could not save" means Shopify refused the change. Reload the page and try again. If it keeps failing, email 9090mohammad123@gmail.com with the full message.

COD still shows for everyone

The app only acts on payment methods it recognises as Cash on Delivery by name. Shopify's built-in "Cash on Delivery (COD)" is recognised. So is any name that contains "Cash on Delivery", "Cash-on-Delivery", "Pay on Delivery", «الدفع عند الاستلام», «الدفع عند التسليم» or «الدفع نقدا عند الاستلام», plus the exact names "COD", "(COD)" and "C.O.D". A custom method called, say, "Pay at the door" isn't recognised, so it's never hidden or renamed.

A quick sign: with Show a clear name at checkout ticked, an English checkout should show your Name for other shoppers. If it shows a different name, the app doesn't recognise the method.

The Khaleeji COD page has no setting for extra COD names, so fix the name in Shopify:

  • Use Shopify's built-in Cash on Delivery (COD) method. Or, in Settings > Payments, create a custom manual payment method whose name contains "Cash on Delivery" (for example "Pay cash on delivery"), activate it, and deactivate the old one.
  • Arabic names must match letter for letter. «الدفع نقدًا عند الاستلام» with the tanween mark (ً) is different text from «الدفع نقدا عند الاستلام». Remove the mark, or use «الدفع عند الاستلام».

A name with "Cash on Delivery" or «الدفع عند الاستلام» also suits the refuser scan, which looks for one of those two names, or exactly "COD", in each cancelled order's payment method. If your method must keep its current name, email 9090mohammad123@gmail.com.

COD still shows for a tagged customer

  • The tag must be exactly cod-refused or cod-blocked.
  • Hide COD for customers tagged cod-refused must be ticked. It covers cod-blocked too.
  • The customer must be identified at checkout: logged in to their account, or on a draft order assigned to them. In a guest checkout, Shopify may not link the checkout to their customer record, and then the rule can't see the tag.
  • If the person has two customer records, for example with two email addresses, the tag must be on the one they check out with.

More in how to block COD for specific customers with tags.

COD still shows on a big cart

  • The rule must be ticked and have an amount. An empty amount or 0 never matches.
  • Amounts are in your shop's currency, shown next to the box. If your shop currency is USD and you typed 1500 meaning AED, the limit is USD 1,500. Carts in other currencies are converted to your shop's currency before the check.
  • "Above" means more than. With a limit of 1,500, a cart of exactly 1,500 keeps COD.
  • The rule uses the checkout total Shopify gives it, the amount the shopper is asked to pay, so a discount code can bring a cart back under your limit.
  • The first-order rule only applies to guests and to customers with 0 previous orders.

COD still shows in a blocked emirate, region or city

  • Region codes are the country code, a hyphen and Shopify's region code: AE-AZ for Abu Dhabi, AE-FU for Fujairah. A name such as "Abu Dhabi" doesn't work in the region box.
  • Region codes are confirmed for UAE emirates only. Shopify's checkout asks for no region in Saudi Arabia, Qatar, Bahrain or Oman, and Kuwait's region codes don't fit the app's format, so use the city rule in those countries.
  • A city must match the whole name the shopper typed, ignoring capital letters and spaces at the ends. "Al Ain", "Al-Ain" and «العين» are three different names to the rule, so add each spelling your shoppers use, separated by commas.
  • Both rules read the shipping address. Until the shopper has entered one, there is nothing to match.

See how to limit COD by emirate, region or city.

COD is hidden when it shouldn't be

COD is hidden when any ticked rule matches, so check each one:

  • Guests always count as first orders, because the rule can't see their order history. With the GCC preset, a guest cart above 500 loses COD, even for a loyal customer who didn't log in.
  • One product tagged no-cod hides COD for the whole cart.
  • The customer may have a cod-refused tag from an earlier scan. If that was a mistake, remove the tag in Customers.
  • An amount may be lower than you meant, or typed with a different currency in mind.
  • A region code covers the whole emirate or region, not one city in it.
  • Another app may be hiding payment methods too. In Settings > Payments, click Manage in the Payment customizations section and look for customizations from other apps.

The Arabic name doesn't show

  • Show a clear name at checkout must be ticked, with a name in Name for Arabic shoppers.
  • The shopper's checkout must be in Arabic. The language of your admin page doesn't matter.
  • When a rule hides COD, there is no name to show.

See using Khaleeji COD in Arabic.

The money-lost report shows less than you expect

  • The report counts only cancelled COD orders that had shipped, meaning Shopify has a fulfillment recorded on the order. If you send parcels without marking orders as fulfilled, they count as never shipped.
  • The scan only covers orders placed in the last 60 days.
  • Both shipping costs start at 0 each time you open the app. Type them in again.

See how the money-lost report is calculated.

Still stuck?

Email 9090mohammad123@gmail.com with what you expected, what you saw, the cart total and currency, whether the shopper was logged in, the shipping city, and a screenshot of your rules. Never send passwords.

Sources

  1. Shopify.dev: Payment customization Function API
  2. Shopify Help Center: Customizing payment methods and delivery options at checkout
  3. Shopify Help Center: Manual payment methods

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: