Cash on Delivery on Shopify: How to Set It Up, and What the Built-In Option Can’t Do

If your store sells into a market where customers pay when the box arrives rather than at checkout, you’ve probably already typed “shopify cash on delivery” into Google and landed on a setup guide. The native feature takes about two minutes to turn on, and for a lot of merchants, that’s where the research stops — they activate it, ship a few orders, and only later notice how much of the COD process Shopify never actually handles.

This article walks through both halves honestly: exactly how Shopify’s own COD option works, and the specific, concrete gaps that show up once real order volume hits it.

Why COD on Shopify is different from a normal payment method

Every other payment method in Shopify — cards, wallets, buy-now-pay-later — routes through a gateway that authorizes the charge before the order is even created. Cash on Delivery doesn’t. Shopify classifies it as a manual payment method, the same bucket as bank deposit or money order. That means the moment a customer picks COD, Shopify creates the order and marks it Unpaid, with no verification step of any kind between “customer clicked a button” and “order is now waiting to ship.”

That’s not a flaw exactly — it’s what manual payment methods are for. But it means every risk that a card gateway would normally absorb (a fake number, a typo’d address, someone testing the checkout with no intent to buy) lands directly on you and your courier instead.

Setting up native Cash on Delivery in Shopify

To turn it on:

  1. From your Shopify admin, go to Settings → Payments.
  2. Scroll to Manual payment methods and select Add manual payment method.
  3. Choose Cash on Delivery (COD) from the list. If it isn’t offered directly in your region, you can create a custom payment method and name it “Cash on Delivery.”
  4. Fill in Additional details (shown next to the payment option at checkout) and Payment instructions (shown on the order confirmation page — useful for telling the customer to have exact change ready).
  5. Click Activate.

Settings → Payments → Manual payment methods, with Cash on Delivery (COD) added and ready to activate.

That’s the entire native setup. There’s no application, no approval wait, and no fee to Shopify for using it. Full official reference here: Shopify’s manual payment methods documentation.

Once it’s active, COD shows up as a normal option in checkout alongside your other payment methods. When a customer chooses it, Shopify creates the order immediately and marks it Unpaid — you or your courier update it to Paid once the cash is actually collected.

What the built-in option doesn’t do

This is the part most setup guides skip, because it isn’t a settings problem — it’s a design limitation. Native COD is a payment method, not a COD workflow. Specifically:

The customer still goes through Shopify’s full checkout. Contact info, shipping address, a payment step, a review step — the standard multi-page flow, just with COD as one of the options at the end. For a market where COD buyers are used to a single short form, that’s friction a card-paying customer elsewhere wouldn’t notice.

There’s no confirmation step. Nothing texts, calls, or messages the customer to confirm they meant to place the order before it’s packed and handed to a courier.

There’s no quantity or bundle pricing built into the flow. If you want to offer “2 for 10% off” or a 3-pack rate, native checkout has no mechanism for surfacing that at the moment someone is placing a COD order.

There’s no upsell. The order is a single transaction with no prompt to add anything related before it’s submitted.

Nothing screens for risk. A customer can submit an order with a fake or unreachable number, or from an address with a track record of refused deliveries, and Shopify has no way to flag either one before your courier is already en route.

Once an order sits Unpaid, nothing follows up. If a customer never confirms, or the courier reports a refused delivery, that’s the end of the automated process — there’s no reminder, no re-attempt, no re-engagement.

None of this is a bug. Shopify’s manual payment method is intentionally minimal. But each gap has a direct cost: return shipping on refused packages, wasted courier trips on orders nobody confirmed, and revenue left on the table because checkout never asked for more than one item.

What a dedicated COD form changes

This is the layer that sits in front of checkout instead of replacing it — and it’s what an app like CODPrem is built to do.

Instead of Shopify’s multi-step checkout, CODPrem replaces the buy flow with a single-page COD form directly on the product page: name, phone, address, and a Place Order button, with pricing and offers already decided ahead of time.

A CODPrem form on a product page — quantity offers, order fields, and a WhatsApp confirmation, all in one step.

Mapped against the gaps above:

Native Shopify CODWhat CODPrem adds
Multi-step checkoutOne-page form on the product page
No confirmationAutomated WhatsApp confirmation after submit
No quantity pricingBuilt-in bundle and quantity offers (2-pack, 3-pack, etc.)
No upsellUpsell offers inside the same flow
No fraud screeningRules that flag risky numbers and addresses before fulfillment
No follow-up on drop-offAbandoned-lead capture, so incomplete submissions aren’t lost
No visibility into what’s workingProfit-per-campaign tracking tied to the order

None of this replaces the setup covered earlier — COD still needs to be active as a payment method in Shopify’s own settings. CODPrem sits in front of that and handles the parts native checkout was never built to.

What’s coming next

Two things currently in development, not yet available: automated WhatsApp order-status updates beyond the initial confirmation (shipped, out for delivery, etc.), and a direct ad-spend pull from Meta and TikTok so campaign profit shows up next to the orders it generated, without manual exports. Neither is live yet — worth knowing if you’re evaluating the app now and these matter to your workflow.

FAQ

Does Shopify charge a fee for Cash on Delivery? No — COD is a manual payment method, so there’s no Shopify transaction fee on it the way there is with card payments. Courier and logistics fees are separate and depend on your shipping provider.

Can I combine native COD with a form app like CODPrem? Yes — COD still needs to be turned on in Settings → Payments as described above. A COD form app works in front of that, replacing how the order is collected, not the payment method itself.

Will COD orders show as paid in my Shopify admin? No. They’re created as Unpaid and stay that way until you or your fulfillment team mark them paid once the cash is collected.

Getting started

Native COD covers the payment method. Everything that determines whether it’s actually profitable — the form, the confirmation, the fraud screening, the follow-up on drop-off — happens around it.

Install CODPrem from the Shopify App Store, or read the CODPrem Quick Start guide to set up your first form.

Quick Overview