Specification

Bank Accounts

Bank Accounts API calls

Used to create, edit and archive bank accounts.

When creating payments you can either submit a payment 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 payment record.

Create

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

Path

POST /bank-accounts/create

Request Body

{
  "records": [{
    "customer_id": "ban_abc123...",
    "bank_account_holder_name": "J DOE",
    "bank_account_number": "10004291601",
    "bank_account_type_lookups_id": "loo_abc123...",
    "bank_name_lookups_id": "loo_abc123...",
    "bank_branch_code": 632005,
    "bank_account_status_lookups_id": "loo_abc123...",
  }]
}

Response Body

{
    "status": true,
    "results": [{
        "id": "ban_abc123...",
        "customer_id": "cus_abc123...",
        "bank_account_holder_name": "J DOE",
        "bank_account_number": "10004291601",
        "bank_account_type_lookups_id": "loo_abc123...",
        "bank_name_lookups_id": "loo_abc123...",
        "bank_branch_code": 632005,
        "bank_account_status_lookups_id": "loo_abc123...",
        "updated_at": null,
        "created_at": "2024-02-27 09:11:23"
    }, ...]
}

Parameters

Field
RequiredType
Description
Example
idn/aString(32)Record id returnedban_abc123...
customer_idYString(32)Customer IDcus_abc123...
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_type_lookups_idYString(32)Lookups ID relating to a bank account type e.g. Cheque.loo_abc123...
bank_name_lookups_idYString(32)Lookups ID relating to the bank name of the account number e.g. ABSAloo_abc123...
bank_branch_codeYIntegerBank branch code for the account number632005
bank_account_status_lookups_idn/aString(32)Status of bank account from the lookups table.loo_abc123...
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

When updating bank account details it will not update a DebiCheck mandate, to update mandates check the mandates or payment update section.

If you disable a bank account then it will not cancel a DebiCheck mandate. You can not disable a bank account if there are connected payments that are currently running, you need to stop the payments first before disabling the bank account.

Likewise bank account updates will only update the connected payments if those payments are running EFT debit orders and not DebiCheck.

Request Body

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

{
  "records": [{
    "id": "ban_abc123...",
    "bank_account_holder_name": "J DOE",
    "bank_account_number": "10004291601",
    "bank_account_type_lookups_id": "loo_abc123...",
    "bank_name_lookups_id": "loo_abc123...",
    "bank_branch_code": 632005,
    "bank_account_status_lookups_id": "loo_abc123...",
  }]
}

Response Body

{
    "status": true,
    "results": [{
        "id": "ban_abc123...",
        "customer_id": "cus_abs123...",
        "bank_account_holder_name": "J DOE",
        "bank_account_number": "10004291601",
        "bank_account_type_lookups_id": "loo_abc123...",
        "bank_name_lookups_id": "loo_abc123...",
        "bank_branch_code": 632005,
        "bank_account_status_lookups_id": "loo_abc123...",
        "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_abc123...
customer_idn/aString(32)Customer IDcus_abc123...
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_type_lookups_idYString(32)Lookups ID relating to a bank account type e.g. Cheque.loo_abc123...
bank_name_lookups_idYString(32)Lookups ID relating to the bank name of the account number e.g. ABSAloo_abc123...
bank_branch_codeYIntegerBank branch code for the account number632005
bank_account_status_lookups_idn/aString(32)Status of bank account from the lookups table.loo_abc123...
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_status_lookups_idString(32)NFilter for a specific bank account status. Lookups type must be 'bank_account_status'.loo_abc123...
customer_idString(32)NFilter for a specific customer id.cus_abc123...
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_abc123...",
    "customer_id": "cus_abs123...",
    "bank_account_holder_name": "J DOE",
    "bank_account_number": "10004291601",
    "bank_account_type_lookups_id": "loo_abc123...",
    "bank_name_lookups_id": "loo_abc123...",
    "bank_branch_code": 632005,
    "bank_account_status_lookups_id": "loo_abc123...",
    "updated_at": "2024-03-17 12:35:24",
    "created_at": "2024-02-27 09:11:23",
  }, ...]
}

Copyright © 2024 Kwik