Set up OTP verification
Configure which COD orders require verification and how customers complete it.
OTP verification is the core COD Verifier workflow. When a customer places a COD order, the app can send a one-time code to the order phone number and record whether the customer verifies successfully.
Before you start
Make sure you have:
- COD Verifier installed on your Shopify store.
- A manual payment method for Cash on Delivery, or another manual payment method you want to verify.
- Access to Shopify checkout customization so you can place the app blocks.
Choose the payment methods to verify
Open COD Verifier in Shopify and go to Settings.
In Payment Methods, select the payment methods that should trigger OTP verification. The default is Cash on Delivery (COD).
If your COD payment method has a different name, use Scan Recent Orders to detect manual payment methods from recent orders. You can also add a custom payment method name manually.
Configure OTP rules
In OTP Configuration, set:
- OTP expiry time: how long a code remains valid. The recommended starting point is 5 minutes.
- Retry attempts: how many times a customer can try a code before the verification fails. The recommended starting point is 3 attempts.
Short expiry windows reduce abuse. Longer windows are more forgiving if your SMS delivery is slow in a specific market.
Configure auto-cancellation
In Auto-Cancellation, choose whether COD Verifier should automatically cancel unverified COD orders.
Common settings:
- 24 hours for most stores that review COD orders daily.
- 6 to 12 hours for fast-moving inventory.
- Disabled if your team wants to manually review every unverified order.
Cancelled orders remain in Shopify so your team can review failed or expired verification attempts later.
Configure order tags
COD Verifier adds tags as orders move through the verification lifecycle.
The default tags are:
COD_VERIFIEDfor successfully verified COD orders.COD_PENDINGfor COD orders waiting for verification.COD_FAILEDfor orders that exceed the maximum number of attempts.COD_EXPIREDfor orders where the OTP expired.
Use tags to create Shopify order views for fulfillment, support, and manual review.
Configure the SMS message
Choose one of the built-in SMS templates or write your own.
Available variables:
{{otp_code}}for the one-time code.{{order_number}}for the Shopify order number.{{expiry_minutes}}for the configured expiry window.{{shop_name}}for your store name.
Keep the message short and clear. If the SMS is too long, delivery may be split across multiple message segments.
Enable verification
After saving settings, turn verification on from the settings page. Then place a test COD order and confirm that:
- The order receives the pending tag.
- The customer can request and enter an OTP from the extension block.
- A successful verification adds the verified tag.
- Failed, expired, and cancelled cases behave as expected for your store.
Next, install the extension blocks so customers can complete verification from Shopify's post-purchase surfaces.