Bank Account Transfers

This section covers the parameters needed to process payments to bank accounts. Bank account transfers follow the same basic format: make a POST request to our Payout API. However, depending on the type of beneficiary and the account's currency, you might need to give some extra information. 

Common Details

So first, let's go through the basic information needed for any kind of account. You'll need to provide these details.

FieldMandatoryTypeDescription
businessYesStringThe ID of the business making the payout.
sourceCurrencyYesStringThe currency which is used to fund the payout
destinationCurrencyYesStringThe currency in which the recipient will be receiving funds
amountYesStringThe value that is to be transferred from the source currency wallet.
descriptionYesStringThis is the type of account you want to send your payments to, see payment destinations for more details
paymentDestinationYesStringThis is the type of account you want to send your payments to, see payment destinations for more details
customerReferenceNoStringThe transaction's unique identifier on your system. Customer references prevent duplicate transactions. We advice that you add it to your payload
quoteReferenceNoStringThis is the reference generated when the source currency is compared against the destination currency.

This is required when the source currency is not the same as the destination currency. You can generate a quote using the Generate quote endpoint.

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. 

FieldMandatoryTypeDescription
beneficiaryYesObjectThe recipient of the funds. Depending on the currency and beneficiary type, the properties of the beneficiaries are different.
beneficiary.firstNameYesStringThe first name of the beneficiary .
beneficiary.lastNameYesStringThe last name of the beneficiary
beneficiary.accountHolderNameYesStringThis field is required by all type of beneficiaries.
beneficiary.typeYesStringThe type of beneficiary, see beneficiary types for more details
beneficiary.countryNoStringThe 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.emailNoStringThe beneficiary's email
beneficiary.bankCodeYesStringThe beneficiary bank code. To get the bank code please see the list banks endpoint codes for more details.

The payload should look like this :

{
    "business": "{{Your business ID}}",
    "sourceCurrency": "NGN",
    "destinationCurrency": "NGN",
    "amount": "1000",
    "description": "i want to pay my vendor",
    "paymentDestination": "bank_account",
    "quoteReference": "1330bd3c-1e09-4c1c-887f-7f1d72ff905e",
    "beneficiary": {
        "firstName": "Hassan",
        "lastName": "Sarz",
        "accountHolderName": "Hassan Sarz",
        "country": "NG",
        "phone": "0803443433",
        "accountNumber": "0124775489",
        "type": "individual",
        "email": "[email protected]",
        "bankCode": "058"
    }
}
{
    "business": "{{Your business ID}}",
    "sourceCurrency": "NGN",
    "destinationCurrency": "NGN",
    "amount": "1000",
    "description": "i want to pay my vendor",
    "paymentDestination": "bank_account",
    "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"
    }
}

GBP Pay-Outs

In addition to the common details needed to process a successful payment, the following fields are also required when sending money to a bank account in the United Kingdom.

FieldMandatoryTypeDescription
beneficiaryYesObjectThe recipient of the funds. Depending on the currency and beneficiary type, the properties of the beneficiaries are different.
beneficiary.accountHolderNameYesStringThis field is required by all types of beneficiaries.
beneficiary.accountNumberYesStringThis is the bank account number of the beneficiary.
beneficiary.typeYesStringThe type of beneficiary, see beneficiary types for more details
beneficiary.countryYesStringThe 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.emailYesStringThe type of beneficiary, see beneficiary types for more details
beneficiary.bankSwiftCodeNoStringThe beneficiary's bank swift code according to ISO9362 . e.g UBSWCHZH80A
beneficiary.sortCodeYesStringThe beneficiary's bank sort code. Sort codes are the domestic bank codes used to route money transfers between financial institutions in the United Kingdom, and in the Republic of Ireland. e.g 000000
paymentSchemeYesStringThe payment scheme is relevant to the destination currency and region.

The payload should look like this :

{
    "business": "{{The business ID}}",
    "sourceCurrency": "GBP",
    "destinationCurrency": "GBP",
    "amount": "1000",
    "description": "i want to pay my vendor",
    "paymentDestination": "bank_account",
    "beneficiary": {
        "firstName": "Hassan",
        "lastName": "Sarz",
        "accountHolderName": "Hassan Sarz",
        "country": "NG",
        "phone": "0803443433",
        "accountNumber": "0124775489",
        "type": "individual",
        "email": "[email protected]",,
        "sortCode" : "000000"
    },
    "paymentScheme": "fps",
    "quoteReference": "d187b2fa-27cd-43e6-b622-66361e409c6d"
}
{
    "business": "{{The business ID}}",
    "sourceCurrency": "GBP",
    "destinationCurrency": "GBP",
    "amount": "1000",
    "description": "i want to pay my vendor",
    "paymentDestination": "bank_account",
    "beneficiary": {
        "firstName": "Hassan",
        "lastName": "Sarz",
        "accountHolderName": "Hassan Sarz",
        "country": "NG",
        "phone": "0803443433",
        "accountNumber": "0124775489",
        "type": "individual",
        "email": "[email protected]",,
        "sortCode" : "000000",
        "bankSwiftCode" : "UBSWCHZH80A"
    },
    "paymentScheme": "chaps",
    "quoteReference": "d187b2fa-27cd-43e6-b622-66361e409c6d"
}

