Product

Everything between the cart and the courier.

Six core capabilities, three supporting ones. Each fixes a specific way a COD order fails. All of them configured from one dashboard.

01 · OTP verification

A fake number never becomes an order.

Customers confirm their phone over WhatsApp or SMS before a COD order can be placed. Mistyped and throwaway numbers drop out at the cart, not at the doorstep.

A verification modal appears on the storefront — product page, cart page and cart drawer included. The shopper enters their mobile number, receives a one-time code, and confirms it to proceed.

If they never verify, they cannot place a COD order. They can still pay prepaid, or leave. That is exactly the point: an unverified COD order is the one most likely to come back to you.

Codes are six digits, expire in ten minutes, and are stored as SHA-256 hashes — never in plaintext. Delivery runs through the Meta WhatsApp Cloud API with every credential held server-side.

At a glance
Channels
WhatsApp, SMS, or both
Code length
6 digits, 10-minute expiry
Rate limit
3 sends per number per 10 min
Returning customers
Optional skip for verified phones
02 · RTO risk scoring

Every COD order scored before it ships.

Address quality, order history and behavioural signals produce a 0–100 score and a LOW / MEDIUM / HIGH / CRITICAL band on every cash-on-delivery order.

You set the thresholds. Orders at or above your auto-flag score are held for review; if you choose to enable it, an auto-cancel score stops them before dispatch entirely.

The score and its full signal breakdown are saved with every order, so a flag is never a black box — you can see precisely which signals fired and audit the decision months later.

At a glance
Score range
0–100, four risk bands
Auto-flag
Default: flag at 80 and above
Auto-cancel
Off by default, yours to enable
Audit
Signal breakdown stored per order
03 · Prepaid incentives

A prepaid order cannot come back.

Offer an automatic discount for paying upfront — typically 5–10% — and let the arithmetic do the work. Every conversion is margin that can no longer be returned to origin.

The discount is created and applied automatically at checkout. There are no coupon codes to manage, no manual reconciliation, and the applied percentage is recorded against the order for reporting.

A 7% discount on a ₹1,500 order costs you ₹105. One returned COD order of the same value costs two-way freight plus restocking. The trade is rarely close.

At a glance
Setup
One percentage field
Discount
Created and applied automatically
Reporting
Prepaid share tracked daily
04 · Partial payments

Take a deposit now, the balance on delivery.

Collect a token amount at checkout and the remainder when the parcel arrives. A customer who has already paid something is far more likely to accept it.

CODGuard uses a Shopify draft order so real products check out discounted down to the deposit — no placeholder products, no inventory side effects. Variant prices are fetched server-side, so the deposit cannot be tampered with from the browser.

When the order arrives, CODGuard runs a Shopify order edit: deposit lines go to zero, the real products come in at full price, and a staff note records deposit paid versus balance due on delivery.

At a glance
Default upfront
30%, configurable
Mechanism
Draft order + automatic order edit
Balance
Split proportionally across cart lines
05 · Business rules

Decide exactly when COD is on the table.

Block COD by pincode, cap it above a cart value, exclude products or entire collections, and add a handling fee — all from the dashboard, with no theme code.

Rules are evaluated in priority order and each one can BLOCK or ALLOW, so you can carve exceptions out of broad policies rather than maintaining two lists.

Enforcement happens at checkout through a Shopify payment customization function, which hides the cash-on-delivery method entirely when your rules say so. Buyers never see an option they cannot use.

At a glance
Pincode
Block high-RTO delivery zones
Cart value
Require prepaid above a threshold
Catalogue
Exclude products or collections
COD fee
Surfaced as a Shopify delivery rate
06 · Analytics & logs

Find out whether the change actually worked.

Every OTP, payment selection, message and order is recorded. The dashboard compares each rolling 30-day window against the one before it.

Daily roll-ups track total orders, the COD / prepaid / partial split, RTO count, OTPs sent and verified, messages delivered, abandoned versus recovered checkouts, and address corrections.

Underneath sits an immutable event log and a structured error log — a full audit trail of the COD funnel down to the delivery status of an individual message.

At a glance
Comparison
30 days vs. previous 30
Granularity
Down to a single message
Retention
Immutable event trail per shop
Also included

The three that quietly save the awkward ones.

A wrong address, a shopper who nearly bought, and the customer you would rather not ship to again.

Address correction

Fix a bad address before the courier finds it.

When fulfilment spots an undeliverable address, they trigger a correction from the Shopify order screen. The customer gets a WhatsApp link, submits the fix, and it syncs straight back to the order.

The form is hosted by CODGuard behind a single-use token, so the customer never needs an account and staff never retype an address from a phone call.

Trigger
Admin action on the order
Channel
WhatsApp magic link
Sync
Writes back to the Shopify order
Plans
Starter and above

Abandoned checkout recovery

Bring back the shopper who nearly verified.

Checkouts that started the OTP flow but never converted are tracked separately, so recovery messages reach people who were one tap from ordering.

These are the warmest carts you have: the shopper chose a payment mode and asked for a code. Recovery messages are billed at your plan's message rate, like any other message.

Tracked
OTP started, order never placed
Reporting
Abandoned vs. recovered, daily

Blacklist & whitelist

Some customers you never want to ship to again.

Maintain per-store lists by phone or email that always block — or always allow — a specific customer, regardless of what the rules and risk score say.

Whitelists matter as much as blacklists: your best repeat buyers should never be slowed down by a rule written for strangers.

Match on
Phone or email
Effect
Hard block or hard allow
Under it all

Shopify-native, all the way down.

No script injection, no theme edits, no parallel checkout. Every enforcement point uses a mechanism Shopify built for it.

How the integration works
App embed block
Renders the verification modal on the product page, cart page and cart drawer — no theme code.
Payment customization
A Shopify Function that hides COD at checkout when your rules disallow it.
Delivery customization
Hides COD-specific delivery options on prepaid and partial orders, and never hides the cheapest option for a COD buyer.
Admin order action
Lets fulfilment trigger an address correction from the Shopify order screen.
App proxy endpoints
The storefront talks to CODGuard under your own domain, authenticated by Shopify HMAC.
Order attributes
Payment mode, verification state and session id ride along with every checkout.