General

Bank Accounts

 

Manage customer bank account details including account numbers, branch codes, account types, and bank verification. Required for EFT Debit Orders, DebiCheck, and Registered Mandate processing.

Used to create, edit and archive bank accounts.

When creating collections you can either submit a record with the customer and bank accounts details or create a bank account here and then assign a customer_id and bank_account_id to a collection record (or a recipient_id and bank_account_id to a payout).

Create

API call to create new bank accounts(s) as single or batch records.

WARNING

Company business bank accounts CAN NOT be processed via DebiCheck payment methods.

EFT Debit Order or Registered Mandate payment methods must be used for business bank accounts. At the moment only ABSA provided Registered Mandate (RM) payment methods support company business bank accounts, Nedbank provided RM payment methods do not support company bank accounts yet.

Path

POST /bank-accounts/create

Request Body

{
  "records": [{
    "customer_id": "cus_YxVm9CfEeP-6GnSN0MBCb",
    "recipient_id": null,
    "bank_account_holder_name": "J DOE",
    "bank_account_number": "10004291601",
    "bank_account_type": "CHEQUE_OR_CURRENT",
    "bank_name": "STANDARD_BANK_SA_LTD",
    "bank_branch_code": 051001,
    "bank_account_status": "ACTIVE",
  }]
}

Response Body

{
    "status": true,
    "results": [{
        "id": "ban_xrf4nxBPH5bwjXIrl6Le5",
        "customer_id": "cus_YxVm9CfEeP-6GnSN0MBCb",
        "recipient_id": null,
        "bank_account_holder_name": "J DOE",
        "bank_account_number": "10004291601",
        "bank_account_type": "CHEQUE_OR_CURRENT",
        "bank_name": "STANDARD_BANK_SA_LTD",
        "bank_branch_code": 051001,
        "bank_account_status": "ACTIVE",
        "updated_at": null,
        "created_at": "2024-02-27 09:11:23"
    }, ...]
}

Parameters

Field
RequiredType
Description
Example
idn/aString(32)Record id returnedban_xrf4nxBPH5bwjXIrl6Le5
customer_idCString(32)Customer ID, for use with collections. Either a customer ID or a Recipient ID must be provided.cus_YxVm9CfEeP-6GnSN0MBCb
recipient_idCString(32)Recipients ID, for use with payouts. Either a customer ID or a Recipient ID must be provided.rcp_bx5f9sfh5P235bSb5Mv5h
bank_account_holder_nameYString(30)Bank account holder name for the bank account to be collected fromJ DOE
bank_account_numberYString(17)Bank account number to be collected from10004291601
bank_account_typeYENUM(CHEQUE_OR_CURRENT,SAVINGS,TRANSMISSION)CHEQUE_OR_CURRENT
bank_nameYENUMMake sure to check the available bank accounts for the selected payment method first (GET /lookups/bank_name/pam_123456abcd). (ABSA_BANK_LIMITED,ABSAITHALA,ACCESS_BANK,AFRICAN_BANK,AFRICAN_BANK_BUSINESS_GRINDROD,ALBARAKA_BANK,BANK_WINDHOEK_BEPERK,BANK_ZERO,BIDVEST_BANK,BIDVEST_BANK_LIMITED,BNP_PARIBAS,CAPITEC_BUSINESS,CAPITEC_PERSONAL,DISCOVERY_BANK_LTD,ENL_MUTUAL_BANK,FBC_FIDELITY_BANK_LTD,FINBOND_EPE,FINBOND_MUTUAL_BANK,FIRST_NATIONAL_BANK_LESOTHO,FIRST_NATIONAL_BANK_NAMIBIA,FIRST_NATIONAL_BANK_SWAZILAND,FIRSTRAND_BANK,FNB_FIRST_NATIONAL_BANK,HABIB_OVERSEAS_BANK_LIMITED,HSBC_BANK,INVESTEC_BANK_LIMITED,JP_MORGAN,NEDBANK,NEDBANK_LESOTHO_LIMITED,NEDBANK_NAMIBIA,NEDBANK_SWAZILAND_LIMITED,OLYMPUS_MOBILE,OM_BANK_LIMITED,PEOPLE_BANK_LTD_INC_PEP_BANK,PEOPLES_BANK_LTD_INC_NBS,PERMANENT_BANK,RMB_RAND_MERCHANT_BANK,SA_POST_BANK_POST_OFFICE,SOCIETE_GENERAL_JHB_BRANCH,STANDARD_BANK_NAMIBIA,STANDARD_BANK_SA_LTD,STANDARD_BANK_SWAZILAND,STANDARD_CHARTERED_BANK_SA,STANDARD_LESOTHO_BANK_LTD,SWAZILAND_DEV_AND_SAVINGS_BANK,TYME_BANK_LIMITED,UBANK_LTD,UNIBANK_LIMITED,VBS_MUTUAL_BANK)ABSA_BANK_LIMITED
bank_branch_codeYIntegerUniversal bank branch code for the account number632005
bank_account_statusn/aENUM(ACTIVE,ARCHIVED,DISABLED)ACTIVE
created_atn/aDatetimeDate and time record was created2024-02-27 09:11:23

Update

API call to update existing bank accounts(s) as single or batch records. Records can not be deleted, only archived.

Path

POST /bank-accounts/update

WARNING

EFT debit order bank account updates will also update the connected collection, however DebiCheck or Registered Mandate bank account updates will not update the connected collection.

To update banking details for DebiCheck / RM see mandates update section. For DebiCheck / RM it is best to pause the old collection and create a new collection once the mandate changes have been approved.

If you disable a bank account it will not cancel a DebiCheck mandate (nor Registered Mandate).

