Five features. Zero friction.
Every DukaBot business ships with the same core: a shop link, a WhatsApp catalog, M-Pesa checkout, a merchant dashboard, and the newest: end-to-end delivery with live rider tracking.
Customers stay in WhatsApp. No app, no account.
They tap your DukaBot link, see your catalog inside WhatsApp, pick items by number, and type PAY. Every interaction is a native WhatsApp message; nothing to install, nothing to remember.
- Works on any WhatsApp, no Business account needed for the customer
- Order by number reply, “1, 3 then PAY”
- Session survives connection drops, resume mid-order
Every payment method your customer prefers.
Customers pay by M-Pesa STK Push inside the WhatsApp chat, or by card on IntaSend's Hosted Checkout. Every payment lands in 1 dedicated wallet for your business at IntaSend, our payments partner, and you cash out to your M-Pesa from the DukaBot dashboard. Any DukaBot per-order fee is taken off when you cash out, so there is no separate bill to pay. IntaSend is PCI-DSS compliant: M-Pesa PINs and card details are entered in the Safaricom STK prompt or IntaSend's Hosted Checkout, not on DukaBot's servers.
A real dashboard. No console to learn.
Watch KES revenue reconcile against M-Pesa in real time. See repeat buyers, plan usage, and every paid order. Approve or reject from any phone with WhatsApp: reply 1 or 2.
- Plan-usage counter for products, staff and delivery
- Repeat-buyer segments + one-tap SMS
- M-Pesa receipt ID stored on every order
Get it there. Live tracking, included.
Set your zones, add your riders, and every paid order is auto-assigned. The customer gets a secure live-tracking link on WhatsApp, the same feed you see in the dashboard.
Straight answers
The questions every shop owner asks before trusting a bot with their money.
Tap any question for the real answer: same numbers, same rigor, plain shop talk.
Will customers see stock I've already sold?No, it's one list. Edit in DukaBot, live on WhatsApp in seconds.
No. Your dashboard and your WhatsApp catalog are the same list. Change a price in KES, swap a photo, or mark an item sold out in DukaBot and the catalog customers browse updates in seconds, with no separate WhatsApp Business Platform tool to manage. And your public shop page only goes on Google once you have at least 3 available products and a description, so a half-set-up shop is never what buyers find first.
Could M-Pesa charge my customer and DukaBot still show 'unpaid'?Only IntaSend's own confirmation marks an order paid.
Every charge runs through IntaSend, our payments partner. Each payment belongs to exactly 1 order: DukaBot created it for that order when your customer taps PAY, and finds it again by its own IntaSend reference. Before any order is marked paid, DukaBot asks IntaSend itself whether that M-Pesa payment completed, and only a completed answer marks it paid. When IntaSend reports a payment to DukaBot, DukaBot also compares the order reference with the order, and the KES amount when IntaSend sends one. If they do not match, the order stays unpaid and the mismatch is recorded.
If a payment message arrives twice, is the payment counted twice?A resent message or payment notification is acted on once.
Retries are normal on mobile networks: IntaSend and Meta both resend a notification if they don't hear back fast enough. DukaBot takes WhatsApp messages and the M-Pesa payment webhook from IntaSend on separate authenticated routes. A repeated WhatsApp message or payment callback is acted on once, so a retry cannot double-post an order or count a payment twice; when the same message arrives 2 times, the extra copy is spotted and set aside. IntaSend reports cash-outs and refunds on a separate payout webhook of its own.
Runs on
IntaSend · PCI-DSSM-PesaVisa · MastercardWhatsApp Business PlatformStart selling. Free.
Free plan: unlimited orders, KSh 10 on each paid order collected into your DukaBot wallet, taken off when you cash out.