Support
Email support@pakkacod.com. We reply within 2 business days (Monday to Friday, India time, except Indian public holidays). Support is by email only.
Install
- Install Pakka COD from the Shopify App Store. Coming soon to the Shopify App Store
- Approve the permission Shopify asks for. Pakka COD only asks to read and edit orders, so it can see new orders and add tags and notes to them.
- Pick a plan on the app's Plan page. Paid plans start with a 7-day free trial. Shopify bills you.
- Open Settings. Choose your default country, which orders get a WhatsApp confirmation, and how many reminders to send.
- Connect WhatsApp (next section). Until you do, orders are still scored and tagged, but no messages go out.
Connect your WhatsApp Business account
Pakka COD sends confirmations from your own WhatsApp Business number, using Meta's WhatsApp Cloud API. Meta bills you for messages directly.
Before you start, you need:
- A Meta business portfolio with a WhatsApp Business account and a phone number on the WhatsApp Cloud API.
- A Meta app (created at developers.facebook.com) connected to that WhatsApp account.
Using a WhatsApp provider (BSP) instead? Ask them for the details in step 2. If their API works like Meta's Cloud API, enter their address in the optional provider URL field in Settings.
What your buyer will see
Hi Priya, please confirm your cash-on-delivery order #1042 for ₹1,299.00.
Tap Confirm order and we will ship it. Tap Cancel order if you did not place it.
Step 1: Create the message template in WhatsApp Manager
WhatsApp only lets businesses start a chat with an approved template. You create it once.
- Open WhatsApp Manager → Message templates (in Meta Business Suite, pick your business portfolio, open WhatsApp Manager, then Manage message templates). Click Create message template.
- Choose the Utility category.
- Give it a name, for example cod_order_confirmation. Use only lowercase letters, numbers and underscores.
- Choose the language you will write it in, for example English. Note down the name and language. You will need both in step 3.
- Leave the header empty (or use plain text with no variables).
- Write the body and add three variables, in this order:
- First variable: the buyer's first name, for example Priya. If an order has no name, Pakka COD uses “there” (“Hi there”).
- Second variable: the Shopify order number, for example #1042. It already includes the # sign, so don't type another one.
- Third variable: the order total with its currency, for example ₹1,299.00. Don't type “₹” or “Rs” before it.
You can change the wording. Keep all three variables, keep them in this order, and don't start or end the message with a variable.Template body, as it appears in WhatsApp Manager
Hi {{1}}, please confirm your cash-on-delivery order {{2}} for {{3}}. Tap Confirm order and we will ship it. Tap Cancel order if you did not place it. - When Meta asks for samples, enter made-up values such as Priya, #1042 and ₹1,299.00. Never use a real customer's details.
- Under Buttons, add two Quick reply buttons. The order matters:
- First button: Confirm, for example “Confirm order”.
- Second button: Cancel, for example “Cancel order”.
- Keep the message about the order only. If you add offers or discounts, Meta may move it to the Marketing category.
- Click Submit and wait until Meta approves the template.
Step 2: Get your connection details from Meta
- Phone number ID. In your Meta app, open WhatsApp → API Setup. Copy the phone number ID shown for your business number. (This is a long ID, not the phone number itself.)
- Permanent access token. In Business settings, open System users and add a system user. Assign it your app (with Manage app) and your WhatsApp account. Click Generate token, choose your app, pick an expiry that does not run out, and tick these permissions: business_management, whatsapp_business_management and whatsapp_business_messaging. Copy the token. The temporary token on the API Setup page stops working after a few hours, so don't use it.
- App secret. In your Meta app, open App settings → Basic and copy the App secret. Pakka COD uses it to check that replies really come from Meta.
Step 3: Enter the details in Pakka COD
- In Shopify, open Pakka COD and go to Settings.
- Under WhatsApp Business, fill in the phone number ID, access token and app secret from step 2.
- Enter the template name exactly as you created it, for example cod_order_confirmation.
- Enter the language code that matches the template's language:
For other languages, see Meta's list of language codes.
Template language in WhatsApp Manager Code to enter English en English (US) en_US English (UK) en_GB Hindi hi - Tick Enable WhatsApp confirmations and click Save. Your token and app secret are encrypted before they are stored.
Step 4: Send buyer replies to Pakka COD
This is how Pakka COD learns that a buyer tapped Confirm or Cancel.
- In Pakka COD Settings, copy the callback URL and verify token. They are unique to your store.
- In your Meta app, open WhatsApp → Configuration. (If your app was set up with the “Connect with customers through WhatsApp” use case, it is under Use cases → Customize → Configuration.)
- Paste the callback URL and verify token, then click Verify and save.
- In the list of webhook fields that appears, subscribe to messages.
Step 5: Test it
- Place a cash-on-delivery test order in your store, using your own WhatsApp number as the phone number.
- You should get the confirmation message on WhatsApp. Tap Confirm order.
- In Shopify, the order should now have the cod-confirmed tag and a short note from Pakka COD.
Not working? Common fixes
- No message arrives. Check that the template is approved, and that the template name and language code in Settings match it exactly. Check that WhatsApp confirmations are enabled, that the order is cash on delivery, that the risk level in Settings includes the order, and that you have not used up your plan's monthly limit. Also check the buyer has not opted out.
- Meta rejects the message. The template must have exactly three body variables and two quick-reply buttons, Confirm first.
- Button taps are not recorded. Check that the webhook is verified and subscribed to messages, and that the app secret in Settings is the one from the same Meta app.
- It worked, then stopped. Your access token may have expired. Create a permanent token (step 2) and save it again.
You must have your buyers' permission to message them on WhatsApp, as Meta's WhatsApp Business Messaging Policy requires, for example through a clear notice at checkout. Meta explains the rules in its opt-in guide.
Uninstall and data deletion
To uninstall, go to your Shopify admin: Settings → Apps and sales channels → Pakka COD → Uninstall. Then:
- Straight away: the app loses access to your store, your WhatsApp access token and app secret are deleted, any confirmations in progress stop, and Shopify ends your subscription.
- 48 hours later: Shopify asks the app to erase your store's data, and the app deletes everything it still holds for your store: orders, risk scores, message records, data-request exports, the opt-out list and settings. If Shopify's request never arrives, the app deletes it all itself 25 days after uninstall.
- Tags and notes already added to your Shopify orders stay in Shopify. You can remove them there if you like.
- If you no longer use the Meta app, remove the Pakka COD callback URL from its WhatsApp settings.
If you reinstall within 48 hours, your order history is still there. To have your data deleted sooner, or to get confirmation that it has been deleted, email privacy@pakkacod.com from the store owner's email address.
Buyer data requests (GDPR / DPDP Act)
You (the store) control your buyers' data. Shopify passes buyers' requests on to apps automatically.
For merchants
- A buyer asks for a copy of their data. Handle it in Shopify (request customer data). Pakka COD then prepares a copy on the app's Privacy page. Send it to the buyer with the data Shopify gives you. Message text is never stored, so the copy lists message types and times only.
- A buyer asks to be deleted. Handle it in Shopify (erase personal data). Shopify tells apps 10 days later, and Pakka COD then deletes that buyer's orders, message records and earlier copies for your store.
- A buyer asks you to stop WhatsApp messages. If they reply STOP, UNSUBSCRIBE, “band karo” or similar on WhatsApp, Pakka COD adds them to your store's opt-out list, stops any confirmation in progress, and sends one message to confirm. If they ask another way (email, phone, in person), add them yourself on the app's home page: click Opt out of WhatsApp on one of their orders, or enter their mobile number under WhatsApp opt-outs. Their new COD orders are still scored and tagged, but get no message. They can reply START to opt back in, or you can remove them from the list.
For buyers
Please contact the store you ordered from first. They can act on your request fastest. You can also email privacy@pakkacod.com with the store's name and your order number or phone number. Because the store controls your data, we will pass your request to them, help them answer it, and let you know. If it is about data we control (for example, an email you sent us), we handle it ourselves. See our privacy policy for your rights and how to reach our grievance officer.
FAQs
Can buyers stop the WhatsApp messages?
Yes. A buyer can reply STOP, UNSUBSCRIBE or “band karo” (or बंद करो), and Pakka COD stops messaging them for your store. START turns messages back on. You can also add or remove buyers yourself on the app's home page.
Does Pakka COD send SMS?
No. Confirmations go over WhatsApp only, from your own WhatsApp Business account.
Do I need my own WhatsApp Business account?
Yes. You connect your own WhatsApp Cloud API number (or a provider with a compatible API). Meta charges you for messages directly. See Connect your WhatsApp Business account.
Will the app cancel orders automatically?
No. When a buyer taps Cancel, Pakka COD adds the cod-cancel-requested tag and a note. You decide whether to cancel in Shopify.
What happens if a buyer doesn't reply?
Pakka COD sends reminders based on your Settings (by default up to 3 messages in total, 4 hours apart). It then waits 12 hours after the last one and tags the order cod-no-response. Late replies still count.
What counts towards my monthly limit?
COD orders that get a WhatsApp confirmation in a calendar month (UTC). Orders above the limit are still scored and tagged, but don't get a message. The Scale plan has no limit. See pricing.
How is the risk score worked out?
By fixed rules, and you can see the reasons on each order: phone number, address completeness, order value, quantity, duplicate orders within 24 hours, a suspicious name, and the buyer's history in your store (past RTOs, cancellations and deliveries you marked). Low is under 30, medium is 30–59 and high is 60 or more.
Which countries are supported?
India has the fullest checks (mobile number format, 6-digit PIN code, landmarks). Other countries get general checks: international phone numbers are accepted and the postcode is optional.
Does the AI address check see buyers' phone numbers?
No. It is off by default. When you turn it on, it sends only the address lines, city, state, postcode and country to Google's Gemini API.
Can I offer buyers a discount to pay online?
Not yet. We are building an optional offer for paid plans that lets buyers pay online after they confirm. It is not live, so no offer messages are sent today. We will announce it on this page when it launches.
Where is my data stored, and for how long?
On our app servers (Fly.io) and database (Supabase). Buyer phone numbers and first names are erased 30 days after the confirmation finishes, message records after 90 days, and order records after 13 months. Everything is deleted 48 hours after you uninstall (or within 25 days if Shopify's deletion request doesn't arrive). Details are in the privacy policy.
Does this website use cookies?
No. No cookies, analytics or trackers.