TapstallWhatsApp orders, paid properly
Guide · updated 12 October 2026

Taking payment for a WhatsApp shop in Zimbabwe and South Africa

The orders arrive in a chat. The money arrives in a phone, an app or a bank statement that lists nothing but an amount and a date. Everything below is about closing that gap without a spreadsheet, an accountant or a card machine.

A payment method has to answer four questions

Most advice about "getting paid online" starts with gateways and APIs. For a seller in Harare or Johannesburg the questions are much older than that:

A method that answers all four is usable. A method that answers three is a fight with your own memory.

What each method costs a small seller

These are the published tariffs this product models, checked against each provider's own pricing on 12 October 2026. They are the numbers a buyer pays to move money, not a platform's cut. Tariffs move with budgets and with exchange-rate policy, so treat them as a starting point and re-check twice a year.

MethodWhereTransferIMTT / fixedWhat the buyer's app prints
EcoCash USDZW1.4%+2% IMTTTxID by SMS
EcoCash ZiGZW2.0%+1.5% IMTTTxID by SMS
InnBucksZW1.5%+2% IMTTReference
OnePay / OneMoneyZW1.5%+2% IMTTReference
Bank ZIPIT / RTGSZW0%+2% IMTTA reference, and nothing without it
Cash on pickup or deliveryany0%—Nothing, and nothing needed
PayShapZA0.5%—ShapID reference
OzowZA1.0%—Confirmed by the gateway itself
PayFast cardZA2.9%+R1.00Confirmed by the gateway itself
Read the last two columns together. A 0% ZIPIT with no reference is the worst row in the table: free to send, and 40 transfers a day at one amount to sort out. A 2.9% card payment that the gateway confirms on its own is the easiest. Cost is not the only thing a method charges you.

The Zimbabwe detail foreigners get wrong

There is no "automatic" rail in Zimbabwe. Every method is a phone that a person looks at, which means the reconciliation is human, and the human is the shop owner at 20:40 with 30 unread chats. Two consequences worth designing around:

How a payment finds its order in five seconds

Instead of asking the buyer what they paid and when, make the amount answer it. Take the order total and add a few odd cents, deterministically, so every order in the day has a different number:

R120.00 becomes R120.43. Nobody else in your statement owes R120.43. The amount is the reference, the buyer types what the page tells them to type, and matching is one search instead of twenty questions.

The spread is under a rand, so it is not a charge — it is a fingerprint. It is also the reason a proof-of-payment picture stops being something you have to trust: you already know whose R120.43 that was. The companion guide goes into what to do on the rails where you still need a code — TxIDs, ShapIDs and references.

"Should I get a website?"

Not for payments. A website gives you a page to be found on and a form to lose money in; it does not give you a settlement. What a shop actually needs is four things, and none of them is hosting:

The third is where shops bleed. A "paid" tick that anyone can tap is a refund you will eat; a paid tick that requires the money to have arrived is a record. If you use something that marks an order paid on request, the difference will show up as a monthly loss you cannot name.

What this costs, stated plainly

Tapstall is a storefront and an order ledger: your link is /s/yourshop, your buyers pay the methods above directly to you, and we are not in the money. The first 60 days are free. After that it is $60 USD for 365 days, one payment — not monthly billing, not a foreign card subscription, and no percentage of your orders. The fee calculator is public and needs no account; it also offers a January calendar reminder, because tariffs in this region change with budgets.

Set up is a store name, a menu and a PIN: /onboard. If you already keep a menu in a Google Sheet, point it at that; if you would rather not have a sheet at all, the shop's own menu editor is the authority and edits apply on save.