Payouts / Transfers
Initiate a bank or mobile money transfer.
The request is logged and processed asynchronously. Final settlement status is delivered through webhook notification.
Endpoint
POST https://backendapi.sayswitchgroup.com/api/v1/bank_transferHeaders
Authorization: Bearer YOUR_SECRET_KEY
Content-Type: application/jsonRequest Body Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
account_name | String | Yes | Beneficiary account name |
account_number | String | Yes | Beneficiary account number or mobile number |
amount | String | Yes | Transfer amount in KES or GHS |
bank_code | String | Yes | Bank or mobile money provider code from the bank list |
bank_name | String | Yes | Bank or mobile money provider name |
currency | String | Yes | Currency code. Use KES or GHS |
narration | String | Yes | Transfer description or memo |
reference | String | Yes | Unique transaction reference. UUID v4 is recommended |
paymentMode | String | Yes | Use bank for bank transfer or momo for mobile money |
Example Request Body
{
"account_name": "John Doe",
"account_number": "0245690993",
"amount": "10",
"bank_code": "MTNGH",
"bank_name": "MTNGH",
"currency": "GHS",
"narration": "Test transfer",
"reference": "e34e9b38-e0ac-4007-bf98-1fbad45964d2",
"paymentMode": "momo"
}Sample cURL
curl -X POST "https://backendapi.sayswitchgroup.com/api/v1/bank_transfer" \
-H "Authorization: Bearer YOUR_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{
"account_name": "John Doe",
"account_number": "0245690993",
"amount": "10",
"bank_code": "MTNGH",
"bank_name": "MTNGH",
"currency": "GHS",
"narration": "Test transfer",
"reference": "e34e9b38-e0ac-4007-bf98-1fbad45964d2",
"paymentMode": "momo"
}'Success Response
HTTP 200 OK
{
"success": true,
"message": "Transfer successfully logged and Processing",
"data": {
"reference": "e34e9b38-e0ac-4007-bf98-1fbad45964d2",
"currency": "GHS",
"amount": "10",
"fee": 1,
"stamp_duty": 0,
"bank_code": "MTNGH",
"bank_name": "MTNGH",
"countryCode": "GH",
"serviceCode": null,
"paymentMode": "momo",
"account_number": "233245690993",
"account_name": "JOSHUA AKANYIFE",
"narration": "Test transfer",
"domain": "live",
"status": "pending",
"created_at": "2026-05-12T12:25:30.000000Z"
}
}Response Data Fields
| Field | Type | Description |
|---|---|---|
reference | String | Unique transaction reference |
currency | String | Transaction currency |
amount | String | Transfer amount |
fee | Number | Transaction fee charged |
stamp_duty | Number | Government stamp duty, if applicable |
bank_code / bank_name | String | Destination bank identifiers |
paymentMode | String | Transfer mode: bank or momo |
account_number | String | Beneficiary account or phone number, normalized |
account_name | String | Verified beneficiary name |
domain | String | live or test |
status | String | Initial status. The transfer is returned as pending |
created_at | String | ISO 8601 timestamp of creation |