Frequently Asked Questions
Which mobile money providers are supported?
Cashless supports M-Pesa (Vodacom), Tigo Pesa (Tigo), and Airtel Money (Airtel) in Tanzania.
What currency does the API use?
All amounts are in Tanzanian Shillings (TZS).
Can I test without real payments?
Yes. Use the sandbox environment at api-sandbox.cashless.co.tz.
What happens if the customer doesn't pay?
The bill stays in NOT_PAID status. Bills do not expire automatically. You can create a new bill if the customer wants to try again.
Can a bill be partially paid?
Yes. If a customer's mobile money balance is less than the bill amount, the status may change to PARTIALLY_PAID. You can check the current status via the API.
Is the mobile number required?
No. If you omit the mobile field, no USSD push is sent. Instead, redirect the customer to the webPayUrl where they can enter their number.
What format should mobile numbers be in?
Tanzanian national format: 0712345678 (10 digits starting with 0). International format (255712345678) is also accepted.
How do I get API credentials?
Contact Cashless or log in to the merchant dashboard at admin.cashless.co.tz to manage your API keys.
Can I use the same API key for sandbox and production?
API keys work in both environments. The environment is determined by the base URL you call (api.cashless.co.tz vs api-sandbox.cashless.co.tz).
How quickly are payments confirmed?
Typically within seconds after the customer enters their PIN. Poll the API or use webhooks to detect the status change.