Add Bank Account
A bank account plays an important role in GrailPay's transaction processing between the payer and payee. When using the registration API, you have the option to include the user's bank account information along with their personal information.
If, for some reason, the bank information was not provided during the registration API process, you can still request to add the bank account information for the person or business using this API. Additionally, if the existing bank account information for the person or business is not accessible in GrailPay, you can add new bank account information through this API.
This API includes a path parameter <user_uuid>
, which refers to the unique identifier of the registered business or individual that was obtained from the registration API.
Account/Routing Validation
GrailPay supports account and routing number validation to prevent failed transactions and fund reversals. This validation is performed by setting the validate_account_routing
flag to true when adding a bank account to an existing user.
Validation Results:
- valid: The account and routing number are valid, and the account is added successfully.
- invalid: The account or routing number is invalid, and the account is not added to the GrailPay application. This returns an HTTP response code - 406
- not_validated: Validation could not be completed, but the account is still added to the GrailPay application.
Endpoint
Request Payload
{
"custom": {
"account_number": "12345678901234",
"routing_number": "056008849",
"account_name": "Jack Jones",
"account_type": "checking",
"valid_account_routing": true
}
}
Fields | Type | Is Required | Description |
---|---|---|---|
plaid.access_token | string | Plaid user access token | |
plaid.account_id | string | Plaid user account id | |
custom.account_number | string | Bank account number maximum of 17 characters | |
custom.routing_number | string | Bank account routing number 9-digit ABA routing transit number associated with the account | |
custom.account_name | string | Name of account in bank | |
custom.account_type | string | Bank account type Possible values: savings checking | |
validate_account_routing | boolean | No | Perform validation on the account and routing number. If validation fails, the account will not be added. |
Response Object
{
"status": true,
"message": "Bank account has been added.",
"data": {
"uuid": "9bb541c4-05bc-48f8-8bcd-fd0fe5c903d7",
"account_number": "12345678901234",
"routing_number": "056008849",
"account_name": "Jack Jones",
"account_type": "checking",
"aggregator_type": "manual",
"created_at": "2024-04-02 03:19:07",
"is_default": true,
"valid_account": "valid"
},
"errors": []
}
{
"status": true,
"message": "We found a matching bank account associated with your account.",
"data": {
"uuid": "9bb541c4-05bc-48f8-8bcd-fd0fe5c903d7",
"account_number": "12345678901234",
"routing_number": "056008849",
"account_name": "Jack Jones",
"account_type": "checking",
"aggregator_type": "manual",
"created_at": "2024-04-02 03:19:07",
"is_default": true
},
"errors": []
}
Errors & Warnings
Code | Message |
---|---|
401 | |
403 | |
406 | The account or routing number provided is invalid |
422 |
Updated 14 days ago