Bank Payout - To Account Number
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
  1. Obtain your Bearer Token and generate the required signature and X-Hash.
  2. Send a POST request to the payout endpoint with the required parameters.
  3. Parse the response to get the transaction status and details.

Endpoint Reference
HTTP MethodPOST
Endpoint URL/api/v2/payment/
Base URLhttps://base-url-here.com
DescriptionInitiate a bank payout to a recipient's account number.
Request Body
FieldTypeDescriptionRequired
wallet_nostringBusiness wallet account number assigned.Yes
referencestringOrder reference, unique per request.Yes
acc_namestringRecipient name.Yes
emailstringRecipient email.Yes
acc_nostringRecipient bank account number.Yes
bank_codestringRecipient bank code. Fetch bank code hereYes
amountnumericOrder amount to be paid (no commas as thousands separator).Yes
currencystringCurrency (e.g. KES, TZS, UGS).Yes
descriptionstringYour order description.Yes
channelnumericChannel unique code. e.g. 100002 for BANK-KENYA. See table below for channel codes.Yes
result_urlstringURL to your server for callback response.Yes
Channel Codes
Channel CodeNameCurrency
100002BANK CHANNEL - KENYAKES
300003BANK CHANNEL - TANZANIATZS
Request Headers
HeaderTypeDescriptionRequired
AuthorizationstringBearer token used to access the APIYes
SignaturestringSHA-256 signature. Concatenate channel+reference+currency+amount, sign with your private key, and Base64 encode.Yes
x-hashstringGenerated X-Hash header for additional security.Yes

Example Request
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
FieldTypeDescription
successbooleanIndicates if the request was successful
messagestringResponse message
data.transaction_idstringTransaction ID
data.statusstringTransaction status
data.status_descriptionstringTransaction status description
data.datestringTransaction timestamp
{
    "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.