COD orders on Shopify have a 25–35% return-to-origin rate. Prepaid orders sit at 2–3%. That gap is where your profit disappears — on shipping costs for products that come back, on tied-up inventory, on courier fees you never recover.
A prepaid discount is the most effective way to close that gap. A 5–10% incentive for online payment costs you less than a single failed delivery, and it shifts buying behavior over time. Here's how to set up a Shopify prepaid discount on COD orders — three different ways, depending on your store's complexity.
Why Prepaid Discounts Work Better Than COD Fees
Most merchants think about this problem backwards. They add a COD fee to punish cash orders instead of rewarding prepaid ones. Both change the price gap between payment methods, but the psychology is different.
A COD fee feels like a penalty. Customers see it at checkout and feel tricked — especially in markets like India, Pakistan, and the Gulf where COD is the default. A prepaid discount feels like a deal. Same math, opposite emotional response. (For the full strategic framework, see our COD-to-prepaid conversion playbook.)
The numbers back this up. Stores offering prepaid discounts convert 5–10% of COD orders to prepaid on average, according to data from multiple Indian D2C platforms. That might sound small, but run the math. If you process 1,000 COD orders per month with a 30% RTO rate, converting 100 to prepaid eliminates roughly 30 failed deliveries. At ₹150–300 per failed shipment (forward + return logistics), that's ₹4,500–9,000 saved monthly — from a discount that costs you far less.
What Prepaid Discount Percentage Should You Offer?
Don't guess the discount amount. Calculate it.
You need two numbers: your average order value (AOV) and your cost per failed COD delivery (forward shipping + return shipping + packaging waste + restocking labor). For most stores in emerging markets, failed delivery cost runs 10–20% of AOV.
If your failed delivery cost is 15% of AOV and your COD RTO rate is 30%, each COD order carries a hidden cost of about 4.5% of its value (0.15 × 0.30). A 5% prepaid discount that eliminates that RTO risk is roughly break-even — and any orders it converts beyond the baseline are pure savings.
Start at 5%. If conversion doesn't move after two weeks, bump to 7%. Go above 10% only if your RTO rate is extreme (40%+) and your margins can absorb it. Track the metric that matters: total RTO cost before and after, not just the discount amount. If you're also considering partial prepayment deposits, see our Shopify partial payment setup guide.
Method 1: Use a COD App With Built-In Prepaid Discounts
This is the fastest path for most stores. Several Shopify apps handle prepaid discounts natively — no code, no Shopify Functions, no workarounds.
EasySell lets you configure prepaid discounts directly inside its order form. You set the discount type (percentage or fixed amount), the value, and minimum order thresholds. Customers see the discount applied automatically when they choose online payment instead of COD. Because it's built into the order form itself, the discount appears before checkout — when the payment decision actually happens.
Other apps in this space include Releasit (COD Fee & Partial Pay) and PenguinCOD, both of which support prepaid discount configurations alongside COD fees and OTP verification. The setup across all of them follows the same pattern:
- Install the app and connect it to your store
- Navigate to the prepaid discount settings
- Set discount type: percentage (most common) or fixed amount
- Set discount value: start with 5%
- Set minimum order value if needed (prevents discount abuse on tiny orders)
- Choose which products or collections the discount applies to
- Save and test with a real order
The whole setup takes under 10 minutes. The advantage of using an app over a manual approach is that the discount logic stays tied to the payment method selection — something Shopify's native discount system can't do on its own.
Method 2: Use Shopify Functions for Custom Payment Logic
If you have a developer or use a no-code Functions app, Shopify Functions give you more control. The Discount Function API lets you build conditional discount logic that fires based on checkout conditions — including which payment method the customer selects.
The approach works like this: you create a discount function that checks the selected payment method at checkout. If the customer picks a prepaid option (credit card, UPI, wallet), the function applies a percentage discount to the order. If they pick COD, no discount.
For stores without developers, apps like Function Studio provide a visual builder for this logic. You define conditions (payment method = prepaid), set the discount output, and deploy it — no Rust or Wasm required.
The advantage: Shopify Functions run natively in checkout, so they're fast and don't depend on a third-party app's uptime. The disadvantage: they require Shopify's checkout extensibility (available on all plans now), and building custom functions from scratch needs developer time.
This method makes sense for larger stores doing 500+ orders/month where the precision matters, or stores that already use Shopify Functions for other checkout customizations.
Method 3: Post-Order WhatsApp Conversion
This approach works differently. Instead of offering the discount before the order, you offer it after a COD order is placed — via WhatsApp or SMS.
The flow: customer places a COD order, your automation sends a message within minutes offering a 5–10% discount if they convert to prepaid. The message includes a payment link. If they pay, the order switches to prepaid. If they don't, it stays COD.
WhatsApp-based COD-to-prepaid campaigns report conversion rates between 5% and 15%, depending on the discount offered and the message timing. The key is speed — messages sent within 5 minutes of order placement convert significantly better than those sent hours later.
Tools like Zoko, ZEPIC, and MSG91 handle this automation for Shopify stores. The setup involves connecting your WhatsApp Business account, creating a message template with the discount offer, and triggering it on new COD orders via Shopify Flow or the app's built-in triggers.
This method works well as a complement to Method 1 or 2. The at-checkout discount catches customers who are price-sensitive upfront. The post-order WhatsApp message catches impulse COD buyers who might convert once they've had a moment to think.
Display the Discount Where It Changes Behavior
A prepaid discount that customers don't see until checkout is a wasted discount. The payment decision happens earlier — on the product page or order form — and that's where the incentive needs to appear.
Show the savings explicitly. Not "save with prepaid" but "Pay online and save ₹75 on this order." Put it next to the payment method selection. Use strikethrough pricing to make the savings tangible.
Three places to surface the discount:
- Product page: A banner or badge showing "5% off with online payment"
- Order form: The discount applied live when the customer selects prepaid
- Cart page: A comparison showing COD total vs. prepaid total side by side
The stores that get the best results from prepaid discounts aren't offering bigger discounts — they're showing the discount earlier and more clearly.
Track the Right Metrics After Launch
Don't just measure "prepaid orders went up." Measure the full picture:
- Prepaid share: What percentage of total orders are prepaid? Track weekly.
- RTO rate: Did return-to-origin drop? This is the metric that pays for the discount.
- Discount cost vs. RTO savings: Total discount given minus total RTO cost reduction. This should be positive within the first month.
- AOV by payment method: Sometimes prepaid AOV drops slightly because of the discount. Make sure the RTO savings still outweigh it.
Review monthly. If your prepaid share climbs past 50%, consider reducing the discount to 3% — you've already shifted the behavior, and the smaller incentive will maintain it without cutting into margins unnecessarily.
Start today: pick one method, set a 5% discount, and run it for two weeks. The failed deliveries you prevent in that window will tell you everything you need to know about whether to keep going.