Services Marketplace Work Hosting About
Start a projectSign in

COD Protection FAQ and Troubleshooting

Last updated 17 September 2026

Frequently asked questions

Does it work with the checkout block?

Yes. It works with the classic checkout and the WooCommerce checkout block. In the checkout block the "pay now, pay on delivery" split is shown on the pay page right after the buyer places the order.

Which payment gateways can collect the advance?

Razorpay. It covers UPI, cards, net banking and wallets for Indian buyers.

Is the advance taxed separately?

No. Tax is calculated on the products and shipping as usual. The advance is a part payment, so the advance line carries no tax.

Can buyers skip the advance?

No. The amount comes from the saved order and the order is confirmed only after Razorpay confirms that exact amount.

Will my existing cash on delivery settings still apply?

Yes. COD Protection keeps WooCommerce's own cash on delivery method with the same title, description and shipping method limits.

Do COD charges apply to prepaid orders?

No. COD charges appear only while cash on delivery is the chosen payment method. Switch to UPI or a card at checkout and they disappear.

Are COD charges added to the amount the courier collects?

No. COD charges are always paid online before the order ships. The courier collects the price of the goods, minus any advance on the price.

Troubleshooting

Checkout shows no advance line

  • The Licence tab must say Active.
  • Protection on must be switched on at the top of the COD Protection screen, and saved.
  • The store currency must be INR.
  • Payments must say Ready to collect online.
  • The advance for this order may be ₹0: check your default advance and rules.

Cash on delivery disappeared for a buyer

Either the buyer's phone or address has reached the returns threshold, or the advance would cover the whole order. Open one of their orders and check Returned parcels from this buyer, or use Clear this buyer.

The buyer paid but the order is still Pending payment

  • Check the order notes for a line starting with "COD Protection".
  • Make sure the Razorpay webhook is added with payment.captured and payment.authorized, and that the same secret is saved in Settings.
  • Razorpay Dashboard, Webhooks shows each delivery and its response. A 401 response means the secret does not match.

Shiprocket shows the full amount

  • Open the order in WooCommerce: the total should be the balance and there should be an "Advance paid online" line.
  • Check that the Shiprocket payment mapping for Cash on delivery is COD.
  • If the order was synced to Shiprocket before COD Protection was installed or before the advance was refunded, update it in Shiprocket.

Licence says not active after moving the site

The key is locked to the old address. Deactivate it there, or contact support to release it, then activate on the new address.

Support

Open a ticket from your eternaltech.dev account with the order number and a screenshot of the COD Protection box on the order. Never send your Razorpay key secret.