Skip to main content

Verify a global account

In this tutorial, you will learn how verify a global bank account.

  • Verify and authenticate a personal bank account.
  • Verify and authenticate a business bank account.
  • Receive a synchronous response.
  • Receive an asynchronous response.

Before you begin

To retrieve the status of a Validation Services request, you will need the following:

  • 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.

Callback

The global account validation service currently supports an asynchronous transaction process flow. Configure an API callback to allow AVS to send information back to the client in case of an asynchronous data response.

To receive global account validation responses, register your callback URL.

Verify and authenticate a personal account

Validating and authenticating a personal account determines whether the personal account number is in good standing. To do this, call a POST request to the v2/validations/accounts endpoint. The following example shows the required fields for a personal account verification request. 

Example POST v2/validations/accounts request
Json
[
  {
    "requestId": "123e4567-e89b-12d3-a456-426614174000",
    "account": {
      "accountNumber": "12345",
      "financialInstitutionId": {
        "clearingSystemId": {
          "id": "PARBDEFFZZZ",
          "idType": "SWIFT"
        },
        "postalAddress": {
          "country": "AT"
        }
      },
      "accountNumberType": "IBAN"
    },
    "entity": {
      "individual": {
        "firstName": "Jane",
        "lastName": "Abbot",
        "fullName": "Jane Abbot",
        "identification": [
          {
            "idType": "TAX_ID",
            "id": "111223333"
          }
        ]
      }
    },
    "transactions": []
  }
]

Verify and authenticate a business account

Validating and authenticating a business account determines whether the business account number is in good standing. To do this, call a POST request to the v2/validations/accounts endpoint. The following example shows required fields for a business account verification request.

Example POST v2/validations/accounts request
Json
[
  {
    "requestId": "123e4567-e89b-12d3-a456-426614174000",
    “profileName”: “default”,
    "account": {
      "accountNumber": "85773165363245XD77",
      "financialInstitutionId": {
        "clearingSystemId": {
          "id": "PARBDEFFZZZ",
          "idType": "SWIFT"
        },
        "postalAddress": {
          "country": "DE"
        }
      },
      "accountNumberType": "IBAN"
    },
    "entity": {
      "organization": {
        "name": "John Smith & Sons"
        "identification": [
          {
            "idType": "TAX_ID",
            "id": "111223333"
          }
        ]
      }
    }
  }
]

Response examples for the Global Account Validation service

Standard Synchronous Response

Example: POST v2/validations/accounts request
Json
[
  {
    "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"
          }
        }
      }
    ]
  }
]

Response example for the Global Account Validation service

Standard asynchronous response

Example asynchronous callback response
Json
[
  {
    "requestId": "123e4567-e89b-12d3-a456-426614174000",
    "responses": [
       {
            "codes": {
                "verification": {
                    "code": 1004,
                    "message": "Open Valid"
                },
                "authentication": {
                    "code": 5104,
                    "message": "Ownership Partial Match"
                }
            },
            "provider": "JPMC_LIINK_CONFIRM",
            "details": {
                "providerResponse": {
                    "acctStatus": "AC00",
                    "NmMatch": "PARTIAL_MATCH"
                }
            }
        }
    ]
  }

Next steps