Shopify has a native "Cash on Delivery" payment method β but turning it on does not actually give your customers a real COD experience. The checkout still asks for email, billing address and shipping details on three separate pages, which is fine in the US but cripples conversion in MENA, Southeast Asia and Latin America.
This guide walks through the right way to set up COD on Shopify: enable the payment method, replace the multi-step checkout with a one-page form, and add the basic protections that stop fake orders. Time required: about 25 minutes, no code.
Step 1 β Enable Cash on Delivery as a payment method
- From your Shopify admin, go to Settings β Payments.
- Scroll to Manual payment methods β Add manual payment method β Cash on Delivery (COD).
- Add payment instructions visible at checkout: "You will pay in cash when the courier delivers your order. Please have the exact amount ready."
- Save.
This makes COD an option at checkout β but customers still see Shopify's standard 3-page flow. The next step fixes that.
Step 2 β Replace Shopify's checkout with a one-page COD form
The single most important UX decision in COD ecommerce: do not ask for an email. Do not ask for a billing address. Do not show payment buttons that are not COD. Every extra field drops conversion by 5β8%.
The cleanest way is with a dedicated COD form app. Install CODRocket on Shopify free, open the funnel editor, and build a form with just:
- Full name
- Phone number (with country-code dropdown)
- City (dropdown of your shipping zones, not free text)
- Address (single textarea)
- Quantity selector
- Place order button
CODRocket replaces the Shopify checkout with this form on any product page you choose. The customer never sees the multi-step checkout.
Step 3 β Validate phone numbers in the local format
This is the number-one reason COD orders fail. The customer types 0612345678 but your courier needs +212612345678. If the format is wrong, the call center cannot reach them and the order gets cancelled.
Inside CODRocket β form builder β phone field, enable:
- Country-code dropdown (auto-selects based on the visitor's IP)
- E.164 normalization (saves the number as
+212612345678regardless of how the customer typed it) - Length validation per country (10 digits for Morocco, 9 for KSA, etc.)
CODRocket Tip
In Morocco, valid mobile prefixes start with 6 or 7. In Saudi Arabia, with 5. CODRocket auto-rejects numbers that do not match the local pattern before submission β the customer sees a red border and a helpful hint instead of a broken order downstream.
Step 4 β Block duplicate and obviously fake orders
Four common fake-order patterns:
- Same phone number ordering 5+ times in an hour β bot or sabotage.
- Phone numbers with sequential digits (0600000000, 0612345678).
- City field does not match address (city says "Casablanca", address says "Marrakech").
- Same IP placing 10+ orders with different names.
CODRocket's fake-order filter catches all four automatically. Orders flagged as suspicious go to a Review queue instead of straight to your courier β you decide whether to ship.
Step 5 β Connect your courier
Confirmed orders should sync to your courier without you copy-pasting addresses. CODRocket has direct integrations with:
- Morocco: Sendit, Speedaf, Anycar, Ozonexpress
- GCC: Aramex, SMSA, Naqel
- Egypt: Bosta, Mylerz
- West and North Africa: Yalidine, DHL
- Southeast Asia: J&T, Ninja Van
Open the app, go to Settings β Couriers, pick yours, paste your API key. After this, marking an order as "Confirmed" automatically creates a pickup at your courier.
Step 6 β Choose your confirmation workflow
Most COD stores call every customer before shipping. CODRocket supports three confirmation modes:
- Manual β your team calls each order; mark Confirmed, Cancelled or Unreachable.
- Auto β orders that pass the AI fake-order filter are auto-confirmed without a call.
- AI-assisted call β automated voice call asks the customer to press 1 to confirm. Available in Arabic, French and English.
Smaller stores start manual. Once you are past 30 orders per day, switch to AI-assisted β same confirmation rate, a fraction of the labor cost.
FAQ
Does Shopify charge for using cash on delivery? No β Shopify does not charge a separate fee for the COD payment method. You only pay your normal Shopify subscription.
Can I offer both COD and card payment on Shopify? Yes. Many MENA stores show COD locally and card to international visitors. CODRocket detects the visitor's country and shows the right form automatically.
Why is my COD checkout converting so badly? Most likely you are using Shopify's default checkout, which is built for card payments. Replace it with a one-page form (Step 2).
Do I need an app to enable COD on Shopify? Technically no β you can enable the native COD payment method. But you need an app to replace the multi-step checkout with a COD-friendly one-page form. That is where the conversion lift comes from.
Next steps
If you have not yet, install CODRocket on Shopify free and follow the 5-minute setup wizard. It walks you through all six steps above automatically. Then read our deep dives on building a high-converting COD form and the right questions to ask in your form.
Ready to scale your Shopify COD store?
Install CODRocket on the Shopify App Store β the all-in-one app for cash-on-delivery merchants. One-page COD form, AI fake-order filter, upsells, courier integrations, and analytics in one click.
Install CODRocket on Shopify β