Mobile Money
The Mobile Money APIs support payouts to bank accounts and mobile money wallets in Kenya and Ghana.
Use these APIs to retrieve supported institutions, verify beneficiary account details, initiate transfers, and receive payout status updates by webhook.
Base URL
https://backendapi.sayswitchgroup.comAuthentication
All requests require authentication and accept JSON payloads.
Authorization: Bearer YOUR_SECRET_KEY
Content-Type: application/jsonSupported Currencies
| Currency | Country | Description |
|---|---|---|
KES | Kenya | Kenyan Shilling |
GHS | Ghana | Ghana Cedi |
Where a currency value is required, pass either KES or GHS.
Endpoints
| Action | Method | Endpoint |
|---|---|---|
| Get bank and mobile money provider list | GET | https://backendapi.sayswitchgroup.com/api/v1/bank_list/{currency} |
| Verify account or mobile money number | POST | https://backendapi.sayswitchgroup.com/api/v1/account_name_verify |
| Initiate bank or mobile money payout | POST | https://backendapi.sayswitchgroup.com/api/v1/bank_transfer |
Payout Flow
- Get the supported institutions for
KESorGHS. - Use the returned
bankCodeas thebank_codewhen verifying or initiating a payout. - Verify the beneficiary account or mobile money number with
account_name_verify. - Initiate the payout with
bank_transfer. - Listen for webhook notifications to confirm the final payout status.
Best Practices
| # | Recommendation |
|---|---|
| 1 | Always call /api/v1/account_name_verify before initiating a transfer to confirm account details. |
| 2 | Use a UUID v4 as the reference value for every transfer to ensure uniqueness. |
| 3 | Store your reference before calling the API to avoid duplicate transfers. |
| 4 | Listen for webhook notifications instead of polling for transfer status. |
| 5 | Respond to webhooks with HTTP 200 promptly and process heavy tasks asynchronously. |
| 6 | Validate the notify and notifyType fields before acting on a webhook payload. |