Zambia
Send funds to Zambian bank accounts and Mobile Money Wallets.
Prerequisites
- Complete your KYC and ensure that your account is approved for transactions.
- Whitelist your server IP addresses to prevent security errors.
- Make sure your balance has enough funds. If needed, use an alternate balance; see the list of supported currencies for ZMW transfers.
Payout Flow
Here are the steps to send money to a Zambia Mobile Money number:
- Collect the beneficiary's mobile money phone number and provider. For this payout, the provider should be passed as the account_bank. options for the account_bank include
MTN
,ZAMTEL
, andAIRTEL
.
{
"account_bank": "MTN",
"account_number": "2609679023XXX",
"amount": 18,
"currency": "ZMW",
"debit_currency": "ZMW",
"narration": "RTN ",
"reference": "TRF-749420453125",
"skip_beneficiary_creation": 1,
"beneficiary_name": "John Doe"
}
- Use the transfer endpoint to initiate your transfer with the required data. You can include the debit_currency parameter in your request to debit from a different currency balance.
You'll get a response similar to this:
{
"status": "success",
"message": "Transfer Queued Successfully",
"data": {
"id": 1864609,
"account_number": "2609679023XXX",
"bank_code": "MTN",
"full_name": "John Doe",
"created_at": "2025-06-16T16:32:33.000Z",
"currency": "ZMW",
"debit_currency": "ZMW",
"amount": 18,
"fee": 0.54,
"status": "NEW",
"reference": "TRF-749420453126",
"meta": null,
"narration": "RTN ",
"complete_message": "",
"requires_approval": 0,
"is_approved": 1,
"bank_name": "MTN Mobile"
}
}
Here are the steps to send money to Zambian bank accounts.
- Collect the beneficiary's details such as the beneficiary's name, bank, and account number. See the expected data requirements below:
{
"account_bank": "26692712",
"account_number": "0303499993294",
"destination_branch_code": "18120627DL",
"beneficiary_name": "Sam Smith",
"currency": "ZMW",
"reference": "TRF-558939365157",
"amount": 100,
"debit_currency": "ZMW",
"narration": "Test"
}
- Fetch the beneficiary's bank code using the bank and bank branches endpoints to get the account_bank.
- Use the transfer endpoint to initiate your transfer with the required data. You can include the debit_currency parameter in your request to debit from a different currency balance.
You'll get a response similar to this:
{
"status": "success",
"message": "Transfer Queued Successfully",
"data": {
"id": 1864625,
"account_number": "0303499993294",
"bank_code": "26692712",
"full_name": "Sam Smith",
"created_at": "2025-06-16T16:47:33.000Z",
"currency": "ZMW",
"debit_currency": "ZMW",
"amount": 100,
"fee": 10,
"status": "NEW",
"reference": "TRF-558939365157",
"meta": null,
"narration": "Test",
"complete_message": "",
"requires_approval": 0,
"is_approved": 1,
"bank_name": "FA-BANK"
}
}
- Verify your transfer status; there are many ways to do this:
- You can get the transfer status using the transfer status endpoint.
- If webhooks are enabled on your dashboard, check them to confirm the transfer status.
- For transfers with callback_id, we'll send the transfer details with their status using the specified URL.
Updated about 15 hours ago