Validate a global account
In this tutorial, you will learn how to validate a global bank account.
- Validate a personal account via provider SurePay
- Validate a business account via provider SurePay
- Validate a personal bank account via provider SurePay or provider Kinexys Liink
- Validate a business account via provider Kinexys Liink
Before you begin
To validate a global bank account, you will need the following:
- A registered and fully onboarded Developer Account on the J.P. Morgan Payments Developer Portal.
- An active project that provides you with the credentials to make a request.
- A configured callback API and anregistered callback URL to receive responses from Kinexys Liink.
Validate a personal account via provider SurePay
To validate a personal account using Provider SurePay, the account holder's name and account identifiers are required. Refer to Account Validation country list for country-specific requirements. To validate a personal account, call a POST
request to the v2/validations/accounts
endpoint. The following example shows the required fields for a personal account validation request.
[
{
"requestId": "123e4567-e89b-12d3-a456-426614174000",
“profileName”: “globalaccountvalidation”,
"account": {
"accountNumber": "DE33500105171834492216",
"financialInstitutionId": {
"clearingSystemId": {
"id": "DE33500105171834492216",
"idType": "IBAN"
},
"postalAddress": {
"country": "DE"
}
},
"accountNumberType": "IBAN"
},
"entity": {
"individual": {
"firstName": "Jane",
"lastName": "Doe"
}
]
}
}
}
]
Sample response
The following example shows a successful response for a personal account validation request.
[
{
"requestId": "123e4567-e89b-12d3-a456-426614174000",
"responses": [
{
"codes": {
"verification": {
"code": 1011,
"message": "Open Valid"
},
"authentication": {
"code": 5011,
"message": "Ownership Match"
}
},
"provider": "SUREPAY_IBAN",
"details": {
"providerResponse": {
"result": {
"resultType": "MATCH",
"account": {
"status": "ACTIVE"
}
}
}
}
}
]
Validate a business account via provider SurePay
To validate a business account using Provider SurePay, the business account holder name and business account identifiers are required. Refer to Account Validation Country List
for country-specific requirements. o validate a business account, call a POST
request to the v2/validations/accounts
endpoint.
[
{
"requestId": "123e4567-e89b-12d3-a456-426614174000",
“profileName”: “globalaccountvalidation”,
"account": {
"accountNumber": "DE76500105178569136743",
"financialInstitutionId": {
"clearingSystemId": {
"id": "DE76500105178569136743",
"idType": "IBAN"
},
"postalAddress": {
"country": "DE"
}
},
"accountNumberType": "IBAN"
},
"entity": {
"organization": {
"name": "Dummy Organization Inc"
}
]
}
}
}
]
Sample response
The following example shows a successful response for a business account validation request.
[
{
"requestId": "123e4567-e89b-12d3-a456-426614174000",
"responses": [
{
"codes": {
"verification": {
"code": 1011,
"message": "Open Valid"
},
"authentication": {
"code": 5011,
"message": "Ownership Match"
}
},
"provider": "SUREPAY_IBAN",
"details": {
"providerResponse": {
"result": {
"resultType": "MATCH",
"account": {
"status": "ACTIVE"
}
}
}
}
}
]
}
]
Validate a personal account via provider Kinexys Liink
To validate a personal account via provider Kinexys Liink, the account holder's name and account identifiers are required. Refer to Account Validation country list
for country-specific requirements. Call a POST
request to the v2/validations/accounts
endpoint.
[
{
"requestId": "123e4567-e89b-12d3-a456-426614174000",
“profileName”: “globalaccountvalidation”,
"account": {
"accountNumber": "DE33500105171834492216",
"financialInstitutionId": {
"clearingSystemId": {
"id": "DE33500105171834492216",
"idType": "IBAN"
},
"postalAddress": {
"country": "DE"
}
},
"accountNumberType": "IBAN"
},
"entity": {
"individual": {
"firstName": "Jane",
"lastName": "Doe"
}
]
}
}
}
]
Standard synchronous response
The following example shows a standard synchronous response returned immediately after a successful personal account validation request.
[
{
"requestId": "123e4567-e89b-12d3-a456-426614174000",
"responses": [
{
"codes": {
"verification": {
"code": 8904,
"message": "Initiated"
},
"authentication": {
"code": 8904,
"message": "Initiated"
}
},
"provider": "JPMC_LIINK_CONFIRM",
"details": {
"providerResponse": {
"refId": "8bbe2b5c-577b-461a-90dd-2df96e978edb"
}
}
}
]
}
]
Standard asynchronous response
The following example shows a standard asynchronous response that is returned when the validation request is processed in the background and the results are delivered later.
[
{
"requestId": "123e4567-e89b-12d3-a456-426614174000",
"responses": [
{
"codes": {
"verification": {
"code": 1004,
"message": "Open Valid"
},
"authentication": {
"code": 5004,
"message": "Ownership Match"
}
},
"provider": "JPMC_LIINK_CONFIRM",
"details": {
"providerResponse": {
"acctStatus": "AC00",
"NmMatch": "FULL_MATCH"
}
}
}
]
}
Validate a business account via provider Kinexys Liink
To validate a business account via provider Kinexys liink, the account holder name and account identifiers are required. Refer to Account Validation country list
for country-specific requirements.
Sample request
Call a POST
request to the v2/validations/accounts
endpoint.
[
{
"requestId": "123e4567-e89b-12d3-a456-426614174000",
“profileName”: “globalaccountvalidation”,
"account": {
"accountNumber": "DE76500105178569136743",
"financialInstitutionId": {
"clearingSystemId": {
"id": "DE76500105178569136743",
"idType": "IBAN"
},
"postalAddress": {
"country": "DE"
}
},
"accountNumberType": "IBAN"
},
"entity": {
"organization": {
"name": "SUREPAY_IBAN"
}
]
}
}
}
]
Standard synchronous response
The following example shows a standard synchronous response returned immediately after a successful business account validation request.
[
{
"requestId": "123e4567-e89b-12d3-a456-426614174000",
"responses": [
{
"codes": {
"verification": {
"code": 1004,
"message": "Open Valid"
},
"authentication": {
"code": 5004,
"message": "Ownership Match"
}
},
"provider": "JPMC_LIINK_CONFIRM",
"details": {
"providerResponse": {
"acctStatus": "AC00",
"NmMatch": "FULL_MATCH"
}
}
}
]
}
Standard asynchronous response
The following example shows a standard asynchronous response that is returned when the business account validation is processed in the background and the results are delivered later.
[
{
"requestId": "123e4567-e89b-12d3-a456-426614174000",
"responses": [
{
"codes": {
"verification": {
"code": 1004,
"message": "Open Valid"
},
"authentication": {
"code": 5004,
"message": "Ownership Match"
}
},
"provider": "JPMC_LIINK_CONFIRM",
"details": {
"providerResponse": {
"acctStatus": "AC00",
"NmMatch": "FULL_MATCH"
}
}
}
]
}
Related
- For more information about parameters, see Account Validation parameters.
- For more information about the status responses and error codes supported by the Validation Services API, see Validation Services error response codes.
Next steps
- Learn how to perform micro-deposits.
- Learn how to request Account Confidence Score