Convert COD to prepaid
Turn confirmed cash-on-delivery orders into prepaid orders with a WhatsApp payment offer.
How it works
- The customer confirms their COD order on WhatsApp (same as today).
- If Convert COD to prepaid is on, Level creates a discounted Shopify draft-order invoice and sends a utility WhatsApp message with a Pay now button.
- The customer taps the button, pays through Shopify checkout, and a new prepaid order is created.
- Level marks the offer as converted, tags both orders, and (by default) cancels the original COD order so your team ships the paid order only.
If the customer never pays, nothing changes operationally — you keep fulfilling the confirmed COD order.
What merchants should know
- The original COD order remains the shipping source until payment succeeds.
- After payment, treat the new prepaid order as the live order. The COD order is cancelled and cross-tagged.
- The offer is sent after COD confirmation only (not on order placement).
Settings
Open COD verification → Settings and find Convert COD to prepaid.
| Setting | Purpose |
|---|---|
| Enable | Turns the post-confirm offer on or off |
| Delay (minutes) | Wait after confirm before sending the offer (0 = immediately) |
| Discount type / value | Percent or flat discount on the draft invoice |
| Link expiry (hours) | When Level marks the offer expired in the app |
| Min / max order total | Optional guardrails for which confirmed COD orders get an offer |
| Auto-cancel original | Cancel the COD order in Shopify after successful payment (recommended) |
The settings card also shows simple totals: offers sent, conversions, expired offers, and prepaid value.
WhatsApp template
Default shared template: level_cod_prepaid_offer (utility). Assign it under WhatsApp flows as COD → prepaid offer.
The payment button uses Level’s short /r/{token} redirect (same pattern as abandoned cart), so Meta sees a fixed HTTPS base URL.
Shopify tags and notes
| Tag | Where | Meaning |
|---|---|---|
level-prepaid-offer | Draft / prepaid order | Offer created for a COD order |
level-converted-prepaid | Original COD order | Customer paid online; COD replaced |
level-prepaid-from-cod | New prepaid order | Replacement for a confirmed COD order |
Draft notes include level-cod-source:{original_shopify_order_id} so Level can match payment back to the COD order.
See also Shopify tags & notes.
Order detail
On a COD order that received an offer, Level shows a Prepaid conversion panel with status (sent, converted, expired, failed), discount, prepaid total, and a link to the replacement order when converted.