-
- abort-payment-on-terminal
- capture-payment
- filter-payments
- find-payment
- initiate-payment-flow
- list-activity-logs
- list-payment-activities
- list-payments
- list-payments-by-contact
- list-payments-by-terminal
- refund-payment
- request-payment
- resume-payment-on-terminal
- retrieve-refund-performance
- retrieve-sales-performance
- reverse-payment
- start-payment-on-terminal
- void-payment
Update a bank account
Update the details of an existing bank account linked to a contact. Only the fields you provide will be updated — omitted fields will remain unchanged.
The endpoint returns the updated bank account object.
contact_id
string
Required. The contact ID (either internal UID or external ID) that owns the bank account.
bank_account_id
string
Required. The bank account ID (either internal UID starting with 'bka_' or your external ID) to update.
name
string
Optional. The account holder's name as registered with the bank.
primary
boolean
Optional. Make this account the primary one. If true, this bank account will be set as the contact's primary bank account, replacing any existing primary account.
external_id
string
Optional. Your own external identifier for this bank account.
| Attribute | Description |
|---|---|
bank_account_idstring
|
Always present. The ID of the bank account. |
bank_codestring
|
Always present. The bank code identifying the financial institution. |
numberstring
|
Always present. The bank account number. |
namestring
|
Always present. The name of the account holder. |
country_codestring
|
Always present. The ISO country code where the bank account is located. |
created_atnumber
|
Always present. The Unix timestamp (seconds since epoch) when the bank account was created. |
deleted_atnumber
|
Nullable. The Unix timestamp (seconds since epoch) when the bank account was deleted. |
deletableboolean
|
Always present. Whether the bank account can be deleted. A bank account is deletable if it is not the primary bank account, or if it is the primary bank account but it is the only bank account for the contact. |
ownerstring
|
Always present. Whether this bank account belongs to a contact or the merchant. Possible values:
|
primaryboolean
|
Always present. Whether this is the primary bank account for its owner (the contact or the merchant). |
NOT_FOUND
No contact found with the provided contact_id, or the bank account does not exist or does not belong to the contact.
INVALID_PRIMARY
Cannot unset primary on the current primary bank account. Set another bank account as primary instead.
UNHANDLED_ERROR
This error occurs when the server encounters an unexpected internal error that it cannot handle gracefully. This typically happens due to bugs, infrastructure issues, or edge cases that weren't anticipated during development.
INVALID_ARGUMENTS
This error occurs when the request contains invalid or missing parameters. Common cases include missing required fields, or values that don't match the expected format or type.
BAD_VERSION
This error occurs when making requests to an API version that does not exist. This commonly happens when using an outdated SDK or when the API version specified in the request URL is incorrect.
curl "https://api.reservepay.com/merchants/update-bank-account" \
-X POST
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer $(RESERVEPAY_API_KEY)" \
-d '{
"contact_id": "ctc_1234567890",
"bank_account_id": "bka_xhBi6ypq9G",
"name": "Fred Bloggs"
}'
