How to Set Up WhatsApp Commerce Orders
ProfilePilot Team | Aug 28, 2026 | 12 min read
Connect your WhatsApp Business Account, configure payments and catalog, run the kitchen queue, and take B2C orders from chat or Flows.
Step 1: Enable WhatsApp Commerce for your organisation
WhatsApp Commerce is separate from Smart Inbox and WhatsApp Marketing. You need the WhatsApp Commerce add-on enabled on your organisation (Billing or Admin → Organizations → WhatsApp Commerce).
Before you connect:
- Confirm you are on the correct organisation in the dashboard selector (admins: wrong org = wrong WABA and wrong catalog).
- Have a Meta Business Manager that does not own the ProfilePilot app (partner-owned app WABAs cannot be attached from that Business Manager).
- Plan a real phone number or Meta’s temporary 555 number for OTP during Embedded Signup.
ProfilePilot billing does not create a WhatsApp account at Meta — you still connect via Meta’s popup.
Step 2: Connect WhatsApp (Embedded Signup)
Open Dashboard → WhatsApp Orders and click Connect WhatsApp.
In Meta’s popup you can:
- Create a new WhatsApp Business Account (WABA), or
- Attach a WABA you already own.
If you have no number yet, use an unused local SIM/landline for OTP, or accept Meta’s 555 test number when offered (display-name review applies; register a real number within 90 days).
After connect, verify WhatsApp Orders → Overview shows your connected phone number and WABA health.
Utility templates must exist on this same WABA before customers receive order updates. Approve Meta library templates named:
- `order_confirmed`
- `ready_for_pick_up`
- `delivery_update`
Use language `en` (not `en_US`) unless your Manager library differs.
Step 3: Kitchen address, VAT, and payments
Organisation details (Admin → Organizations → Edit): set the kitchen physical address, VAT number, and billing email so receipts and Uber pickup use the right seller.
WhatsApp Orders → Payments:
- Turn on PayFast, Paystack, Stripe, or PayPal with your tenant keys (not ProfilePilot platform billing keys).
- Collection always offers cash on collection.
- Delivery: enable Uber Direct and/or your own vehicle (fixed fee or per km).
- Set delivery pickup phone for Uber handoff; otherwise org contact phone is used.
Kitchen alerts: configure new-order email/WA notify IDs on Payments so staff see orders immediately.
Step 4: Products, catalog, and retail browse
Foodservice / kitchen orgs: add items on WhatsApp Orders → Products (name, price, photo, availability). Customers order via conversational chat (product cards, cart, date, payment).
Retail / grocery orgs: switch Catalog to Retail mode.
- Manual products on the Products tab (`sync_managed = false`) are never auto-removed by sync.
- External catalog sync (WooCommerce, Shopify, GMC feed, etc.) mirrors into the same `whatsapp_products` table — see the companion guide *How to Sync an External WhatsApp Catalog*.
- Mark Special on Products for “this week’s specials” browse.
- Shoppers can type a product name, open specials/departments, or use Flows checkout (see *How to Set Up WhatsApp Flows Checkout*).
Chat and Flows always read the ProfilePilot product mirror, not your live WooCommerce API on each message (15s Meta SLA).
Step 5: Run Queue, Verification, and dispatch
Staff work from WhatsApp Orders → Kitchen:
| Tab | Purpose | | --- | --- | | Verification | COD and manual-review payments wait here until Confirm | | Queue | Paid / confirmed orders ready to prepare | | History | Completed and cancelled orders | | Finance | Payment and reconciliation views |
Typical flow:
- Customer pays (or chooses COD) → order lands in Verification or Queue.
- Kitchen prepares → Ready sends Utility template (`ready_for_pick_up` or `delivery_update`).
- Dispatch Uber or Send with driver from Queue (dispatch Uber only once per order).
- Customer taps I’ve arrived on pickup templates → kitchen sees arrived banner in Smart Inbox.
Cancel before kitchen clears the cart in chat; do not treat as “already preparing”.
Step 6: What the customer sees (chat checkout)
Conversational checkout uses interactive buttons/lists in WhatsApp:
- Customer messages the business number (or taps a Marketing Flow button).
- Bot offers menu / products / specials / departments (retail) or product cards (foodservice).
- Cart → collection or delivery → date (respects lead times) → address (delivery) → payment.
- PayFast/Paystack return URL confirms payment; customer stays in the same thread (do not open `wa.me` after pay).
Order status page: `https://profilepilotapp.com/whatsapp/order/[id]` (tracking map when Uber provides a URL).
For a structured multi-screen checkout inside WhatsApp, use Flows instead of chat — both create the same kitchen orders.
Keep learning
See the latest guides, experiments, and rollouts.