PayoutsInitiate Payout

Initiate payout 

The Initiate payout API allows you to integrate bank payout functionality into your applications. It enables you to automatically send money to bank accounts across supported Nigerian banks

Endpoint

POST https://backendapi.sayswitchgroup.com/api/v1/bank_transfer

Sample cURL Request

    curl -X POST https://backendapi.sayswitchgroup.com/api/v1/bank_transfer \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer YOUR_SECRET_KEY" \
    -d '{
        "account_name": "John Doe",
        "account_number": "1234567890",
        "amount": "100",
        "bank_code": "100004",
        "bank_name": "OPAY",
        "currency": "NGN",
        "narration": "Test transfer",
        "reference": "2024031404929202020"
    }'

Request Parameters

ParameterTypeRequiredDescription
account_namestringYesThe name of the recipient’s bank account
account_numberstringYesThe recipient’s bank account number
amountstringYesAmount to transfer (in the smallest currency unit)
bank_codestringYesThe bank’s unique identifier code
bank_namestringYesThe name of the recipient’s bank
currencystringYesCurrency code (e.g., “NGN” for Nigerian Naira)
narrationstringYesDescription or purpose of the transfer
referencestringYesUnique reference ID for tracking the transaction

Sample Response

{
  "success": true,
  "message": "Transfer successfully logged and Processing",
  "data": {
    "reference": "2024031404929202020",
    "currency": "NGN",
    "amount": "100",
    "fee": "15",
    "bank_code": "100004",
    "bank_name": "OPAY",
    "countryCode": "NG",
    "serviceCode": null,
    "paymentMode": "bank",
    "account_number": "1234567890",
    "account_name": "John Doe",
    "narration": "Test transfer",
    "domain": "live",
    "requestIp": "102.89.76.213",
    "status": "pending",
    "updated_at": "2025-08-30T11:47:10.000000Z",
    "created_at": "2025-08-30T11:47:10.000000Z"
  }
}

Response Explanation

KeyTypeDescription
successbooleanIndicates whether the transfer request was successfully received (true or false)
messagestringGeneral message about the transaction result
dataobjectContains the transaction details and processing information
referencestringThe unique reference ID provided in the request
currencystringCurrency code for the transaction
amountstringTransfer amount
feestringProcessing fee charged for the transfer
bank_codestringThe bank’s identifier code
bank_namestringName of the recipient’s bank
countryCodestringCountry code where the transfer is being processed
serviceCodestringService-specific code (may be null)
paymentModestringType of payment method used (“bank” for bank transfers)
account_numberstringRecipient’s bank account number
account_namestringRecipient’s account name
narrationstringTransfer description or purpose
domainstringEnvironment where the transaction was processed (“live” or “test”)
requestIpstringIP address from which the request originated
statusstringCurrent status of the transfer (pending, completed, failed)
updated_atstringTimestamp when the record was last updated (ISO 8601 format)
created_atstringTimestamp when the transfer was initiated (ISO 8601 format)