Troubleshooting

The failures merchants hit most, and what each one actually means.

The modal never appears

Almost always the app embed. Go to Online Store → Themes → Customise → App embeds and confirm the CODGuard embed is enabled and the theme is saved. The embed must be enabled on the live theme, which is not always the one you were editing.

If the embed is on and the modal still does not render, check the browser console for a blocked script — some third-party consent tools will hold app embeds until consent is granted.

OTPs are not being delivered

Work through it in this order.

  1. Check the plan. No approved subscription means /send-otp returns HTTP 402 and nothing is sent. This is the single most common cause.
  2. Check the logs. OTP_SENT present but no delivery means a messaging problem. No OTP_SENT at all means the request never got that far.
  3. Check the rate limit. OTP_RATE_LIMITED means the number exceeded its sends for the current ten-minute window — including your own during testing.
  4. Check the template. WhatsApp templates require Meta approval. An unapproved or edited template will fail at the API.

COD still appears when a rule should hide it

The payment customization function reads _codguard_payment from the checkout. If the shopper reached checkout without going through the modal — a direct /cart link, a saved checkout URL, or a theme path that bypasses the cart — the attribute is absent.

Confirm the Function is active in Settings → Payments → Customizations in your Shopify admin, and that the rule's priority puts it above any conflicting ALLOW rule.

Orders arrive without a payment mode

The webhook logs ORDER_RECEIVED_UNKNOWN when neither the attribute nor a stored selection can be matched. Usually this is an order that genuinely bypassed the modal — a draft order raised by staff, a POS sale, or a subscription renewal. If it is happening on ordinary storefront orders, check that the app embed is live on the current theme.

A partial order shows the deposit, not the products

The order edit runs on the orders/create webhook and takes a moment. If it has not completed, look for PARTIAL_ORDER_EDIT_DONE in the event log. If it is missing, the error log will hold the failure — most often a permissions issue on order edits after a scope change.

Still stuck

Send the order number and the timestamp to support@codguard.in. Every message, event and error is logged per shop, so a timestamp is usually enough to find the exact cause.