Overview
This API allows your business to seamlessly send money or process payouts directly to employees' or vendors' bank accounts. It provides a secure, scalable, and automated solution for managing bulk and individual transactions.
Purpose: Disburse funds to bank accounts for payroll, vendor payments, and other financial operations.
Target Audience: Merchants, fintechs, and developers integrating bank payout functionality.
Quickstart: Bank Payout
Obtain your Bearer Token and generate the required signature and X-Hash.
Send a POST request to the payout endpoint with the required parameters.
Parse the response to get the transaction status and details.
Endpoint Reference
HTTP Method POST
Endpoint URL /api/v2/payment/
Base URL https://base-url-here.com
Description Initiate a bank payout to a recipient's account number.
Request Body
Field Type Description Required
wallet_no string Business wallet account number assigned. Yes
reference string Order reference, unique per request. Yes
acc_name string Recipient name. Yes
email string Recipient email. Yes
acc_no string Recipient bank account number. Yes
bank_code string Recipient bank code. Fetch bank code here Yes
amount numeric Order amount to be paid (no commas as thousands separator). Yes
currency string Currency (e.g. KES, TZS, UGS). Yes
description string Your order description. Yes
channel numeric Channel unique code. e.g. 100002 for BANK-KENYA. See table below for channel codes. Yes
result_url string URL to your server for callback response. Yes
Channel Codes
Channel Code Name Currency
100002 BANK CHANNEL - KENYA KES
300003 BANK CHANNEL - TANZANIA TZS
Request Headers
Header Type Description Required
Authorization string Bearer token used to access the API Yes
Signature string SHA-256 signature. Concatenate channel+reference+currency+amount, sign with your private key, and Base64 encode. Yes
x-hash string Generated X-Hash header for additional security. Yes
Example Request
Copy
curl --location --request POST 'https://base-url-here.com/api/v2/payment/' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--header 'Signature: xxx' \
--header 'x-hash: xxxxxx' # Generated X-Hash header \
--data-raw '{
"wallet_no": "xxxxxxx",
"reference": "TRXXXX79",
"acc_name": "JOHN DOE",
"acc_no": "0283938XXXXXX989",
"currency": "KES",
"amount": 10,
"channel": 100002,
"bank_code": 1323,
"email": "johndoe@gmail.com",
"description": "Pay for order #23243222",
"result_url": "https://webhook.site/947e8f48-c03a-4717-a2dd-8cdb2f64e897"
}'
Success Response
Field Type Description
success boolean Indicates if the request was successful
message string Response message
data.transaction_id string Transaction ID
data.status string Transaction status
data.status_description string Transaction status description
data.date string Transaction timestamp
Copy
{
"success": true,
"message": "Successfully initiated",
"data": {
"transaction_id": "056341150381",
"status": "PENDING",
"status_description": "Transaction Initiated successfully",
"date": "2024-02-17 13:34:02 PM"
}
}
Security Best Practices
Always use HTTPS for all API requests.
Keep your private key secure and never share it.
Verify the signature and X-Hash on the server side for every request.
Support & Feedback
For help, contact support@bobplus.africa . Feedback on this documentation? Let us know .
Terms of Use & Legal
By using this API, you agree to our Terms of Service and Privacy Policy . Do not share sensitive data or credentials.