You can not disable a bank account if there are connected collections that are currently running, you need first need to pause the collections.

Request Body

Only include fields you wish to change (besides id used to find the record).

{
  "records": [{
    "id": "ban_xrf4nxBPH5bwjXIrl6Le5",
    "bank_account_holder_name": "J DOE",
    "bank_account_number": "10004291601",
    "bank_account_type": "CHEQUE_OR_CURRENT",
    "bank_name": "STANDARD_BANK_SA_LTD",
    "bank_branch_code": 051001,
    "bank_account_status": "ACTIVE",
  }]
}

Response Body

{
    "status": true,
    "results": [{
        "id": "ban_xrf4nxBPH5bwjXIrl6Le5",
        "customer_id": "cus_YxVm9CfEeP-6GnSN0MBCb",
        "recipient_id": null,
        "bank_account_holder_name": "J DOE",
        "bank_account_number": "10004291601",
        "bank_account_type": "CHEQUE_OR_CURRENT",
        "bank_name": "STANDARD_BANK_SA_LTD",
        "bank_branch_code": 051001,
        "bank_account_status": "ACTIVE",
        "updated_at": "2024-03-17 12:35:24",
        "created_at": "2024-02-27 09:11:23"
    }, ...]
}

Parameters

Field
RequiredType
Description
Example
idn/aString(32)Record id to updateban_xrf4nxBPH5bwjXIrl6Le5
customer_idn/aString(32)Customer IDcus_YxVm9CfEeP-6GnSN0MBCb
recipient_idn/aString(32)Recipient IDrcp_bx5f9sfh5P235bSb5Mv5h
bank_account_holder_nameYString(30)Bank account holder name for the bank account to be collected fromJ DOE
bank_account_numberYString(17)Bank account number to be collected from10004291601
bank_account_typeYENUM(CHEQUE_OR_CURRENT,SAVINGS,TRANSMISSION)CHEQUE_OR_CURRENT
bank_nameYENUMMake sure to check the available bank accounts for the selected payment method first (GET /lookups/bank_name/pam_123456abcd). (ABSA_BANK_LIMITED,ABSAITHALA,ACCESS_BANK,AFRICAN_BANK,AFRICAN_BANK_BUSINESS_GRINDROD,ALBARAKA_BANK,BANK_WINDHOEK_BEPERK,BANK_ZERO,BIDVEST_BANK,BIDVEST_BANK_LIMITED,BNP_PARIBAS,CAPITEC_BUSINESS,CAPITEC_PERSONAL,DISCOVERY_BANK_LTD,ENL_MUTUAL_BANK,FBC_FIDELITY_BANK_LTD,FINBOND_EPE,FINBOND_MUTUAL_BANK,FIRST_NATIONAL_BANK_LESOTHO,FIRST_NATIONAL_BANK_NAMIBIA,FIRST_NATIONAL_BANK_SWAZILAND,FIRSTRAND_BANK,FNB_FIRST_NATIONAL_BANK,HABIB_OVERSEAS_BANK_LIMITED,HSBC_BANK,INVESTEC_BANK_LIMITED,JP_MORGAN,NEDBANK,NEDBANK_LESOTHO_LIMITED,NEDBANK_NAMIBIA,NEDBANK_SWAZILAND_LIMITED,OLYMPUS_MOBILE,OM_BANK_LIMITED,PEOPLE_BANK_LTD_INC_PEP_BANK,PEOPLES_BANK_LTD_INC_NBS,PERMANENT_BANK,RMB_RAND_MERCHANT_BANK,SA_POST_BANK_POST_OFFICE,SOCIETE_GENERAL_JHB_BRANCH,STANDARD_BANK_NAMIBIA,STANDARD_BANK_SA_LTD,STANDARD_BANK_SWAZILAND,STANDARD_CHARTERED_BANK_SA,STANDARD_LESOTHO_BANK_LTD,SWAZILAND_DEV_AND_SAVINGS_BANK,TYME_BANK_LIMITED,UBANK_LTD,UNIBANK_LIMITED,VBS_MUTUAL_BANK)ABSA_BANK_LIMITED
bank_branch_codeYIntegerUniversal bank branch code for the account number632005
bank_account_statusn/aENUM(ACTIVE,ARCHIVED,DISABLED)ACTIVE
created_atn/aDatetimeDate and time record was created2024-02-27 09:11:23

List

List bank accounts loaded on the platform.

Path

GET /bank-accounts/list?{params}

Query Parameters

Field
Type
RequiredDescription
Example
bank_account_statusString(32)NFilter for a specific bank account status. (ACTIVE,ARCHIVED,DISABLED)ACTIVE
customer_idString(32)NFilter for a specific customer id.cus_YxVm9CfEeP-6GnSN0MBCb
recipient_idString(32)NFilter for a specific recipient id.rcp_bx5f9sfh5P235bSb5Mv5h
date_startDate(YYYY-MM-DD)NFilter for records that have a created date after this date specified.2024-09-13
date_endDate(YYYY-MM-DD)NFilter for records that have an created date before this specified date2025-04-24

Response Body

{
  "status": true,
  "results": [{
    "id": "ban_xrf4nxBPH5bwjXIrl6Le5",
    "customer_id": "cus_YxVm9CfEeP-6GnSN0MBCb",
    "recipient_id": null,
    "bank_account_holder_name": "J DOE",
    "bank_account_number": "10004291601",
    "bank_account_type": "CHEQUE_OR_CURRENT",
    "bank_name": "STANDARD_BANK_SA_LTD",
    "bank_branch_code": 051001,
    "bank_account_status": "ACTIVE",
    "updated_at": "2024-03-17 12:35:24",
    "created_at": "2024-02-27 09:11:23",
  }, ...]
}