Entity bank accounts
Overview
Entities that represent the customers of Monite partners can have their bank account information associated with them. These bank accounts can be set as default for payment in different currencies.
Add a bank account to an entity
To add a bank account to an entity, call POST /bank_accounts
and provide the bank account details. All bank accounts require the country
and currency
.
In most cases, bank accounts must be located in the country where the currency is the official currency. For example:
- USD can only be chosen for bank accounts in the US.
- GBP can only be chosen for bank accounts in the UK (including Gibraltar).
- EUR can only be chosen for bank accounts in the EU, Liechtenstein, Norway, Switzerland, and UK (including Gibraltar).
Other required fields in bank accounts depend on the currency:
Sample request:
EUR bank account
GBP bank account
USD bank account
The successful response returns the unique id
assigned to the added bank account, along with other details:
Set the default bank account
Once the bank accounts are added to the entity, set a default bank account for each currency by calling POST /bank_accounts/{bank_account_id}/make_default
:
The default entity bank account is set for each currency. Only one default bank account per currency is allowed.
If a new bank account is added to a currency with no default bank account set, the newly added bank account is automatically set as the default for that currency.
Verify a bank account
Bank account verification uses open banking to confirm that entity bank account details are accurate and that the account holder matches the provided information. Verification is required for certain payment methods, particularly SEPA credit transfers through payment links.
To initiate verification for an entity bank account, call POST /bank_accounts/{bank_account_id}/verify
:
The verification process uses open banking to validate bank account details. The response confirms the verification request was initiated:
The open_banking_verification_status
field indicates the current verification state:
not_verified
- Verification has not been initiated (default)pending
- Verification is in progressverified
- Bank account successfully verifiedfailed
- Verification failedexpired
- Verification expired and must be restartednot_applicable
- Verification is not applicable for this bank account
When verification fails, open_banking_verification_error
contains a string with details about the failure reason. This field is null
when verification succeeds or has not been attempted. The error message is reset after a successful verification. Here is an xample response with verification error:
Here are the possible error messages:
- “IBAN doesn’t match name” - The account holder name does not match the IBAN
- “IBAN doesn’t match name. Did you mean
closeMatchName
?” - Close match found, suggesting a similar name - “Unknown beneficiary” - The beneficiary account does not exist in the banking system
List all bank accounts
To get information about all bank accounts associated with the specified entity, call GET /bank_accounts
.
Retrieve a bank account
To get information about a specific bank account associated with the specified entity, call GET /bank_accounts/{entity_bank_account_id}
.
Edit a bank account
You can update the account_holder_name
and display_name
of existing entity bank accounts. To do this, call PATCH /bank_accounts/{entity_bank_account_id}
and provide the new values.
To update other bank account details (for example, iban
), you will need to delete the existing bank account and create a new one instead.
The account_holder_name
of existing GBP and USD bank accounts cannot be changed to an empty string since it is a required field.
Delete a bank account
To delete an existing bank account from the list of bank accounts associated with the specified entity, call DELETE /bank_accounts/{entity_bank_account_id}
.