Account Verification (Verify)
Account verification API enables you to confirm validity of the bank account details of the payee
Overview
The API enables you to ensure the money reaches the intended payee by verifying if the account number is valid.
Account verifications are only supported when the payout method for a beneficiary is of type
Local
orProxy
.
Payee confirmation
Item | Description |
---|---|
Payee | The recipient of your customer's money or whose account you want to confirm. It can be either a business or an individual. |
Payee details | These can be the payee's name, beneficiary account, routing codes, and many others. To get a comprehensive list of the required fields, use the Beneficiary Validation Schema V2 API. |
Statuses
Status | Description |
---|---|
not_supported | Nium does not support verifying the account details of a beneficiary bank account in this destination country. |
verified | Nium has successfully verified that the bank account details of the beneficiary are correct. Note: Transactions to this beneficiary can still be returned due to several reasons, such as compliance reject, bank reject, account closed, etc. |
not_verified | Nium has confirmed that the bank account details of the beneficiary are incorrect. |
Supported corridors for account verification
In certain corridors, Nium is able to provide the full name of the payee associated with the bank account. The Account verification API is supported in the following corridors and payout methods.
Country – Currency | Payout Method | Account Holder Name |
---|---|---|
Australia - AUD | PROXY | Available |
Belgium - EUR (Beta) | LOCAL | Available |
France - EUR (Beta) | LOCAL | Available |
Hong Kong - HKD | PROXY | Available |
India - INR | LOCAL / PROXY | Available |
Indonesia - IDR | LOCAL | Available |
Italy - EUR (Beta) | LOCAL | Available |
Malaysia – MYR | LOCAL / PROXY | Available |
Netherlands - EUR (Beta) | LOCAL | Available |
Nigeria - NGN | LOCAL | Available |
Pakistan – PKR | LOCAL | Available |
Poland - EUR (Beta) | LOCAL | Available |
Singapore - SGD | PROXY | Available |
South Korea - KRW | LOCAL | Available |
Tanzania - TZS | LOCAL | Available |
Thailand - THB | LOCAL | Unavailable |
United Kingdom - GBP | LOCAL | Available |
United States - USD (Beta) | LOCAL | Unavailable |
Vietnam - VND | LOCAL | Available |
For UK accounts: The account holder's name is only returned for strong and partial matches. For weak matches, the name will not be returned. This matching process is standardized across all UK providers.
API
POST https://api-test.instarem.com:4803/api/v1/accountVerification
Header Parameters
Parameter | Description | Type | Required |
---|---|---|---|
authorization | Authentication token | String | Yes |
content-type | The Content-Type entity header is used to indicate the media type of the resource. Expected value is application/json. | String | Yes |
Example Request
- Bash
- Javascript
- C#
curl --location 'https://api-test.instarem.com:4803/api/v1/accountVerification' \\
--header 'Content-Type: application/json' \\
--header 'authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTk5ODQxMjQsImRhdGEiOnsiY2xpZW50IjoiNjY2ODM5ZGUyOWY1NDQyMDFjMGFkMWFkIiwiY3JlZElkIjoiNjY2ODM5ZGUyOWY1NDQyMDFjMGFkMWFkIiwic3ViIjoiNTkzZmViZjc3YzUyYmIyMzU3YjJkZjcxIn0sImlhdCI6MTcxOTg5NzcyNH0.IuGw2JqshYbp-eNMXCLhRmDgeoBR2kdaaUZDCMDc2Mw' \\
--data-raw '{
"destination_currency": "AUD",
"destination_country": "AU",
"beneficiary": {
"name": "Rocket Raccoon",
"bank_account_type": "Saving",
"account_type": "Individual",
"account_number": "1223344",
"identification_type":"REGISTRATION_ID",
"identification_value":"FR12949982110"
},
"payout_method": "LOCAL",
"routing_code_type_1": "BSB CODE",
"routing_code_value_1": "066143"
}'
var data = JSON.stringify({
"client_legal_entity": "SG",
"destination_currency": "AUD",
"destination_country": "AU",
"beneficiary": {
"name": "Rocket Raccoon",
"bank_account_type": "Saving",
"account_type": "Individual",
"account_number": "1223344",
"identification_type":"REGISTRATION_ID",
"identification_value":"FR12949982110"
},
"payout_method": "LOCAL",
"routing_code_type_1": "BSB CODE",
"routing_code_value_1": "066143"
})
var xhr = new XMLHttpRequest();
xhr.addEventListener("readystatechange", function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open("post", "https://api-test.instarem.com:4803/api/v1/accountVerification")
xhr.setRequestHeader("authorization", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0OTgxMzQ4OTQsImRhdGEiOnsic3ViIjoiNTk0MjNmMzZjZWEyMTQ2OTI2ODczOWE1IiwiY2xpZW50IjoiNTk0MjNmMzZjZWEyMTQ2OTI2ODczOWExIn0sImlhdCI6MTQ5ODA0ODQ5NH0.pevwSDpk-JDNtVIpqFu_m0Xu1UnDVumrAYStcrxf8sM");
xhr.setRequestHeader("content-type", "application/json");
xhr.send(data);
var client = new RestClient("https://api-test.instarem.com:4803/api/v1/accountVerification");
var request = new RestRequest(Method.POST);
request.AddHeader("authorization", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0OTgxMzQ4OTQsImRhdGEiOnsic3ViIjoiNTk0MjNmMzZjZWEyMTQ2OTI2ODczOWE1IiwiY2xpZW50IjoiNTk0MjNmMzZjZWEyMTQ2OTI2ODczOWExIn0sImlhdCI6MTQ5ODA0ODQ5NH0.pevwSDpk-JDNtVIpqFu_m0Xu1UnDVumrAYStcrxf8sM");
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", @"{
""client_legal_entity"": ""SG"",
""destination_currency"": ""AUD"",
""destination_country"": ""AU"",
""beneficiary"": {
""name"": ""Rocket Raccoon"",
""bank_account_type"": ""Saving"",
""account_type"": ""Individual"",
""account_number"": ""1223344"",
""identification_type"":""REGISTRATION_ID"",
""identification_value"":""FR12949982110""
},
""payout_method"": ""LOCAL"",
""routing_code_type_1"": ""BSB CODE"",
""routing_code_value_1"": ""066143""
}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Body Parameters
Parameter | Description | Type | Required |
---|---|---|---|
destination_currency | Destination currency (3-letter ISO-4217 code). | String | Yes |
destination_country | Destination country code (2-letter ISO 3166-2 country code) | String | Yes |
beneficiary.name | Beneficiary name. | String | Yes |
beneficiary.bank_account_type | Beneficiary Bank Account Type can be one of Checking, Saving or Maestra. | String | No |
beneficiary.account_type | Beneficary account type either Individual or Company. | String | No |
beneficiary.account_number | Beneficiary account number. | String | Conditional |
beneficiary.account_identifier_type | Proxy type for this payout are MOBILE, UEN or NRIC | String | Conditional |
beneficiary.account_identifier_value | Proxy values are dependent on proxy type | String | Conditional |
beneficiary.identification_type | Specifies the type of account identifier. For EUR currency transactions, this must be set to VAT Number | String | Conditional |
beneficiary.identification_value | The actual value of the beneficiary’s VAT Number. This field is mandatory when account_identification_type is set to REGISTRATION_ID for EUR transactions. | String | Conditional |
payout_method | Payout Method either BANK or PROXY | String | Yes |
routing_code_type_1 | Routing code type 1 (eg SWIFT for all Countries, IFSC for India, SORT CODE for UK, ACH CODE for USA, BRANCH CODE for Brazil and Bangladesh, BSB CODE for Australia, BANK CODE for HongKong). | String | Conditional |
routing_code_value_1 | Routing code value 1 (eg ADCBINBB or ADCBINBB123 for SWIFT, SBIN0000058 for IFSC, 100000 for SORT CODE, 111000025 for ACH CODE, 012515 for BSB CODE, 151 for BANK CODE). | String | Conditional |
Example Response
Success Response with 200 status code
{
"account_validation_id": "6721d72235ad24bb263e4795",
"status": "verified",
"beneficiary": {
"bank_account_name": "SHERLOCK HOLMES"
}
}
Error Response with 400 status code
{
"status": "not_supported",
"errors": [
{
"path": "data",
"message": "Account verification for SGD is not supported for payout method LOCAL"
}
]
}
{
"status": "not_verified",
"errors": [
{
"path": "data",
"message": "Account is Invalid"
}
]
}
{
"status": "validation_error",
"errors": [
{
"path": "routing_code_type_1",
"message": "routing_code_type_1 must be one of [, IFSC, SWIFT, ACH CODE, BSB CODE, SORT CODE, BANK CODE, LOCATION ID, BRANCH CODE, TRANSIT NUMBER, BRANCH NAME, CNAPS, WALLET]"
}
]
}
Response Parameters
Parameter | Description | Type |
---|---|---|
account_validation_id | Unique reference Id | String |
status | Confirmation of payee status | String |
beneficiary.bank_account_name | Account name of beneficiary bank | String |
beneficiary.beneficiary_name_local_language | Name of beneficiary in local language | String |
errors | List of errors | Array |
message | Description of status | String |