Account Verification

Account Verification supports the ability to retrieve basic account details via a lightweight AIS call, to return the associated bank account holder name, account number and bank sort code for a given account connection. These can then be subsequently used in payment use cases to ensure payments are routed to validated account details and avoid payment errors. This page serves guidance as to how a simple AIS/Account Verification process can be triggered when creating an auth-request

To enable a simple AIS or account verification process, it is essential to utilise a POST request to auth-requests. The accountVerification parameter is introduced as a part of the request parameters, facilitating a simple AIS check when included in the request.

Below is the structure of the accountVerification parameter:

"accountVerification": {
  "description": "Enables simple account verification AIS consent request",
  "example": {
    "accVerification": true
  },
  "type": "object",
  "properties": {
    "accVerification": {
      "description": "If set to true, the generic permissions will be replaced by the ReadAccountsDetail permission",
      "type": "boolean"
    }
  }
}

As illustrated in the properties above, the accountVerification parameter is an object. It contains a boolean field named accVerification. When the accVerification field is set to true, the generic permissions usually required for account access are substituted with a specific ReadAccountsDetail permission, facilitating the execution of a simple AIS verification.

Here is an example of how the Moneyhub API client can be used to create an auth-request for account verification:

const data = await moneyhub.createAuthRequest({
      scope: `openid id:${bankId}`,
      redirectUri: config.client.redirect_uri,
      userId,
      accountVerification: {accVerification: true},
      customerIpAddress: ip,
      customerLastLoggedTime,
      accountIdentification,
      accountTypes,
})
 

To verify, you should see the following consent screen with ReadAccountsDetail as the only Request Permission:

Once this has been confirmed and you have obtained the code and state as well as the authRequestId , you should be able to run moneyhub.completeAuthRequest through the API, ensuring you pass the code and state as a query parameter and authRequestId.

You should see a successful response provided everything was done correctly and be able to view the account details of the user by making a call to moneyhub.getAccountsWithDetails({userId}).