Skip to main content

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.

info

Account verifications are only supported when the payout method for a beneficiary is of type Local or Proxy.

Payee confirmation

ItemDescription
PayeeThe recipient of your customer's money or whose account you want to confirm. It can be either a business or an individual.
Payee detailsThese 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

StatusDescription
not_supportedNium does not support verifying the account details of a beneficiary bank account in this destination country.
verifiedNium 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_verifiedNium 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.

Europe and United Kingdom

Europe and United Kingdom
Country – CurrencyPayout MethodAccount Holder NameName Match Status
Austria - EURLOCALAvailableYes
Belgium - EURLOCALAvailableYes
Croatia - EURLOCALAvailableYes
Cyprus - EURLOCALAvailableYes
Estonia - EURLOCALAvailableYes
Finland - EURLOCALAvailableYes
France - EURLOCALAvailableYes
Germany - EURLOCALAvailableYes
Greece - EURLOCALAvailableYes
Ireland - EURLOCALAvailableYes
Italy - EURLOCALAvailableYes
Latvia - EURLOCALAvailableYes
Lithuania - EURLOCALAvailableYes
Luxembourg - EURLOCALAvailableYes
Malta - EURLOCALAvailableYes
Netherlands - EURLOCALAvailableYes
Portugal - EURLOCALAvailableYes
Slovakia - EURLOCALAvailableYes
Slovenia - EURLOCALAvailableYes
Spain - EURLOCALAvailableYes
United Kingdom - GBPLOCALAvailableYes

APAC and MEA

APAC and MEA
CountryCurrencyPayout MethodAccount Holder Name
IndiaINRLocal, ProxyYes
SingaporeSGDProxyYes
MalaysiaMYRLocal, ProxyYes
IndonesiaIDRLocalYes
ThailandTHBLocalNo
VietnamVNDLocalYes
AustraliaAUDProxyYes
Hong KongHKDProxyYes
South KoreaKRWLocalYes
PakistanPKRLocalYes
NigeriaNGNLocalYes
TanzaniaTZSLocalYes

North America and LATAM

🌍 North America and LATAM
CountryCurrencyPayout MethodAccount Holder NameName Match
United StatesUSDLocalYesYes

API

URL
POST https://api-test.instarem.com:4803/api/v1/accountVerification

Header Parameters

ParameterDescriptionTypeRequired
authorizationAuthentication tokenStringYes
content-typeThe Content-Type entity header is used to indicate the media type of the resource. Expected value is application/json.StringYes

Example Request

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"
}'

Body Parameters

ParameterDescriptionTypeRequired
destination_currencyDestination currency (3-letter ISO-4217 code).StringYes
destination_countryDestination country code (2-letter ISO 3166-2 country code)StringYes
beneficiary.nameBeneficiary name.StringYes
beneficiary.bank_account_typeBeneficiary Bank Account Type can be one of Checking, Saving or Maestra.StringNo
beneficiary.account_typeBeneficary account type either Individual or Company.StringNo
beneficiary.account_numberBeneficiary account number.StringConditional
beneficiary.account_identifier_typeProxy type for this payout are MOBILE, UEN or NRICStringConditional
beneficiary.account_identifier_valueProxy values are dependent on proxy typeStringConditional
beneficiary.identification_typeSpecifies the type of account identifier. For EUR currency transactions, this must be set to VAT NumberStringConditional
beneficiary.identification_valueThe actual value of the beneficiary’s VAT Number. This field is mandatory when account_identification_type is set to REGISTRATION_ID for EUR transactions.StringConditional
payout_methodPayout Method either BANK or PROXYStringYes
routing_code_type_1Routing 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).StringConditional
routing_code_value_1Routing 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).StringConditional

Example Response

Success Response with 200 status code

{
"account_validation_id": "6721d72235ad24bb263e4795",
"status": "verified",
"beneficiary": {
"bank_account_name": "SHERLOCK HOLMES",
"name_match" : "match"
}
}

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

ParameterDescriptionType
account_validation_idUnique reference IdString
statusConfirmation of payee statusString
beneficiary.bank_account_nameAccount name of beneficiary bankString
beneficiary.beneficiary_name_local_languageName of beneficiary in local languageString
beneficiary.name_matchName match status, expected values [ match, no_match, partial_match ]String
errorsList of errorsArray
messageDescription of statusString