Bank Accounts
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 | Required | Type | Description | Example |
|---|---|---|---|---|
| id | n/a | String(32) | Record id returned | ban_xrf4nxBPH5bwjXIrl6Le5 |
| customer_id | C | String(32) | Customer ID, for use with collections. Either a customer ID or a Recipient ID must be provided. | cus_YxVm9CfEeP-6GnSN0MBCb |
| recipient_id | C | String(32) | Recipients ID, for use with payouts. Either a customer ID or a Recipient ID must be provided. | rcp_bx5f9sfh5P235bSb5Mv5h |
| bank_account_holder_name | Y | String(30) | Bank account holder name for the bank account to be collected from | J DOE |
| bank_account_number | Y | String(17) | Bank account number to be collected from | 10004291601 |
| bank_account_type | Y | ENUM | (CHEQUE_OR_CURRENT,SAVINGS,TRANSMISSION) | CHEQUE_OR_CURRENT |
| bank_name | Y | ENUM | Make 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_code | Y | Integer | Universal bank branch code for the account number | 632005 |
| bank_account_status | n/a | ENUM | (ACTIVE,ARCHIVED,DISABLED) | ACTIVE |
| created_at | n/a | Datetime | Date and time record was created | 2024-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 | Required | Type | Description | Example |
|---|---|---|---|---|
| id | n/a | String(32) | Record id to update | ban_xrf4nxBPH5bwjXIrl6Le5 |
| customer_id | n/a | String(32) | Customer ID | cus_YxVm9CfEeP-6GnSN0MBCb |
| recipient_id | n/a | String(32) | Recipient ID | rcp_bx5f9sfh5P235bSb5Mv5h |
| bank_account_holder_name | Y | String(30) | Bank account holder name for the bank account to be collected from | J DOE |
| bank_account_number | Y | String(17) | Bank account number to be collected from | 10004291601 |
| bank_account_type | Y | ENUM | (CHEQUE_OR_CURRENT,SAVINGS,TRANSMISSION) | CHEQUE_OR_CURRENT |
| bank_name | Y | ENUM | Make 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_code | Y | Integer | Universal bank branch code for the account number | 632005 |
| bank_account_status | n/a | ENUM | (ACTIVE,ARCHIVED,DISABLED) | ACTIVE |
| created_at | n/a | Datetime | Date and time record was created | 2024-02-27 09:11:23 |
List
List bank accounts loaded on the platform.
Path
GET /bank-accounts/list?{params}
Query Parameters
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
| bank_account_status | String(32) | N | Filter for a specific bank account status. (ACTIVE,ARCHIVED,DISABLED) | ACTIVE |
| customer_id | String(32) | N | Filter for a specific customer id. | cus_YxVm9CfEeP-6GnSN0MBCb |
| recipient_id | String(32) | N | Filter for a specific recipient id. | rcp_bx5f9sfh5P235bSb5Mv5h |
| date_start | Date(YYYY-MM-DD) | N | Filter for records that have a created date after this date specified. | 2024-09-13 |
| date_end | Date(YYYY-MM-DD) | N | Filter for records that have an created date before this specified date | 2025-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",
}, ...]
}