EUR Pay-Outs

In addition to the common details needed to process a successful payment, the following fields are also required when sending money to a bank account in the European Union.

FieldMandatoryTypeDescription
beneficiaryYesObjectThe recipient of the funds. Depending on the currency and beneficiary type, the properties of the beneficiaries are different.
beneficiary.accountHolderNameYesStringThis field is required by all types of beneficiaries.
beneficiary.accountNumberYesStringThis is the IBAN of the beneficiary.
beneficiary.typeYesStringThe type of beneficiary, see beneficiary types for more details
beneficiary.countryYesStringThe 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.emailYesStringThe type of beneficiary, see beneficiary types for more details
paymentSchemeYesStringThe payment scheme relevant to the destination currency and region.

The payload should look like this :

{
    "business": "{{The business ID}}",
    "sourceCurrency": "EUR",
    "destinationCurrency": "EUR",
    "amount": "1000",
    "description": "i want to pay my vendor",
    "paymentDestination": "bank_account",
    "beneficiary": {
        "firstName": "Hassan",
        "lastName": "Sarz",
        "accountHolderName": "Hassan Sarz",
        "country": "NG",
        "phone": "0803443433",
        "accountNumber": "0124775489",
        "type": "individual",
        "email": "[email protected]",
    },
    "paymentScheme": "sepa",
    "quoteReference": "d187b2fa-27cd-43e6-b622-66361e409c6d"
}
{
    "business": "{{The business ID}}",
    "sourceCurrency": "EUR",
    "destinationCurrency": "EUR",
    "amount": "1000",
    "description": "i want to pay my vendor",
    "paymentDestination": "bank_account",
    "beneficiary": {
        "firstName": "Hassan",
        "lastName": "Sarz",
        "accountHolderName": "Hassan Sarz",
        "country": "NG",
        "phone": "0803443433",
        "accountNumber": "0124775489",
        "type": "individual",
        "email": "[email protected]",
    },
    "paymentScheme": "sepa",
    "quoteReference": "d187b2fa-27cd-43e6-b622-66361e409c6d"
}

USD Pay-Outs

In addition to the common details needed to process a successful payment, the following fields are also required when sending money to a bank account in the United States.

FieldMandatoryTypeDescription
filesNoString/file/arrayA document explaining the reason for the payment. This can be a file upload or
paymentSchemeYesStringThe payment scheme relevant to the destination currency and region.
beneficiaryYesObjectThe recipient of the funds. Depending on the currency and beneficiary type, the properties of the beneficiaries are different.
beneficiary.firstNameYesStringThe first name of the beneficiary
beneficiary.lastNameYesStringThe last name of the beneficiary .
beneficiary.phoneNumberNoStringThe mobile number of the beneficiary
beneficiary.accountHolderNameYesStringThis is the bank account number of the beneficiary
beneficiary.accountNumberYesStringThis is the bank account number of the beneficiary or phone number if the account is a mobile money wallet.
beneficiary.typeYesStringThe type of beneficiary, see beneficiary types for more details
beneficiary.countryYesStringThe 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.emailNoStringThe beneficiary's email
beneficiary.bankSwiftCodeNoStringThe bank swift code according to ISO9362 . These two letters indicate the country where the bank is located.e.g UBSWCHZH80A

The payload should look like this :

{
    "business": "{{The business ID}}",
    "sourceCurrency": "USD",
    "destinationCurrency": "USD",
    "amount": "1000",
    "description": "i want to pay my vendor",
    "paymentDestination": "bank_account",
    "beneficiary": {
        "accountHolderName": "Hassan Sarz",
        "country": "NG",
        "phone": "0123456789",
        "accountNumber": "0123456789",
        "type": "corporate",
        "email": "[email protected]",
    },
    "paymentScheme": "swift",
    "files": "https://reviewtestbucket.s3.amazonaws.com/invoiceAttachments/WhatsApp%20Image%202021-12-23%20At%2011_6803ef48-977d-4db9-9a38-b2e5a1365270.jpeg",
    "customerName": "Hassan Sars",
}