Skip to main content
Menu
ProductComplianceMelo PayPricingGuidesContactSign in
Payments9 minute read

Safe mobile-money payments at the till: a guide for Zambian businesses

Design a fast and safe mobile-money checkout with customer-authorised PIN entry, verified payment status, duplicate protection, refunds and daily reconciliation.

Customer authorising a mobile money payment on their phone at a Zambian retail checkout

Quick answer

The cashier should request the payment, but the customer must enter the mobile-money PIN only on the customer’s own trusted phone prompt. The POS should release goods only after a verified provider confirmation, not a screenshot or customer message.

What matters most

  • Cashiers must never ask for or enter a customer PIN.
  • Use a unique transaction reference and idempotency protection.
  • Keep the basket pending until the server verifies the payment.
  • Reconcile provider settlements, POS sales, fees and refunds daily.
A safe mobile-money checkout
1Confirm basket

Customer checks total and phone number.

2Send request

POS creates one unique payment reference.

3Customer authorises

PIN stays on the customer’s phone.

4Server verifies

Provider status is checked securely.

5Complete sale

Receipt and stock update only after confirmation.

Keep the PIN with the customer

Bank of Zambia consumer guidance warns customers not to share mobile-money PINs, including with agents. A checkout flow should therefore send an authorisation prompt to the customer’s phone and never expose a PIN field to the cashier.

Train staff to stop a transaction if a customer offers to reveal a PIN. The safe response is to let the customer authorise privately on their own device.

Treat “pending” as a real payment state

Mobile networks and provider systems can delay a response. Do not convert a timeout into a failed sale immediately, and do not send repeated requests that could create duplicate debits.

Assign a unique reference and use idempotency controls so a retry checks or resumes the same intended payment. Keep the basket recoverable while status is pending.

Verify on the server before releasing goods

A customer SMS, screenshot or cashier phone notification is not authoritative proof. Your server should verify the transaction status, amount, currency and merchant reference with the payment provider.

Only then should the POS mark the sale paid, reduce stock, issue a final receipt and trigger fulfilment. Store the provider reference without exposing secret credentials.

Make recovery fast for a busy till

Give the cashier clear actions: check status, resend safely when permitted, choose another payment method, save the basket or call a supervisor. Show a human-readable reason without exposing internal provider data.

For refunds, use an authorised workflow linked to the original payment. Record the reason, approver, amount, destination and final provider status.

Reconcile cashless sales every day

Match POS paid sales to provider transactions and settlement records. Account for fees, reversals, partial refunds and items still pending.

Investigate differences before the next shift. Daily reconciliation limits losses and gives support staff enough detail to resolve customer complaints.

Working checklist

Customer sees amount before authorising

PIN is entered only on customer device

Unique reference generated for every attempt

Duplicate requests prevented

Server verifies status, amount and currency

Pending baskets can be recovered

Refunds require authorisation

Provider settlement reconciled daily

Common mistakes to avoid

  1. Asking the customer to tell the cashier their PIN
  2. Accepting an SMS screenshot as proof
  3. Creating a new charge every time the cashier taps retry
  4. Closing the till without reconciling pending payments

Common questions

Should a cashier ever enter a customer’s mobile-money PIN?

No. The customer should authorise privately on their own trusted phone prompt. Staff should never request, see or store the PIN.

What if the customer is debited but the POS still says pending?

Keep the basket and original reference, check the provider status from the server and avoid creating a second payment request until the first is resolved.

Is a payment SMS enough proof?

No. The merchant system should verify the transaction with the provider and confirm the amount, currency, status and merchant reference.

Official sources

Rules and online processes can change. Use these primary sources to confirm the current position before acting.