W2 Data Bank Account Verification Uk 007 Service

A bank account verification service for the UK

 

Query Data    

The following QueryData elements pertain to this service.     

 

Property Name Type Length Optional/Mandatory Notes
AccountNumber
String
8 Mandatory 8 digits
SortCode
String
8 Mandatory 6 digits plus 2 hyphens
Forename
String
15 Mandatory Maximum 15 characters
MiddleNames
String
15 Optional Maximum 15 characters
Surname
String
30 Mandatory Maximum 30 characters
DayOfBirth
Integer
2 Optional  
MonthOfBirth
Integer
2 Optional  
YearOfBirth
Integer
4 Optional  
HouseName
String
26 Mandatory if no HouseNameNumber or HouseNumber given Maximum 26 characters
HouseNumber
String
26 Mandatory if no HouseNameNumber or HouseName given Maximum 26 characters
HouseNameNumber 
String
26 Mandatory if no HouseNumberor HouseName given Maximum 26 characters
City
String
100 Optional  
Postcode
String
8 Mandatory Must be a valid UK postcode

 

Request

The following is an example request:   

<QueryData>
<AccountNumber>12345678</AccountNumber>
<City>Crawley</City>
<DayOfBirth>31</DayOfBirth>
<Forename>Billy</Forename>
<HouseNameNumber>68</HouseNameNumber>
<MonthOfBirth>12</MonthOfBirth>
<Postcode>RH13 3HE</Postcode>
<SortCode>12-13-14</SortCode>
<Surname>Jones</Surname>
<YearOfBirth>1944</YearOfBirth>
</QueryData>

Response

The following shows the basic schema for the <BankAccountVerificationResult> object that is returned in the <ServiceResult> Section of the <ProcessRequestResult> object.   

<BankAccountVerificationResult>
<Characteristics>
{
<Characteristic>
{
<Code>
{ A characteristic code }
</Code>
<Value>
{ A characteristic value }
</Value>
}
</Characteristic>
}
</Characteristics>
<MatchingFields>
{
<MatchingField>
{
<FieldLabel>
{ A matching field label }
</FieldLabel>
<IsValid>
{ A Boolean value }
</IsValid>
<Value>
{ A matching field value }
</Value>
}
</MatchingField>
}
</MatchingFields>
<InterpretResult>
{
NotPerformed | Pass | Fail | Refer |
NotApplicable | NoInterpretPerformed
}

</InterpretResult>
<Message>
{ A message containing additional information about the call }
</Message>
<TransactionResult>
{
None | Success | SuccessNoResults | SuccessIncompleteResults |
MultipleChoices | ClientErrorInformationFormatInvalid | ClientErrorInsufficientInformation |
NotExecutedDueToPreviousHalt | ServerErrorGeneralError | ServiceFailureError
}

</TransactionResult>
</BankAccountVerificationResult>

Example Response:

The below example shows a case where we have found one NameAndAddress match and valid AccountNumber and SortCode.

<BankAccountVerificationResult>
<Characteristics>
<Characteristic>
<Code>QSC070</Code>
<Value>1</Value>
</Characteristic>
<Characteristic>
<Code>QSC074</Code>
<Value>1</Value>
</Characteristic>
</Characteristics> <InterpretResult>Pass</InterpretResult>
<MatchingFields>
<MatchingField>
<FieldLabel>Account number confirmation</FieldLabel>
<IsValid>true</IsValid>
<Value>Valid</Value>
</MatchingField>
<MatchingField>
<FieldLabel>Sort code confirmation</FieldLabel>
<IsValid>true</IsValid>
<Value>Valid</Value>
</MatchingField>
<MatchingField>
<FieldLabel>Age of account</FieldLabel>
<IsValid>true</IsValid>
<Value>14 months</Value>
</MatchingField>
<MatchingField>
<FieldLabel>Name Match</FieldLabel>
<IsValid>true</IsValid>
<Value>Mina Heaney</Value>
</MatchingField>
<MatchingField>
<FieldLabel>Address Match</FieldLabel>
<IsValid>true</IsValid>
<Value>4032, ELY, CB6 1AN</Value>
</MatchingField>
</MatchingFields>
<Message>
This service has passed as the bank account number and sort code have successfully matched
</Message>
<Scores/>
<TransactionResult>Success</TransactionResult>
</BankAccountVerificationResult>

Transaction Result

