Bank Account
Bank Account records hold the bank details of a customer.
These records may be linked to a customer account record and may also be linked to several Direct Debit Mandates. SmarterPay will notify you via a webhook whenever the state of a bank account record changes
| Method | Purpose |
|---|---|
| POST | Create a Bank Account |
| PUT | Enable or Disable a Bank Account |
| DELETE | Disable a Bank Account |
| GET (Singular) | Retrieve Bank Account details |
| GET (List) | Retrieve Bank Account details in a list |
POST
Action: Create a Bank Account.
Method: POST
URL: https://api.smarterpaycloud.com/service.svc/bankaccount
Request Parameters
| Property | Mandatory | Description |
|---|---|---|
| account_number | True | Must be 8 numbers with leading zeros, no spaces or hyphens |
| sort_code | True | Must be 6 numbers with leading zeros, no spaces or hyphens |
| account_name | True | Name of the account holder as known by the bank. This usually matches the name of the linked customer. |
| customer_account | False | Must be a valid customer account id or left blank. |
| custom_reference | False | Custom reference set on record |
| metadata | False | String for Custom metadata. Maximum 1000 characters. |
| credits_allowed | False | Override modulus check for Credits. “true” to enable, “false” to disable. |
| debits_allowed | False | Override modulus check for Debits. “true” to enable, “false” to disable. |
Notes:
- The “credits_allowed” and “debits_allowed” overrides can only be used to disable a payment type that modulus check reports is allowed on the Bank Account.
- When Credit Anti-Fraud is Enabled the “credits_allowed” override will be automatically set to “false”.
Request Sample
{
"bank_account":
{
"account_number":"12345678",
"sort_code":"123456",
"account_name":"Test Name",
"customer_account":"CUST00002352",
"custom_reference":"XYZ",
"metadata":"",
"credits_allowed": true,
"debits_allowed": true
}
}
Response Parameters
| Property | Description |
|---|---|
| id | Unique identifier beginning with assigned prefix followed by an autonumber |
| created_at | Datetime formatted as ISO8601 |
| account_number | Bank account account number |
| sort_code | Bank account sort code |
| account_name | Bank account customer name |
| bank_name | Name of the bank |
| customer_account | Linked customer account |
| enabled | True if an active account |
| custom_reference | Custom reference set on record |
| metadata | Returns optional custom metadata, if set |
| credits_allowed | “True” if Credits allowed, or “False” if not allowed, from the Bank Account |
| debits_allowed | “True” if Debits allowed, or “False” if not allowed, from the Bank Account |
Response Sample
{
"bank_account":
{
"id":"BANK00003454",
"created_at":"2018-08-23T12:43:17.000Z",
"account_number":"12345678",
"sort_code":"123456",
"account_name":"Test Name",
"bank_name":"BARCLAYS BANK PLC",
"customer_account":"CUST00002352",
"enabled":true,
"custom_reference":"XYZ",
"metadata":"",
"credits_allowed": true,
"debits_allowed": true
}
}
PUT
Action: Update a Bank Account.
Method: PUT
URL: https://api.smarterpaycloud.com/service.svc/bankaccount/{ID}
{ID} denotes ID of record.
Request Parameters
| Property | Mandatory | Description |
|---|---|---|
| enabled | False | “true” to enable, “false” to disable the Bank Account |
| metadata | False | String for Custom metadata. Maximum 1000 characters. |
| credits_allowed | False | Override modulus check for Credits. “true” to enable, “false” to disable. |
| debits_allowed | False | Override modulus check for Debits. “true” to enable, “false” to disable. |
Notes:
- The “credits_allowed” and “debits_allowed” overrides can only be used to disable a payment type that modulus check reports is allowed on the Bank Account.
- Using the “credits_allowed” and “debits_allowed” overrides on an existing record may update/cancel associated records.
Request Sample
{
"bank_account":
{
"enabled":false
}
}
Response Parameters
| Property | Description |
|---|---|
| id | Unique identifier beginning with assigned prefix followed by an autonumber |
| created_at | Datetime formatted as ISO8601 |
| account_number | Bank account account number |
| sort_code | Bank account sort code |
| account_name | Bank account customer name |
| bank_name | Name of the bank |
| customer_account | Linked customer account |
| enabled | True if an active account |
| custom_reference | Custom reference set on record |
| metadata | Returns optional custom metadata, if set |
| credits_allowed | “True” if Credits allowed, or “False” if not allowed, from the Bank Account |
| debits_allowed | “True” if Debits allowed, or “False” if not allowed, from the Bank Account |
Response Sample
{
"bank_account":
{
"id":"BANK00003454",
"created_at":"2018-08-23T12:43:17.000Z",
"account_number":"12345678",
"sort_code":"123456",
"account_name":"Test Name",
"bank_name":"BARCLAYS BANK PLC",
"customer_account":"CUST00002352",
"enabled":true,
"custom_reference":"XYZ",
"metadata":"",
"credits_allowed": true,
"debits_allowed": true
}
}
DELETE
Action: Disable a Bank Account.
Method: DELETE
URL: https://api.smarterpaycloud.com/service.svc/bankaccount/{ID}
{ID} denotes ID of record.
Response Parameters
| Property | Description |
|---|---|
| id | Unique identifier beginning with assigned prefix followed by an autonumber |
| created_at | Datetime formatted as ISO8601 |
| account_number | Bank account account number |
| sort_code | Bank account sort code |
| enabled | True if an active account |
| bank_name | Name of the bank |
| customer_account | Linked customer account |
| custom_reference | Custom reference set on record |
| metadata | Returns optional, custom, metadata, if set |
Response Sample
{
"bank_account":
{
"id":"BANK00003454",
"account_name":"Test Name",
"account_number":"12345678",
"bank_name":"BARCLAYS BANK PLC",
"created_at":"2018-08-23T12:43:17.000Z",
"customer_account":"CUST00002352",
"enabled":false,
"sort_code":"123456",
"custom_reference":"XYZ",
"metadata":""
}
}
GET (Singular)
Action: Retrieve Bank Account details.
Method: GET
URL: https://api.smarterpaycloud.com/service.svc/bankaccount/{ID}
{ID} denotes ID of record.
Response Parameters
| Property | Description |
|---|---|
| id | Unique identifier beginning with assigned prefix followed by an autonumber |
| created_at | Datetime formatted as ISO8601 |
| account_number | Bank account account number |
| sort_code | Bank account sort code |
| account_name | Bank account customer name |
| bank_name | Name of the bank |
| customer_account | Linked customer account |
| enabled | True if an active account |
| custom_reference | Custom reference set on record |
| metadata | Returns optional custom metadata, if set |
| credits_allowed | “True” if Credits allowed, or “False” if not allowed, from the Bank Account |
| debits_allowed | “True” if Debits allowed, or “False” if not allowed, from the Bank Account |
Response Sample
{
"bank_account":
{
"id":"BANK00003454",
"created_at":"2018-08-23T12:43:17.000Z",
"account_number":"12345678",
"sort_code":"123456",
"account_name":"Test Name",
"bank_name":"BARCLAYS BANK PLC",
"customer_account":"CUST00002352",
"enabled":true,
"custom_reference":"XYZ",
"metadata":"",
"credits_allowed": true,
"debits_allowed": true
}
}
GET (List)
Action: Retrieve Bank Account details in a list.
Method: GET
URL: https://api.smarterpaycloud.com/service.svc/bankaccounts
Optional Parameters and filters are available, please see below.
Response Parameters
| Property | Description |
|---|---|
| id | Unique identifier beginning with assigned prefix followed by an autonumber |
| created_at | Datetime formatted as ISO8601 |
| account_number | Bank account account number |
| sort_code | Bank account sort code |
| account_name | Bank account customer name |
| bank_name | Name of the bank |
| customer_account | Linked customer account |
| enabled | True if an active account |
| custom_reference | Custom reference set on record |
| metadata | Returns optional custom metadata, if set |
| credits_allowed | “True” if Credits allowed, or “False” if not allowed, from the Bank Account |
| debits_allowed | “True” if Debits allowed, or “False” if not allowed, from the Bank Account |
Response Sample
{
"bank_accounts": [
{
"Id": "FTBACC02888560",
"account_name": "Chris Bell",
"account_number": "31510604",
"bank_name": "BANK OF ENGLAND",
"created_at": "2022-05-12T11:19:49Z",
"custom_reference": "API POST Test",
"customer_account": "",
"enabled": true,
"sort_code": "100000",
"metadata":"",
"credits_allowed": true,
"debits_allowed": true
},
{
"Id": "FTBACC02888561",
"account_name": "Chris Brooke",
"account_number": "29823529",
"bank_name": "BANK OF IRELAND (UK) PLC",
"created_at": "2022-05-12T11:19:50Z",
"custom_reference": "API POST Test",
"customer_account": "",
"enabled": true,
"sort_code": "902127",
"metadata":"",
"credits_allowed": true,
"debits_allowed": true
}
]
}
Optional Parameters and filters
Optional parameters can be added to the GET URL by using a “?” in front of the first parameter and “&” in front of subsequent parameters, for example https://api.smarterpaycloud.com/Service.svc/BankAccounts?limit=2&page_no=1
| Parameter | Description |
|---|---|
| limit | Limits the number of records returned by the request. Default=40 when not specified. Minimum=1. Maximum=500. |
| page_no | Specifies which page of records are returned by the request. Default=1 when not specified. |
| sort_field | specifies which field to sort on. Options are: “custom_reference”,“sort_code”,“account_number”,“id”,“account_name”,“created_at” (Default when not specified),“customer_id” |
| sort_order | Specifies which order to sort on. Options are asc (ascending. Default when not specified) or desc (descending). |
| Filter | Description |
|---|---|
| account_name | Filter the list using the account_name. Matches will contain the provided value. |
| account_number | Filter the list using the account_number. Matches will contain the provided value. |
| created_from | Filter the list with records created after the datetime supplied. Format is YYYY-MM-DD HH:MM:SS (2022-05-13 10:15:00). |
| created_to | Filter the list with records created before the datetime supplied. Format is YYYY-MM-DD HH:MM:SS (2022-05-13 10:15:00). |
| customer_id | Filter the list using the customer_id. Matches will exactly match the provided value. |
| custom_reference | Filter the list using the custom_reference. Matches will contain the provided value. |
| id | Filter the list using the id. Matches will exactly match the provided value. |
| sort_code | Filter the list using the custom_reference. Matches will contain the provided value. |
| enabled | Filter the list using the status of the record. Can be a comma seperated list of required values. Options are “true”,“false”. |