Skip to content

Customer didn't receive the OTP

Missing OTP messages are the most common issue reported by COD merchants. Follow this ladder top to bottom — each step rules out a likely cause.

Open the order in Cartsaver and look at the customer’s phone:

  • It must start with + and the country code (for example, +201xxxxxxxxx).
  • A local-only format (for example, 01xxxxxxxxx with no country code) will fail with most providers.

Fix: in your Shopify checkout settings, enable “Phone validation” so Shopify enforces international format at entry time.

  • Open Cartsaver → Dashboard.
  • Look at “Messages remaining” for the current period.
  • If it’s at 0, no new messages will be sent until the plan renews or you upgrade.

Details in Billing and quota.

  • For SMS: Settings → SMS Providers — provider should show Connected with a green badge.
  • For WhatsApp: Settings → WhatsApp → Status — account should be approved and the OTP template should be Approved.

If status shows Disconnected or Suspended, contact your provider directly.

  • Open Cartsaver → Logs.
  • Search for the affected order by order number or phone number.
  • Look at the “Status” column:
StatusMeaningNext step
QueuedStill in the send queueWait a minute
SentHanded off to the providerBall is in the provider’s court
FailedSend failedRead the “Reason” column
DeliveredArrived on the deviceIssue is with the customer’s device
RejectedProvider rejectedNumber may be on the provider’s blocklist
  • Number isn’t on WhatsApp — can’t send a WhatsApp message to a number that doesn’t use the app.
  • Business message block — some customers block business messages in WhatsApp settings. Ask them to check Settings → Privacy → Business messages.
  • Template rejected — see WhatsApp Order Confirmation for template details.
  • Unapproved sender ID for the destination country — message may arrive under a generic fallback name, or not at all.
  • Provider account balance is zero — even with Cartsaver quota available, the underlying provider must have credit.

Switch to the fallback channel. If you haven’t configured one, see OTP channels.

Then head to Contact support and include:

  • Shopify order number.
  • Customer phone number in international format.
  • Send timestamp (ISO 8601 UTC).
  • The exact “Status” value from Logs.