Bank Account
This section outlines the parameters required for processing payments to bank accounts. All bank account transfers follow a standard format: you make a POST request to our Payout API. However, depending on the beneficiary type and account currency, you may need to provide additional information.
Common Details
First, let's review the essential information required for all account types. You must provide the following details:
Field | Mandatory | Type | Description |
---|---|---|---|
business | Yes | String | The ID of the business making the payout. |
sourceCurrency | Yes | String | The currency which is used to fund the payout |
destinationCurrency | Yes | String | The currency in which the recipient will be receiving funds |
amount | Yes | String | The value that is to be transferred from the source currency wallet. |
description | Yes | String | A simple description of payment e.g "From Daniella” |
paymentDestination | Yes | String | This is the type of account you want to send your payments to, see payment destinations for more details. |
customerReference | Yes | String | The transaction's unique identifier on your system. Customer references prevent duplicate transactions. We advise that you add it to your payload |
quoteReference | No | String | This is the reference generated when the source currency is compared against the destination currency.This is required for cross-currency payouts. You can generate a quote using the Generate quote endpoint. |
sender | No | Object | The details of the customer initiating the payout |
sender.name | No | String | The customer's full name. This name would show up in the transfer narration. |
sender.email | No | String | The customer's email. |
NGN Pay-Outs
In addition to the common details needed to process successful payments, the following fields are also required when sending money to a bank account in Nigeria.
Field | Mandatory | Type | Description |
---|---|---|---|
beneficiary | Yes | Object | The recipient of the funds. Depending on the currency and beneficiary type, the properties of the beneficiaries are different. |
beneficiary.firstName | Yes | String | The first name of the beneficiary . |
beneficiary.lastName | Yes | String | The last name of the beneficiary |
beneficiary.accountHolderName | Yes | String | This field is required by all type of beneficiaries. |
beneficiary.type | Yes | String | The type of beneficiary, see beneficiary types for more details |
beneficiary.country | No | String | The country in which the bank of the beneficiary is located. This field should be according to ISO 3166-1 alpha-2 codes standards e.g NG, GB |
beneficiary.email | No | String | The beneficiary's email |
beneficiary.bankCode | Yes | String | The beneficiary bank code. To get the bank code please see the list banks endpoint codes for more details. |
The payload should look like this :
{
"amount": 5070,
"beneficiary": {
"accountHolderName": "Customer Name",
"accountNumber": "17874878234",
"bankCode": "044",
// "country": "NG",
"firstName": "Customer",
"lastName": "Name",
"type": "individual"
},
"business": "{{Your Business ID}}",
"customerReference": "{{$randomUUID}}",
"description": "Test",
"destinationCurrency": "NGN",
"paymentDestination": "bank_account",
"sourceCurrency": "NGN",
"sender":{
"name":"Customer Name",
"email":"[email protected]"
}
}
{
"business": "{{Your business ID}}",
"sourceCurrency": "NGN",
"destinationCurrency": "NGN",
"amount": "1000",
"description": "i want to pay my vendor",
"paymentDestination": "bank_account",
"customerReference": "{{$randomUUID}}",
"quoteReference": "1330bd3c-1e09-4c1c-887f-7f1d72ff905e",
"beneficiary": {
"firstName": "Hassan",
"lastName": "Sarz",
"accountHolderName": "Hassan Sarz",
"country": "NG",
"phone": "0803443433",
"accountNumber": "0124775489",
"type": "corporate",
"email": "[email protected]",
"bankCode": "058"
}
}
Updated about 1 month ago