Link a bank account
Zero Hash partners with Plaid to enable account linking.
Zero Hash uses the platform supplied Plaid processor token to set up an account via Create external accounts. Zero Hash returns an external_account_id
to the platform which can be used for later payment requests without needing to link another account. Platforms may also Get external accounts if the external_account_id
is needed.
API calls
Request body
Parameter | Description | Type |
---|---|---|
participant_code | The code of the participant that wants to create a new ACH transaction, required. | string |
account_nickname | Name given to the account. This does not impact further Zero Hash functionality so it is purely for platform reference, required. For testing only: To simulate identity checks and get a rejected account, use this content: '{"name":0, "email": 0, "address": 0}' | string |
plaid_processor_token | Token retrieved from Plaid that enables Zero Hash to make API calls on the platform’s behalf, required. | string |
Additional fields in response
Parameter | Description | Type |
---|---|---|
request_id | The unique identifier generated by Zero Hash associated with the request. | string |
platform_code | Platform unique identifier. | string |
external_account_id | The unique identifier generated by Zero Hash for the account. This must be stored and used to make subsequent payment requests. | string |
account_type | Indicates if the account is checking or savings. | string |
created_at | Timestamp when the account was created. | UNIX timestamp |
Create external account
POST /payments/external_accounts
Sample request
{
'message': {
'participant_code': 'ABC123',
'account_nickname': 'Chase',
'plaid_processor_token': 'db884a3e-7eb7-4253-92ee-04ff5efbc365'
}
}
Sample response
{
'message': {
'request_id': '0f65678e-2114-469d-b505-c850d776e078',
'participant_code': 'ABC123',
'platform_code': 'XYZ789',
'account_nickname': 'Chase',
'account_type': 'checking',
'external_account_id': '0f68333e-2114-469d-b505-c850d776e063',
'created_at': 1561996924964
}
}
Close external accounts
POST /payments/external_accounts/{external_account_id}/close
This enables closing a customer bank account so it cannot be used with Zero Hash any longer.
Sample response
{
'message': {
'request_id': '0f65678e-2114-469d-b505-c850d776e078',
'participant_code': 'ABC123',
'platform_code': 'XYZ789',
'account_nickname': 'Chase',
'account_type': 'checking',
'external_account_id': '0f68333e-2114-469d-b505-c850d776e063',
'status': 'closed',
'created_at': 1561996924964
}
}
Get external accounts
External account updates can be fetched via API, and received via external account status webhooks.
Query parameters include
page
: (optional) the page you would like to request – default value is 1size
: (optional) the number of records per page – default value is 200participants
: (optional) array of the participants for which to filter the result
Returns an array of all accounts that have been posted for ACH transactions.
Response parameters
Parameter | Description | Type |
---|---|---|
request_id | The unique identifier generated by Zero Hash associated with the request. | string |
account_number | The full bank account number of the external account. Value will be empty because of the Plaid token relationship. | string |
routing_number | The routing number of the bank where the external account is held. Value will be empty because of the Plaid token relationship. | string |
participant_code | The code of the participant that wants to create a new ACH transaction, required. | string |
platform_code | Platform unique identifier. | string |
account_nickname | Name given to the account. This does not impact further Zero Hash functionality so it is purely for platform reference. | string |
account_type | Indicates if the account is checking or savings. | string |
status | Account status. Could be one of the following:pending approved rejected locked disabled closed | string |
external_account_id | The unique identifier generated by Zero Hash for the account. This must be stored and used to make subsequent payment requests. | string |
created_at | Timestamp when the account was created. | timestamp |
updated_at | Timestamp when the account was last changed. | timestamp |
Sample response
{
"message": [
{
"request_id": "0f68333e-2114-469d-b505-c850d776e063",
"Account_number": "",
"Routing_number": "",
"participant_code": "ALI123",
"platform_code": "TES123",
"account_nickname": "test1",
"account_type": "checking",
"external_account_id": "0f68333e-2114-469d-b505-c850d776e063",
"created_at": "1975-08-19T23:15:30.000Z",
"updated_at": "1975-08-19T23:15:30.000Z"
}
],
"page": 1,
"total_pages": 1,
"page_size": 200,
"count": 10
}
Updated about 2 months ago