A customer's message becomes a paid delivery in five taps.
Every DukaBot order runs the same five-step pipeline: from the moment your customer opens your link, to the moment your rider gets home. Nothing manual.
You post dukabot.app/s/MAMA-NJERI on Instagram.
Your unique shop code routes under the shared DukaBot WhatsApp Business Platform number. Same link works on receipts, Status, printed flyers, and QR codes.
They tap the link. WhatsApp opens. They pick items by number.
No app to install, no account to create, no forms. The bot lists items with numbers; the customer replies with the numbers they want, then types PAY.
DukaBot fires the checkout. Customer pays. Paid.
M-Pesa users get an STK Push prompt (IntaSend routes to Safaricom Daraja); card users get IntaSend's Hosted Checkout link. On success we reconcile the order against the IntaSend invoice ID from the callback. Idempotent: retries never double-charge.
DukaBot pings you: new paid order. You reply 1.
One tap accepts, another rejects. The dashboard on your phone is a nice-to-have. Most merchants run everything from the WhatsApp thread.
Rider assigned. Customer follows a live map.
DukaBot matches the order's zone to an active rider and sends the customer a signed tracking URL. The WebSocket at track.dukabot.app streams the rider's position. Status runs Created → Assigned → Picked up → Delivered.
Before DukaBot vs. after.
Without
- Customer sends “kindly send M-Pesa screenshot” back-and-forth for 20 minutes
- You lose ~30% of orders to slow replies
- Delivery is “where are you now?” every 5 minutes
- Numbers live in a notebook
With DukaBot
- M-Pesa STK Push confirms in seconds, receipt ID stored
- You reclaim ~20% more monthly revenue
- Customer sees the rider live on a map
- Dashboard has every order + M-Pesa reference
See the five steps run.
Free tier. Real customers. Five minutes.