HaltTriggered Usually false, but can be true if this service is used within a bundle that can trigger a halt condition.
ServiceTransactionResult
  • Success
  • SuccessIncompleteResults Too many matches on the search criteria and the results have been truncated
  • SuccessNoResults No matches found
  • ServerErrorGeneralError An error occurred
  • ServiceFailureError- Unable to contact third party service
  • ClientErrorInsufficientInformation Required field not supplied or insufficient/invalid information
ServiceInterpretResult
  • Pass - QSC070 (Sort Code Verification) = 1 
    AND
    QSC074 (Account Number Verification) = 1
  • Fail - QSC070 (Sort Code Verification) NOT = 1 (or 2 if the other is a 2)
    or
    QSC074 (Account Number Verification) NOT = 1 (or 2 if the other is a 2)
  • Refer - QSC070 (Sort Code Verification) = 2
    AND
    QSC074 (Account Number Verification) = 1 

    or

    QSC070 (Sort Code Verification) = 1
    AND
    QSC074 (Account Number Verification) = 2

    or

    QSC070 (Sort Code Verification) = 2
    AND
    QSC074 (Account Number Verification) = 2
  • NoInterpretPerformed
  • NotPerformed - An error occurred and the search was not performed
CharacteristicResultValues
Default Value Description
N Sort Code / Account Number not supplied
X Sort Code / Account Number invalid
H Sort Code / Account Number validation not available
M No Data
C No Qualifying Accounts
A Sort Code / Account Number not validated
1 Sort Code / Account Number valid
2 Sort Code / Account Number valid less one digit
3 Account Number valid at 6 bytes
ServiceTransactionResultMessage Usually empty, can contain optional information such as too many matches etc.
ValidationResult
  • Pass
  • NotPerformed - No search occurred to match against
  • Fail MissingMandatoryField or PatternNotMatched

Sandbox mode can be used to test the service. By setting the following query option and sending some the below query data we will return a pre-configured response without actually calling our suppliers.

<QueryOptions>
  <KeyValueOfstringstring>
    <Key>Sandbox</Key>
    <Value>true</Value>
  </KeyValueOfstringstring>
</QueryOptions>

If the Sandbox query option is set to "true" then the following queries will return results. The result of the verification will depend on the configuration of the matching set up during the on-boarding process.  

Scenario Explanation Forename Middlename Surname Day Of Birth Month Of Birth Year Of Birth Bank Sort Code Bank Account Number House Number Street 1 Town Postcode
Fail Sort Code / Account Number not validated Nicloe Alan Ncube 05 10 1988 09-01-27 03299391 549 Cromwell Road Ely CB6 1AS
Fail Sort Code / Account Number not validated Vilamantos M Ali 19 09 1993 09-01-27 03299391 1330 Cromwell Road Ely CB6 1AS
Fail Sort Code valid less one digit / Account Number not validated Leasa Maria Gibson 21 03 1957 09-01-27 03299391 623 West Fen Road Ely CB6 1AN
Fail Sort Code valid less one digit / Account Number not validated Rd   Huckle 20 10 1979 09-01-27 03299391 12 Cromwell Road Ely CB6 1AS
Fail Sort Code valid less one digit / Account Number not validated Dan Moses   Bloomer 31 01 1989 09-01-27 03299391 33 Cromwell Road Ely CB6 1AS
Fail Sort Code valid / Account Number not validated Marlon   Davenport 03 03 1988 09-01-27 03299391 30 Cromwell Road Ely CB6 1AS
Pass Sort Code / Account Number valid Melissa   Bonstow 20 04 1978 60-15-28 66599864 4000 West Fen Road Ely CB6 1AN
Pass Sort Code / Account Number valid B Craig Susca 30 10 1971 11-00-51 00971999 4023 West Fen Road Ely CB6 1AN
Pass Sort Code / Account Number valid Jordan V Milstead 16 06 1977 30-84-51 39399468 3990 West Fen Road Ely CB6 1AN
Refer Sort Code valid / Account Number valid less one digit Maj C Borovyk 06 06 1991 09-01-28 39349919 4007 West Fen Road Ely CB6 1AN
Refer Sort Code valid / Account Number valid less one digit Ganesh Alice Lilleystone 06 07 1988 09-01-28 79284500 4008 West Fen Road Ely CB6 1AN
Refer Sort Code valid / Account Number valid less one digit John D Thomas Haywrd 02 09 1993 09-01-28 37609943 4019 West Fen Road Ely CB6 1AN