callcredit 0.3.3 → 0.3.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/README.md +2 -2
- data/callcredit.gemspec +1 -0
- data/lib/callcredit.rb +1 -0
- data/lib/callcredit/constants.rb +44 -2
- data/lib/callcredit/request.rb +14 -22
- data/lib/callcredit/response.rb +0 -2
- data/lib/callcredit/validations.rb +61 -0
- data/lib/callcredit/version.rb +1 -1
- data/spec/client_spec.rb +2 -2
- data/spec/fixtures/request.xsd +819 -0
- data/spec/request_spec.rb +23 -7
- data/spec/spec_helper.rb +6 -1
- data/spec/validations_spec.rb +108 -0
- metadata +21 -4
- data/spec/fixtures/request.xml +0 -50
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 53b5cefad92f98c5380ed32a4898b210c73cd455
|
4
|
+
data.tar.gz: 7afe3319d5e548c209f758d05bb6e859245e6619
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1db3d187a7e5bae829f89760ba02a04aec5ca562c5c1b1b9be105e7cd1268bd51f2266d5d3ae12b873181590ce4c0a400a56630fa31f161a8dd3a62c87786b1a
|
7
|
+
data.tar.gz: 13b1835f96b0e1fceb556d5bab3e255082fcfcdeab18e73cb6d3ccacb1dd15e61c8ea3512574c8860411bd00eb38a2a8aabd888ac961650751ee1227c97ca2ca
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -45,7 +45,7 @@ postcode).
|
|
45
45
|
#### Other checks
|
46
46
|
For any other check, simply pass the name of the check you'd like to perform
|
47
47
|
into the `perform_check` method, along with details of the individual you're
|
48
|
-
checking.
|
48
|
+
checking.
|
49
49
|
|
50
50
|
```ruby
|
51
51
|
data_hash = { personal_data: { first_name: "Grey", last_name: "Baker" } }
|
@@ -61,7 +61,7 @@ Callcredit.perform_check([:id_enhanced, :credit_score], data_hash)
|
|
61
61
|
```
|
62
62
|
|
63
63
|
NOTE: Currently, this gem only supports checks on the payer's personal
|
64
|
-
information (other information won't be passed through to
|
64
|
+
information (other information won't be passed through to Callcredit).
|
65
65
|
Extending the gem should be trivial if Callcredit have given you access to
|
66
66
|
other checks.
|
67
67
|
|
data/callcredit.gemspec
CHANGED
@@ -5,6 +5,7 @@ Gem::Specification.new do |gem|
|
|
5
5
|
gem.add_runtime_dependency 'faraday_middleware', '>= 0.8.2'
|
6
6
|
gem.add_runtime_dependency 'multi_xml', '~> 0.5.1'
|
7
7
|
gem.add_runtime_dependency 'nokogiri', '~> 1.4'
|
8
|
+
gem.add_runtime_dependency 'unidecoder', '~> 1.1.2'
|
8
9
|
|
9
10
|
gem.add_development_dependency 'rspec'
|
10
11
|
gem.add_development_dependency 'webmock'
|
data/lib/callcredit.rb
CHANGED
data/lib/callcredit/constants.rb
CHANGED
@@ -3,7 +3,49 @@ module Callcredit
|
|
3
3
|
# Check types suported by the CallValidate API
|
4
4
|
CHECKS = %w(BankStandard BankEnhanced CardLive CardEnhanced IDEnhanced
|
5
5
|
NCOAAlert CallValidate3D TheAffordabilityReport DeliveryFraud
|
6
|
-
EmailValidate CreditScore Zodiac
|
7
|
-
|
6
|
+
EmailValidate CreditScore Zodiac IPCountry)
|
7
|
+
|
8
|
+
INDIVIDUAL_DETAILS = {
|
9
|
+
date_of_birth: "Dateofbirth",
|
10
|
+
title: "Title",
|
11
|
+
first_name: "Firstname",
|
12
|
+
last_name: "Surname",
|
13
|
+
middle_names: "Othernames",
|
14
|
+
phone: "Phonenumber",
|
15
|
+
email: "Emailaddress",
|
16
|
+
moved_recently?: "addresslessthan12months",
|
17
|
+
passport_line_1: "Passportline1",
|
18
|
+
passport_line_2: "Passportline2",
|
19
|
+
driving_license: "Drivinglicensenumber",
|
20
|
+
passport_expiry: "PassportExpiryDate",
|
21
|
+
ip: "IPAddress"
|
22
|
+
}
|
23
|
+
|
24
|
+
ADDRESS_DETAILS = {
|
25
|
+
abode_number: "Abodenumber",
|
26
|
+
building_number: "Buildingnumber",
|
27
|
+
building_name: "Buildingname",
|
28
|
+
address_line_1: "Address1",
|
29
|
+
address_line_2: "Address2",
|
30
|
+
address_line_3: "Address3",
|
31
|
+
town: "Town",
|
32
|
+
postcode: "Postcode",
|
33
|
+
previous_abode_number: "Previousabodenumber",
|
34
|
+
previous_building_number: "Previousbuildingnumber",
|
35
|
+
previous_building_name: "Previousbuildingname",
|
36
|
+
previous_address_line_1: "Previousaddress1",
|
37
|
+
previous_address_line_2: "Previousaddress2",
|
38
|
+
previous_address_line_3: "Previousaddress3",
|
39
|
+
previous_town: "Previoustown",
|
40
|
+
previous_postcode: "Previouspostcode",
|
41
|
+
delivery_abode_number: "Deliveryabodenumber",
|
42
|
+
delivery_building_number: "Deliverybuildingnumber",
|
43
|
+
delivery_building_name: "Deliverybuildingname",
|
44
|
+
delivery_address_line_1: "Deliveryaddress1",
|
45
|
+
delivery_address_line_2: "Deliveryaddress2",
|
46
|
+
delivery_address_line_3: "Deliveryaddress3",
|
47
|
+
delivery_town: "Deliverytown",
|
48
|
+
delivery_postcode: "Deliverypostcode"
|
49
|
+
}
|
8
50
|
end
|
9
51
|
end
|
data/lib/callcredit/request.rb
CHANGED
@@ -7,6 +7,7 @@ module Callcredit
|
|
7
7
|
|
8
8
|
# Perform a credit check
|
9
9
|
def perform(checks, check_data = {})
|
10
|
+
# check_data = Callcredit::Validator.clean_check_data(check_data)
|
10
11
|
response = @connection.get do |request|
|
11
12
|
request.path = @config[:api_endpoint]
|
12
13
|
request.body = build_request_xml(checks, check_data).to_s
|
@@ -24,11 +25,11 @@ module Callcredit
|
|
24
25
|
xml.sessions do
|
25
26
|
xml.session do
|
26
27
|
xml.data do
|
27
|
-
required_checks(xml, checks)
|
28
28
|
personal_data(xml, check_data[:personal_data])
|
29
29
|
card_data(xml, check_data[:card_data])
|
30
30
|
bank_data(xml, check_data[:bank_data])
|
31
31
|
income_data(xml, check_data[:income_data])
|
32
|
+
required_checks(xml, checks)
|
32
33
|
end
|
33
34
|
end
|
34
35
|
end
|
@@ -53,7 +54,7 @@ module Callcredit
|
|
53
54
|
def required_checks(xml, checks)
|
54
55
|
required_checks = [*checks].map { |c| Util.underscore(c).to_sym }
|
55
56
|
xml.ChecksRequired do
|
56
|
-
|
57
|
+
Constants::CHECKS.each do |check|
|
57
58
|
included = required_checks.include?(Util.underscore(check).to_sym)
|
58
59
|
xml.send(check, included ? "yes" : "no")
|
59
60
|
end
|
@@ -63,29 +64,20 @@ module Callcredit
|
|
63
64
|
def personal_data(xml, data)
|
64
65
|
unless data.is_a? Hash
|
65
66
|
raise InvalidRequestError.new(
|
66
|
-
"All checks require personal_data",
|
67
|
-
:personal_data)
|
68
|
-
end
|
69
|
-
|
70
|
-
if data[:date_of_birth].is_a? String
|
71
|
-
data[:date_of_birth] = Date.parse(data[:date_of_birth])
|
67
|
+
"All checks require personal_data", :personal_data)
|
72
68
|
end
|
73
69
|
|
74
|
-
xml.
|
75
|
-
xml.
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
xml.Surname data[:last_name]
|
81
|
-
xml.Phonenumber data[:phone]
|
82
|
-
xml.Drivinglicensenumber data[:driving_license]
|
70
|
+
xml.Personalinformation do
|
71
|
+
xml.IndividualDetails do
|
72
|
+
Constants::INDIVIDUAL_DETAILS.each do |param, element_name|
|
73
|
+
value = Validations.clean_param(param, data[param])
|
74
|
+
xml.send(element_name, value) if value
|
75
|
+
end
|
83
76
|
end
|
84
|
-
xml.
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
xml.Postcode data[:postcode]
|
77
|
+
xml.AddressDetails do
|
78
|
+
Constants::ADDRESS_DETAILS.each do |param, element_name|
|
79
|
+
xml.send(element_name, data[param]) if data[param]
|
80
|
+
end
|
89
81
|
end
|
90
82
|
end
|
91
83
|
end
|
data/lib/callcredit/response.rb
CHANGED
@@ -0,0 +1,61 @@
|
|
1
|
+
require 'unidecoder'
|
2
|
+
|
3
|
+
module Callcredit
|
4
|
+
module Validations
|
5
|
+
|
6
|
+
VALIDATIONS = {
|
7
|
+
date_of_birth: ->(value) { clean_date_of_birth(value) },
|
8
|
+
title: ->(value) { value || "Unknown" },
|
9
|
+
first_name: ->(value) { clean_first_name(value) },
|
10
|
+
last_name: ->(value) { clean_last_name(value) },
|
11
|
+
middle_names: ->(value) { clean_middle_names(value) },
|
12
|
+
postcode: ->(value) { clean_postcode(value) }
|
13
|
+
}
|
14
|
+
|
15
|
+
def self.clean_param(key, value)
|
16
|
+
validator = VALIDATIONS.fetch(key, ->(value){ value })
|
17
|
+
validator.call(value)
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.clean_date_of_birth(date_of_birth)
|
21
|
+
date_of_birth = Date.parse(date_of_birth) if date_of_birth.is_a? String
|
22
|
+
date_of_birth.strftime("%d/%m/%Y")
|
23
|
+
rescue
|
24
|
+
input_error(:date_of_birth, date_of_birth)
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.clean_first_name(name)
|
28
|
+
name = name && name.to_ascii
|
29
|
+
input_error(:first_name, name) unless name =~ /\A[a-z A-Z'-]{1,30}\z/
|
30
|
+
name
|
31
|
+
end
|
32
|
+
|
33
|
+
def self.clean_last_name(name)
|
34
|
+
name = name && name.to_ascii
|
35
|
+
input_error(:last_name, name) unless name =~ /\A[a-z A-Z'-]{1,30}\z/
|
36
|
+
name
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.clean_middle_names(name)
|
40
|
+
return unless name
|
41
|
+
name = name.to_ascii
|
42
|
+
input_error(:middle_names, name) unless name =~ /\A[a-z A-Z'-]{1,30}\z/
|
43
|
+
name
|
44
|
+
end
|
45
|
+
|
46
|
+
def self.clean_postcode(postcode)
|
47
|
+
postcode = postcode && postcode.upcase.strip
|
48
|
+
input_error(:postcode, postcode) unless postcode =~ /\A[A-Z 0-9]{5,8}\z/
|
49
|
+
postcode
|
50
|
+
end
|
51
|
+
|
52
|
+
def self.input_error(param, value=nil)
|
53
|
+
msg = if value.nil?
|
54
|
+
"#{param} is a required param"
|
55
|
+
else
|
56
|
+
%{Invalid value "#{value}" for #{param}}
|
57
|
+
end
|
58
|
+
raise InvalidRequestError.new(msg, param)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
data/lib/callcredit/version.rb
CHANGED
data/spec/client_spec.rb
CHANGED
@@ -36,11 +36,11 @@ describe Callcredit::Client do
|
|
36
36
|
end
|
37
37
|
|
38
38
|
describe "#perform_check" do
|
39
|
-
subject(:perform_check) { client.
|
39
|
+
subject(:perform_check) { client.perform_check(:check_type, check_data) }
|
40
40
|
|
41
41
|
it "delegates to an instance of Request" do
|
42
42
|
expect_any_instance_of(Callcredit::Request).to receive(:perform).once
|
43
|
-
|
43
|
+
perform_check
|
44
44
|
end
|
45
45
|
end
|
46
46
|
end
|
@@ -0,0 +1,819 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<!-- edited with XMLSpy v2013 rel. 2 sp2 (http://www.altova.com) by Jason Vo (Callcredit Ltd) -->
|
3
|
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified" attributeFormDefault="unqualified" version="1.0">
|
4
|
+
<xs:element name="callvalidate" type="sessionsType" abstract="false" nillable="false">
|
5
|
+
<xs:annotation>
|
6
|
+
<xs:documentation>API for Callcredit CallValidate Services</xs:documentation>
|
7
|
+
</xs:annotation>
|
8
|
+
</xs:element>
|
9
|
+
<xs:complexType name="Individual" abstract="false" mixed="false">
|
10
|
+
<xs:annotation>
|
11
|
+
<xs:documentation>Structure for the Individual Complex Type</xs:documentation>
|
12
|
+
</xs:annotation>
|
13
|
+
<xs:sequence>
|
14
|
+
<xs:element name="IndividualDetails" type="IndividualDetails" nillable="false" minOccurs="0">
|
15
|
+
<xs:annotation>
|
16
|
+
<xs:documentation>This structure is required to identify the individual for, Bank Enhanced, Credit Card Enhanced, Card Live and Individual identity checks</xs:documentation>
|
17
|
+
</xs:annotation>
|
18
|
+
</xs:element>
|
19
|
+
<xs:element name="AddressDetails" type="Address" nillable="false" minOccurs="0">
|
20
|
+
<xs:annotation>
|
21
|
+
<xs:documentation>This structure is required to identify the individual for, Bank Enhanced, Credit Card Enhanced, Card Live, Delivery Fraud and Individual identity checks.
|
22
|
+
|
23
|
+
For ID checks, one of Abodenumber, Buildingnumber or Buidlingname must be present.
|
24
|
+
|
25
|
+
For all checks including ID checks Address1 and Postcode must be present</xs:documentation>
|
26
|
+
</xs:annotation>
|
27
|
+
</xs:element>
|
28
|
+
</xs:sequence>
|
29
|
+
</xs:complexType>
|
30
|
+
<xs:complexType name="CardDetails" abstract="false" mixed="false">
|
31
|
+
<xs:annotation>
|
32
|
+
<xs:documentation>Structure for the Card Details Complex Type</xs:documentation>
|
33
|
+
</xs:annotation>
|
34
|
+
<xs:sequence>
|
35
|
+
<xs:element name="Cardnumber" nillable="false">
|
36
|
+
<xs:simpleType>
|
37
|
+
<xs:restriction base="xs:string">
|
38
|
+
<xs:pattern value="[0-9]{16,25}"/>
|
39
|
+
</xs:restriction>
|
40
|
+
</xs:simpleType>
|
41
|
+
</xs:element>
|
42
|
+
<xs:element name="Cardexpirydate" nillable="false" minOccurs="0">
|
43
|
+
<xs:annotation>
|
44
|
+
<xs:documentation>Formatted as mm/yy with leading zeros required for single digit months and years (eg. 01/09)</xs:documentation>
|
45
|
+
</xs:annotation>
|
46
|
+
<xs:simpleType>
|
47
|
+
<xs:restriction base="xs:string">
|
48
|
+
<xs:pattern value="[0-9]{2}/[0-9]{2}"/>
|
49
|
+
</xs:restriction>
|
50
|
+
</xs:simpleType>
|
51
|
+
</xs:element>
|
52
|
+
<xs:element name="Cardstartdate" nillable="false" minOccurs="0">
|
53
|
+
<xs:annotation>
|
54
|
+
<xs:documentation>Formatted as mm/yy with leading zeros required for single digit months and years (eg. 01/09)
|
55
|
+
|
56
|
+
|
57
|
+
|
58
|
+
May be required for debit card transactions</xs:documentation>
|
59
|
+
</xs:annotation>
|
60
|
+
<xs:simpleType>
|
61
|
+
<xs:restriction base="xs:string">
|
62
|
+
<xs:pattern value="[0-9]{2}/[0-9]{2}"/>
|
63
|
+
</xs:restriction>
|
64
|
+
</xs:simpleType>
|
65
|
+
</xs:element>
|
66
|
+
<xs:element name="CardCV2" nillable="false" minOccurs="0">
|
67
|
+
<xs:annotation>
|
68
|
+
<xs:documentation>The security code present upon the signature strip of a payment card</xs:documentation>
|
69
|
+
</xs:annotation>
|
70
|
+
<xs:simpleType>
|
71
|
+
<xs:restriction base="xs:string">
|
72
|
+
<xs:pattern value="[0-9]{3,4}"/>
|
73
|
+
</xs:restriction>
|
74
|
+
</xs:simpleType>
|
75
|
+
</xs:element>
|
76
|
+
<xs:element name="Cardissuenumber" nillable="false" minOccurs="0">
|
77
|
+
<xs:annotation>
|
78
|
+
<xs:documentation>May be required for debit card transactions</xs:documentation>
|
79
|
+
</xs:annotation>
|
80
|
+
<xs:simpleType>
|
81
|
+
<xs:restriction base="xs:int">
|
82
|
+
<xs:pattern value="[0-9]{1,2}"/>
|
83
|
+
</xs:restriction>
|
84
|
+
</xs:simpleType>
|
85
|
+
</xs:element>
|
86
|
+
<xs:element name="Amount" nillable="false" minOccurs="0">
|
87
|
+
<xs:annotation>
|
88
|
+
<xs:documentation>Optional amount used when attempting to pre-authorise an card account against a specific amount value.</xs:documentation>
|
89
|
+
</xs:annotation>
|
90
|
+
<xs:simpleType>
|
91
|
+
<xs:restriction base="xs:decimal"/>
|
92
|
+
</xs:simpleType>
|
93
|
+
</xs:element>
|
94
|
+
<xs:element name="TransactionReference" nillable="false" minOccurs="0">
|
95
|
+
<xs:annotation>
|
96
|
+
<xs:documentation>Client transaction reference</xs:documentation>
|
97
|
+
</xs:annotation>
|
98
|
+
<xs:simpleType>
|
99
|
+
<xs:restriction base="xs:string">
|
100
|
+
<xs:minLength value="1" fixed="false"/>
|
101
|
+
<xs:maxLength value="50" fixed="false"/>
|
102
|
+
</xs:restriction>
|
103
|
+
</xs:simpleType>
|
104
|
+
</xs:element>
|
105
|
+
<xs:element name="Method" minOccurs="0">
|
106
|
+
<xs:annotation>
|
107
|
+
<xs:documentation>Used for payment transactions to select task:-
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
"pre" - pre-auth payment
|
112
|
+
|
113
|
+
"auth" - take payment
|
114
|
+
|
115
|
+
"fulfill" - fulfill pre-auth
|
116
|
+
|
117
|
+
"txn_refund" -refund transaction</xs:documentation>
|
118
|
+
</xs:annotation>
|
119
|
+
<xs:simpleType>
|
120
|
+
<xs:restriction base="xs:string">
|
121
|
+
<xs:enumeration value="pre"/>
|
122
|
+
<xs:enumeration value="auth"/>
|
123
|
+
<xs:enumeration value="fulfill"/>
|
124
|
+
<xs:enumeration value="txn_refund"/>
|
125
|
+
</xs:restriction>
|
126
|
+
</xs:simpleType>
|
127
|
+
</xs:element>
|
128
|
+
<xs:element name="PaymentTransactionReference" minOccurs="0">
|
129
|
+
<xs:annotation>
|
130
|
+
<xs:documentation>Payment reference from a previous transaction that is to be either refunded, fulfilled or a repeat payment taken</xs:documentation>
|
131
|
+
</xs:annotation>
|
132
|
+
<xs:simpleType>
|
133
|
+
<xs:restriction base="xs:string">
|
134
|
+
<xs:minLength value="1"/>
|
135
|
+
<xs:maxLength value="50"/>
|
136
|
+
</xs:restriction>
|
137
|
+
</xs:simpleType>
|
138
|
+
</xs:element>
|
139
|
+
<xs:element name="Authcode" minOccurs="0">
|
140
|
+
<xs:annotation>
|
141
|
+
<xs:documentation>Authorisation code of a pre transaction that is to be fulfilled</xs:documentation>
|
142
|
+
</xs:annotation>
|
143
|
+
<xs:simpleType>
|
144
|
+
<xs:restriction base="xs:string">
|
145
|
+
<xs:minLength value="3"/>
|
146
|
+
<xs:maxLength value="20"/>
|
147
|
+
</xs:restriction>
|
148
|
+
</xs:simpleType>
|
149
|
+
</xs:element>
|
150
|
+
<xs:element name="RepeatTransaction" minOccurs="0">
|
151
|
+
<xs:annotation>
|
152
|
+
<xs:documentation>Identifies transaction as a repeat transaction using same card details of a previous payment</xs:documentation>
|
153
|
+
</xs:annotation>
|
154
|
+
<xs:simpleType>
|
155
|
+
<xs:restriction base="xs:string">
|
156
|
+
<xs:enumeration value="yes"/>
|
157
|
+
</xs:restriction>
|
158
|
+
</xs:simpleType>
|
159
|
+
</xs:element>
|
160
|
+
</xs:sequence>
|
161
|
+
</xs:complexType>
|
162
|
+
<xs:complexType name="BankDetails" abstract="false" mixed="false">
|
163
|
+
<xs:annotation>
|
164
|
+
<xs:documentation>Structure for the Bank Details Complex Type</xs:documentation>
|
165
|
+
</xs:annotation>
|
166
|
+
<xs:sequence>
|
167
|
+
<xs:element name="Bankaccountnumber" nillable="false">
|
168
|
+
<xs:simpleType>
|
169
|
+
<xs:restriction base="xs:string">
|
170
|
+
<xs:minLength value="7"/>
|
171
|
+
<xs:maxLength value="8"/>
|
172
|
+
</xs:restriction>
|
173
|
+
</xs:simpleType>
|
174
|
+
</xs:element>
|
175
|
+
<xs:element name="Banksortcode" nillable="false">
|
176
|
+
<xs:annotation>
|
177
|
+
<xs:documentation>Bank sortcode may be formatted as nn-nn-nn or nnnnnn</xs:documentation>
|
178
|
+
</xs:annotation>
|
179
|
+
<xs:simpleType>
|
180
|
+
<xs:restriction base="xs:string">
|
181
|
+
<xs:minLength value="6"/>
|
182
|
+
<xs:maxLength value="8"/>
|
183
|
+
</xs:restriction>
|
184
|
+
</xs:simpleType>
|
185
|
+
</xs:element>
|
186
|
+
</xs:sequence>
|
187
|
+
</xs:complexType>
|
188
|
+
<xs:complexType name="IncomeDetails" abstract="false" mixed="false">
|
189
|
+
<xs:annotation>
|
190
|
+
<xs:documentation>Structure for the Income Details Complex Type. This is only applicable if accessing The Affordability Report module.</xs:documentation>
|
191
|
+
</xs:annotation>
|
192
|
+
<xs:sequence>
|
193
|
+
<xs:element name="netmonthlyincome" type="xs:int" minOccurs="0" maxOccurs="1">
|
194
|
+
<xs:annotation>
|
195
|
+
<xs:documentation>The net monthly income of the individual to be searched in this field. This value should be entered in pounds</xs:documentation>
|
196
|
+
</xs:annotation>
|
197
|
+
</xs:element>
|
198
|
+
<xs:element name="annualgrossincome" type="xs:int" minOccurs="0" maxOccurs="1">
|
199
|
+
<xs:annotation>
|
200
|
+
<xs:documentation>The gross annual income of the individual to be searched in this field. This value should be entered in pounds</xs:documentation>
|
201
|
+
</xs:annotation>
|
202
|
+
</xs:element>
|
203
|
+
</xs:sequence>
|
204
|
+
</xs:complexType>
|
205
|
+
<xs:complexType name="Authentication" abstract="false" mixed="false">
|
206
|
+
<xs:annotation>
|
207
|
+
<xs:documentation>Structure for the Authentication Complex Type</xs:documentation>
|
208
|
+
</xs:annotation>
|
209
|
+
<xs:sequence>
|
210
|
+
<xs:element name="company" minOccurs="0">
|
211
|
+
<xs:annotation>
|
212
|
+
<xs:documentation>Company name provided by Callcredit administrators.</xs:documentation>
|
213
|
+
</xs:annotation>
|
214
|
+
<xs:simpleType>
|
215
|
+
<xs:restriction base="xs:string">
|
216
|
+
<xs:minLength value="5"/>
|
217
|
+
<xs:maxLength value="30"/>
|
218
|
+
</xs:restriction>
|
219
|
+
</xs:simpleType>
|
220
|
+
</xs:element>
|
221
|
+
<xs:element name="username" nillable="false">
|
222
|
+
<xs:annotation>
|
223
|
+
<xs:documentation>Username provided by Callcredit administrators.</xs:documentation>
|
224
|
+
</xs:annotation>
|
225
|
+
<xs:simpleType>
|
226
|
+
<xs:restriction base="xs:string">
|
227
|
+
<xs:minLength value="5" fixed="false"/>
|
228
|
+
<xs:maxLength value="50" fixed="false"/>
|
229
|
+
</xs:restriction>
|
230
|
+
</xs:simpleType>
|
231
|
+
</xs:element>
|
232
|
+
<xs:element name="password" nillable="false">
|
233
|
+
<xs:annotation>
|
234
|
+
<xs:documentation>Password provided by Callcredit administrators.</xs:documentation>
|
235
|
+
</xs:annotation>
|
236
|
+
<xs:simpleType>
|
237
|
+
<xs:restriction base="xs:string">
|
238
|
+
<xs:minLength value="5" fixed="false"/>
|
239
|
+
<xs:maxLength value="30" fixed="false"/>
|
240
|
+
</xs:restriction>
|
241
|
+
</xs:simpleType>
|
242
|
+
</xs:element>
|
243
|
+
</xs:sequence>
|
244
|
+
</xs:complexType>
|
245
|
+
<xs:complexType name="IndividualDetails" abstract="false" mixed="false">
|
246
|
+
<xs:annotation>
|
247
|
+
<xs:documentation>Structure for the IndividualDetails Complex Type</xs:documentation>
|
248
|
+
</xs:annotation>
|
249
|
+
<xs:sequence>
|
250
|
+
<xs:element name="Dateofbirth" nillable="false" minOccurs="0">
|
251
|
+
<xs:annotation>
|
252
|
+
<xs:documentation>May be formatted as one of:
|
253
|
+
|
254
|
+
|
255
|
+
|
256
|
+
yyyy-mm-dd
|
257
|
+
|
258
|
+
dd-mm-yyyy
|
259
|
+
|
260
|
+
dd/mm/yyyy</xs:documentation>
|
261
|
+
</xs:annotation>
|
262
|
+
<xs:simpleType>
|
263
|
+
<xs:restriction base="xs:string">
|
264
|
+
<xs:minLength value="10"/>
|
265
|
+
<xs:maxLength value="10"/>
|
266
|
+
</xs:restriction>
|
267
|
+
</xs:simpleType>
|
268
|
+
</xs:element>
|
269
|
+
<xs:element name="Title" nillable="false">
|
270
|
+
<xs:annotation>
|
271
|
+
<xs:documentation>Title of individual, mandatory for all API submissions</xs:documentation>
|
272
|
+
</xs:annotation>
|
273
|
+
<xs:simpleType>
|
274
|
+
<xs:restriction base="xs:string">
|
275
|
+
<xs:minLength value="2" fixed="false"/>
|
276
|
+
<xs:maxLength value="30" fixed="false"/>
|
277
|
+
</xs:restriction>
|
278
|
+
</xs:simpleType>
|
279
|
+
</xs:element>
|
280
|
+
<xs:element name="Firstname" nillable="false">
|
281
|
+
<xs:annotation>
|
282
|
+
<xs:documentation>Firstname of individual</xs:documentation>
|
283
|
+
</xs:annotation>
|
284
|
+
<xs:simpleType>
|
285
|
+
<xs:restriction base="xs:string">
|
286
|
+
<xs:minLength value="1" fixed="false"/>
|
287
|
+
<xs:maxLength value="30" fixed="false"/>
|
288
|
+
</xs:restriction>
|
289
|
+
</xs:simpleType>
|
290
|
+
</xs:element>
|
291
|
+
<xs:element name="Othernames" nillable="false" minOccurs="0">
|
292
|
+
<xs:annotation>
|
293
|
+
<xs:documentation>Other (middle) names of individual, may be a single initial</xs:documentation>
|
294
|
+
</xs:annotation>
|
295
|
+
<xs:simpleType>
|
296
|
+
<xs:restriction base="xs:string">
|
297
|
+
<xs:minLength value="1" fixed="false"/>
|
298
|
+
<xs:maxLength value="30" fixed="false"/>
|
299
|
+
</xs:restriction>
|
300
|
+
</xs:simpleType>
|
301
|
+
</xs:element>
|
302
|
+
<xs:element name="Surname" nillable="false">
|
303
|
+
<xs:annotation>
|
304
|
+
<xs:documentation>Surname of individual, mandatory for API users</xs:documentation>
|
305
|
+
</xs:annotation>
|
306
|
+
<xs:simpleType>
|
307
|
+
<xs:restriction base="xs:string">
|
308
|
+
<xs:minLength value="1" fixed="false"/>
|
309
|
+
<xs:maxLength value="30" fixed="false"/>
|
310
|
+
</xs:restriction>
|
311
|
+
</xs:simpleType>
|
312
|
+
</xs:element>
|
313
|
+
<xs:element name="Phonenumber" type="xs:string" minOccurs="0"/>
|
314
|
+
<xs:element name="Emailaddress" minOccurs="0">
|
315
|
+
<xs:simpleType>
|
316
|
+
<xs:restriction base="xs:string">
|
317
|
+
<xs:minLength value="5"/>
|
318
|
+
<xs:maxLength value="255"/>
|
319
|
+
</xs:restriction>
|
320
|
+
</xs:simpleType>
|
321
|
+
</xs:element>
|
322
|
+
<xs:element name="addrlessthan12months" type="xs:boolean" minOccurs="0"/>
|
323
|
+
<xs:element name="Passportline1" minOccurs="0">
|
324
|
+
<xs:annotation>
|
325
|
+
<xs:documentation>First machine readable line of passport.
|
326
|
+
|
327
|
+
NOTE: Must be escaped in line with XML convention </xs:documentation>
|
328
|
+
</xs:annotation>
|
329
|
+
<xs:simpleType>
|
330
|
+
<xs:restriction base="xs:string">
|
331
|
+
<xs:maxLength value="50"/>
|
332
|
+
</xs:restriction>
|
333
|
+
</xs:simpleType>
|
334
|
+
</xs:element>
|
335
|
+
<xs:element name="Passportline2" minOccurs="0">
|
336
|
+
<xs:annotation>
|
337
|
+
<xs:documentation>Second machine readable line of passport
|
338
|
+
|
339
|
+
NOTE: Must be escaped in line with XML convention </xs:documentation>
|
340
|
+
</xs:annotation>
|
341
|
+
<xs:simpleType>
|
342
|
+
<xs:restriction base="xs:string">
|
343
|
+
<xs:maxLength value="50"/>
|
344
|
+
</xs:restriction>
|
345
|
+
</xs:simpleType>
|
346
|
+
</xs:element>
|
347
|
+
<xs:element name="Drivinglicensenumber" minOccurs="0">
|
348
|
+
<xs:annotation>
|
349
|
+
<xs:documentation>Driving license number</xs:documentation>
|
350
|
+
</xs:annotation>
|
351
|
+
<xs:simpleType>
|
352
|
+
<xs:restriction base="xs:string">
|
353
|
+
<xs:maxLength value="50"/>
|
354
|
+
</xs:restriction>
|
355
|
+
</xs:simpleType>
|
356
|
+
</xs:element>
|
357
|
+
<xs:element name="PassportExpiryDate" minOccurs="0">
|
358
|
+
<xs:annotation>
|
359
|
+
<xs:documentation>Expiry date of passport</xs:documentation>
|
360
|
+
</xs:annotation>
|
361
|
+
<xs:simpleType>
|
362
|
+
<xs:restriction base="xs:string">
|
363
|
+
<xs:maxLength value="50"/>
|
364
|
+
</xs:restriction>
|
365
|
+
</xs:simpleType>
|
366
|
+
</xs:element>
|
367
|
+
<xs:element name="IPAddress" minOccurs="0">
|
368
|
+
<xs:annotation>
|
369
|
+
<xs:documentation>IP Address used by individual in transaction</xs:documentation>
|
370
|
+
</xs:annotation>
|
371
|
+
<xs:simpleType>
|
372
|
+
<xs:restriction base="xs:string">
|
373
|
+
<xs:pattern value="[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"/>
|
374
|
+
</xs:restriction>
|
375
|
+
</xs:simpleType>
|
376
|
+
</xs:element>
|
377
|
+
</xs:sequence>
|
378
|
+
</xs:complexType>
|
379
|
+
<xs:complexType name="Address" abstract="false" mixed="false">
|
380
|
+
<xs:annotation>
|
381
|
+
<xs:documentation>Structure for Address Complex Type</xs:documentation>
|
382
|
+
</xs:annotation>
|
383
|
+
<xs:sequence>
|
384
|
+
<xs:element name="Abodenumber" minOccurs="0">
|
385
|
+
<xs:annotation>
|
386
|
+
<xs:documentation>Number that identifies the specific abode where there may be more than one abode within a building. For example a flat number.</xs:documentation>
|
387
|
+
</xs:annotation>
|
388
|
+
<xs:simpleType>
|
389
|
+
<xs:restriction base="xs:string">
|
390
|
+
<xs:minLength value="0"/>
|
391
|
+
<xs:maxLength value="30"/>
|
392
|
+
</xs:restriction>
|
393
|
+
</xs:simpleType>
|
394
|
+
</xs:element>
|
395
|
+
<xs:element name="Buildingnumber" nillable="false" minOccurs="0">
|
396
|
+
<xs:annotation>
|
397
|
+
<xs:documentation>Number that identifies the building within a street or locality.</xs:documentation>
|
398
|
+
</xs:annotation>
|
399
|
+
<xs:simpleType>
|
400
|
+
<xs:restriction base="xs:string">
|
401
|
+
<xs:minLength value="0" fixed="false"/>
|
402
|
+
<xs:maxLength value="12" fixed="false"/>
|
403
|
+
</xs:restriction>
|
404
|
+
</xs:simpleType>
|
405
|
+
</xs:element>
|
406
|
+
<xs:element name="Buildingname" nillable="false" minOccurs="0">
|
407
|
+
<xs:annotation>
|
408
|
+
<xs:documentation>Name that identifies the building within a street or locality.</xs:documentation>
|
409
|
+
</xs:annotation>
|
410
|
+
<xs:simpleType>
|
411
|
+
<xs:restriction base="xs:string">
|
412
|
+
<xs:minLength value="0" fixed="false"/>
|
413
|
+
<xs:maxLength value="50" fixed="false"/>
|
414
|
+
</xs:restriction>
|
415
|
+
</xs:simpleType>
|
416
|
+
</xs:element>
|
417
|
+
<xs:element name="Address1" nillable="false" minOccurs="0">
|
418
|
+
<xs:simpleType>
|
419
|
+
<xs:restriction base="xs:string">
|
420
|
+
<xs:minLength value="1" fixed="false"/>
|
421
|
+
<xs:maxLength value="50" fixed="false"/>
|
422
|
+
</xs:restriction>
|
423
|
+
</xs:simpleType>
|
424
|
+
</xs:element>
|
425
|
+
<xs:element name="Address2" nillable="false" minOccurs="0">
|
426
|
+
<xs:simpleType>
|
427
|
+
<xs:restriction base="xs:string">
|
428
|
+
<xs:minLength value="1" fixed="false"/>
|
429
|
+
<xs:maxLength value="50" fixed="false"/>
|
430
|
+
</xs:restriction>
|
431
|
+
</xs:simpleType>
|
432
|
+
</xs:element>
|
433
|
+
<xs:element name="Address3" nillable="false" minOccurs="0">
|
434
|
+
<xs:simpleType>
|
435
|
+
<xs:restriction base="xs:string">
|
436
|
+
<xs:minLength value="1" fixed="false"/>
|
437
|
+
<xs:maxLength value="50" fixed="false"/>
|
438
|
+
</xs:restriction>
|
439
|
+
</xs:simpleType>
|
440
|
+
</xs:element>
|
441
|
+
<xs:element name="Town" nillable="false" minOccurs="0">
|
442
|
+
<xs:simpleType>
|
443
|
+
<xs:restriction base="xs:string">
|
444
|
+
<xs:minLength value="1" fixed="false"/>
|
445
|
+
<xs:maxLength value="25" fixed="false"/>
|
446
|
+
</xs:restriction>
|
447
|
+
</xs:simpleType>
|
448
|
+
</xs:element>
|
449
|
+
<xs:element name="Postcode" nillable="false" minOccurs="0">
|
450
|
+
<xs:annotation>
|
451
|
+
<xs:documentation>UK Postcode </xs:documentation>
|
452
|
+
</xs:annotation>
|
453
|
+
<xs:simpleType>
|
454
|
+
<xs:restriction base="xs:string">
|
455
|
+
<xs:minLength value="6" fixed="false"/>
|
456
|
+
<xs:maxLength value="8" fixed="false"/>
|
457
|
+
</xs:restriction>
|
458
|
+
</xs:simpleType>
|
459
|
+
</xs:element>
|
460
|
+
<xs:element name="Previousabodenumber" minOccurs="0">
|
461
|
+
<xs:annotation>
|
462
|
+
<xs:documentation>Previous address details of individual</xs:documentation>
|
463
|
+
</xs:annotation>
|
464
|
+
<xs:simpleType>
|
465
|
+
<xs:restriction base="xs:string">
|
466
|
+
<xs:minLength value="0"/>
|
467
|
+
<xs:maxLength value="30"/>
|
468
|
+
</xs:restriction>
|
469
|
+
</xs:simpleType>
|
470
|
+
</xs:element>
|
471
|
+
<xs:element name="Previousbuildingnumber" nillable="false" minOccurs="0">
|
472
|
+
<xs:simpleType>
|
473
|
+
<xs:restriction base="xs:string">
|
474
|
+
<xs:minLength value="1" fixed="false"/>
|
475
|
+
<xs:maxLength value="12" fixed="false"/>
|
476
|
+
</xs:restriction>
|
477
|
+
</xs:simpleType>
|
478
|
+
</xs:element>
|
479
|
+
<xs:element name="Previousbuildingname" nillable="false" minOccurs="0">
|
480
|
+
<xs:simpleType>
|
481
|
+
<xs:restriction base="xs:string">
|
482
|
+
<xs:minLength value="1" fixed="false"/>
|
483
|
+
<xs:maxLength value="50" fixed="false"/>
|
484
|
+
</xs:restriction>
|
485
|
+
</xs:simpleType>
|
486
|
+
</xs:element>
|
487
|
+
<xs:element name="Previousaddress1" nillable="false" minOccurs="0">
|
488
|
+
<xs:simpleType>
|
489
|
+
<xs:restriction base="xs:string">
|
490
|
+
<xs:minLength value="1" fixed="false"/>
|
491
|
+
<xs:maxLength value="50" fixed="false"/>
|
492
|
+
</xs:restriction>
|
493
|
+
</xs:simpleType>
|
494
|
+
</xs:element>
|
495
|
+
<xs:element name="Previousaddress2" nillable="false" minOccurs="0">
|
496
|
+
<xs:simpleType>
|
497
|
+
<xs:restriction base="xs:string">
|
498
|
+
<xs:minLength value="1" fixed="false"/>
|
499
|
+
<xs:maxLength value="50" fixed="false"/>
|
500
|
+
</xs:restriction>
|
501
|
+
</xs:simpleType>
|
502
|
+
</xs:element>
|
503
|
+
<xs:element name="Previousaddress3" nillable="false" minOccurs="0">
|
504
|
+
<xs:simpleType>
|
505
|
+
<xs:restriction base="xs:string">
|
506
|
+
<xs:minLength value="1" fixed="false"/>
|
507
|
+
<xs:maxLength value="50" fixed="false"/>
|
508
|
+
</xs:restriction>
|
509
|
+
</xs:simpleType>
|
510
|
+
</xs:element>
|
511
|
+
<xs:element name="Previoustown" nillable="false" minOccurs="0">
|
512
|
+
<xs:simpleType>
|
513
|
+
<xs:restriction base="xs:string">
|
514
|
+
<xs:minLength value="1" fixed="false"/>
|
515
|
+
<xs:maxLength value="25" fixed="false"/>
|
516
|
+
</xs:restriction>
|
517
|
+
</xs:simpleType>
|
518
|
+
</xs:element>
|
519
|
+
<xs:element name="Previouspostcode" nillable="false" minOccurs="0">
|
520
|
+
<xs:annotation>
|
521
|
+
<xs:documentation>Currently only UK postcodes are accepted</xs:documentation>
|
522
|
+
</xs:annotation>
|
523
|
+
<xs:simpleType>
|
524
|
+
<xs:restriction base="xs:string">
|
525
|
+
<xs:minLength value="6" fixed="false"/>
|
526
|
+
<xs:maxLength value="8" fixed="false"/>
|
527
|
+
</xs:restriction>
|
528
|
+
</xs:simpleType>
|
529
|
+
</xs:element>
|
530
|
+
<xs:element name="Deliveryabodenumber" minOccurs="0">
|
531
|
+
<xs:annotation>
|
532
|
+
<xs:documentation>Delivery address for goods</xs:documentation>
|
533
|
+
</xs:annotation>
|
534
|
+
<xs:simpleType>
|
535
|
+
<xs:restriction base="xs:string">
|
536
|
+
<xs:minLength value="0"/>
|
537
|
+
<xs:maxLength value="30"/>
|
538
|
+
</xs:restriction>
|
539
|
+
</xs:simpleType>
|
540
|
+
</xs:element>
|
541
|
+
<xs:element name="Deliverybuildingnumber" nillable="false" minOccurs="0">
|
542
|
+
<xs:simpleType>
|
543
|
+
<xs:restriction base="xs:string">
|
544
|
+
<xs:minLength value="1" fixed="false"/>
|
545
|
+
<xs:maxLength value="12" fixed="false"/>
|
546
|
+
</xs:restriction>
|
547
|
+
</xs:simpleType>
|
548
|
+
</xs:element>
|
549
|
+
<xs:element name="Deliverybuildingname" nillable="false" minOccurs="0">
|
550
|
+
<xs:simpleType>
|
551
|
+
<xs:restriction base="xs:string">
|
552
|
+
<xs:minLength value="1" fixed="false"/>
|
553
|
+
<xs:maxLength value="50" fixed="false"/>
|
554
|
+
</xs:restriction>
|
555
|
+
</xs:simpleType>
|
556
|
+
</xs:element>
|
557
|
+
<xs:element name="Deliveryaddress1" nillable="false" minOccurs="0">
|
558
|
+
<xs:simpleType>
|
559
|
+
<xs:restriction base="xs:string">
|
560
|
+
<xs:minLength value="1" fixed="false"/>
|
561
|
+
<xs:maxLength value="50" fixed="false"/>
|
562
|
+
</xs:restriction>
|
563
|
+
</xs:simpleType>
|
564
|
+
</xs:element>
|
565
|
+
<xs:element name="Deliveryaddress2" nillable="false" minOccurs="0">
|
566
|
+
<xs:simpleType>
|
567
|
+
<xs:restriction base="xs:string">
|
568
|
+
<xs:minLength value="1" fixed="false"/>
|
569
|
+
<xs:maxLength value="50" fixed="false"/>
|
570
|
+
</xs:restriction>
|
571
|
+
</xs:simpleType>
|
572
|
+
</xs:element>
|
573
|
+
<xs:element name="Deliveryaddress3" nillable="false" minOccurs="0">
|
574
|
+
<xs:simpleType>
|
575
|
+
<xs:restriction base="xs:string">
|
576
|
+
<xs:minLength value="1" fixed="false"/>
|
577
|
+
<xs:maxLength value="50" fixed="false"/>
|
578
|
+
</xs:restriction>
|
579
|
+
</xs:simpleType>
|
580
|
+
</xs:element>
|
581
|
+
<xs:element name="Deliverytown" nillable="false" minOccurs="0">
|
582
|
+
<xs:simpleType>
|
583
|
+
<xs:restriction base="xs:string">
|
584
|
+
<xs:minLength value="1" fixed="false"/>
|
585
|
+
<xs:maxLength value="25" fixed="false"/>
|
586
|
+
</xs:restriction>
|
587
|
+
</xs:simpleType>
|
588
|
+
</xs:element>
|
589
|
+
<xs:element name="Deliverypostcode" nillable="false" minOccurs="0">
|
590
|
+
<xs:annotation>
|
591
|
+
<xs:documentation>Currently only UK postcodes are accepted</xs:documentation>
|
592
|
+
</xs:annotation>
|
593
|
+
<xs:simpleType>
|
594
|
+
<xs:restriction base="xs:string">
|
595
|
+
<xs:minLength value="6" fixed="false"/>
|
596
|
+
<xs:maxLength value="8" fixed="false"/>
|
597
|
+
</xs:restriction>
|
598
|
+
</xs:simpleType>
|
599
|
+
</xs:element>
|
600
|
+
</xs:sequence>
|
601
|
+
</xs:complexType>
|
602
|
+
<xs:complexType name="sessionsType" abstract="false" mixed="false">
|
603
|
+
<xs:sequence>
|
604
|
+
<xs:element name="authentication" type="Authentication" nillable="false"/>
|
605
|
+
<xs:element name="sessions">
|
606
|
+
<xs:complexType>
|
607
|
+
<xs:sequence>
|
608
|
+
<xs:element name="session" nillable="false">
|
609
|
+
<xs:complexType mixed="false">
|
610
|
+
<xs:sequence>
|
611
|
+
<xs:element name="data" nillable="false">
|
612
|
+
<xs:complexType mixed="false">
|
613
|
+
<xs:sequence>
|
614
|
+
<xs:element name="Personalinformation" type="Individual" nillable="false" minOccurs="0">
|
615
|
+
<xs:annotation>
|
616
|
+
<xs:documentation>This structure is required for all checks that pertain to an individual </xs:documentation>
|
617
|
+
</xs:annotation>
|
618
|
+
</xs:element>
|
619
|
+
<xs:element name="Cardinformation" type="CardDetails" nillable="false" minOccurs="0">
|
620
|
+
<xs:annotation>
|
621
|
+
<xs:documentation>This information is required for Card Enhanced and Card Live checks</xs:documentation>
|
622
|
+
</xs:annotation>
|
623
|
+
</xs:element>
|
624
|
+
<xs:element name="Bankinformation" type="BankDetails" nillable="false" minOccurs="0">
|
625
|
+
<xs:annotation>
|
626
|
+
<xs:documentation>This information is required for Bank standard and Bank Enhanced checks</xs:documentation>
|
627
|
+
</xs:annotation>
|
628
|
+
</xs:element>
|
629
|
+
<xs:element name="IncomeDetails" type="IncomeDetails" nillable="false" minOccurs="0">
|
630
|
+
<xs:annotation>
|
631
|
+
<xs:documentation>This structure is required to identify the annual gross or monthly net income for an individual. . This is only applicable if accessing The Affordability Report module.</xs:documentation>
|
632
|
+
</xs:annotation>
|
633
|
+
</xs:element>
|
634
|
+
<xs:element name="ChecksRequired" type="ChecksRequired" minOccurs="0">
|
635
|
+
<xs:annotation>
|
636
|
+
<xs:documentation>This structure details which checks are to be carried out. If it is not provided, checks will be carried out based upon the data provided and the checks set up upon the account.</xs:documentation>
|
637
|
+
</xs:annotation>
|
638
|
+
</xs:element>
|
639
|
+
</xs:sequence>
|
640
|
+
</xs:complexType>
|
641
|
+
</xs:element>
|
642
|
+
</xs:sequence>
|
643
|
+
<xs:attribute name="RID" use="optional">
|
644
|
+
<xs:annotation>
|
645
|
+
<xs:documentation>The RID attribute is the user supplied reference for each transaction submitted. This will be returned within the XML Response message</xs:documentation>
|
646
|
+
</xs:annotation>
|
647
|
+
<xs:simpleType>
|
648
|
+
<xs:restriction base="xs:string">
|
649
|
+
<xs:minLength value="0"/>
|
650
|
+
<xs:maxLength value="50"/>
|
651
|
+
</xs:restriction>
|
652
|
+
</xs:simpleType>
|
653
|
+
</xs:attribute>
|
654
|
+
</xs:complexType>
|
655
|
+
</xs:element>
|
656
|
+
</xs:sequence>
|
657
|
+
</xs:complexType>
|
658
|
+
</xs:element>
|
659
|
+
<xs:element name="application">
|
660
|
+
<xs:annotation>
|
661
|
+
<xs:documentation>Used to select the API ruleset to be run. The values will be provided by a CallCredit administrator</xs:documentation>
|
662
|
+
</xs:annotation>
|
663
|
+
<xs:simpleType>
|
664
|
+
<xs:restriction base="xs:string">
|
665
|
+
<xs:minLength value="3"/>
|
666
|
+
<xs:maxLength value="30"/>
|
667
|
+
</xs:restriction>
|
668
|
+
</xs:simpleType>
|
669
|
+
</xs:element>
|
670
|
+
</xs:sequence>
|
671
|
+
</xs:complexType>
|
672
|
+
<xs:complexType name="ChecksRequired">
|
673
|
+
<xs:sequence>
|
674
|
+
<xs:element name="BankStandard">
|
675
|
+
<xs:annotation>
|
676
|
+
<xs:documentation>yes - Bank Standard check carried out</xs:documentation>
|
677
|
+
</xs:annotation>
|
678
|
+
<xs:simpleType>
|
679
|
+
<xs:restriction base="xs:string">
|
680
|
+
<xs:enumeration value="yes"/>
|
681
|
+
<xs:enumeration value="no"/>
|
682
|
+
</xs:restriction>
|
683
|
+
</xs:simpleType>
|
684
|
+
</xs:element>
|
685
|
+
<xs:element name="BankEnhanced">
|
686
|
+
<xs:annotation>
|
687
|
+
<xs:documentation>yes - Bank Enhanced check carried out</xs:documentation>
|
688
|
+
</xs:annotation>
|
689
|
+
<xs:simpleType>
|
690
|
+
<xs:restriction base="xs:string">
|
691
|
+
<xs:enumeration value="yes"/>
|
692
|
+
<xs:enumeration value="no"/>
|
693
|
+
</xs:restriction>
|
694
|
+
</xs:simpleType>
|
695
|
+
</xs:element>
|
696
|
+
<xs:element name="CardLive">
|
697
|
+
<xs:annotation>
|
698
|
+
<xs:documentation>yes - Card Live check carried out</xs:documentation>
|
699
|
+
</xs:annotation>
|
700
|
+
<xs:simpleType>
|
701
|
+
<xs:restriction base="xs:string">
|
702
|
+
<xs:enumeration value="yes"/>
|
703
|
+
<xs:enumeration value="no"/>
|
704
|
+
</xs:restriction>
|
705
|
+
</xs:simpleType>
|
706
|
+
</xs:element>
|
707
|
+
<xs:element name="CardEnhanced">
|
708
|
+
<xs:annotation>
|
709
|
+
<xs:documentation>yes - Card Enhanced check carried out</xs:documentation>
|
710
|
+
</xs:annotation>
|
711
|
+
<xs:simpleType>
|
712
|
+
<xs:restriction base="xs:string">
|
713
|
+
<xs:enumeration value="yes"/>
|
714
|
+
<xs:enumeration value="no"/>
|
715
|
+
</xs:restriction>
|
716
|
+
</xs:simpleType>
|
717
|
+
</xs:element>
|
718
|
+
<xs:element name="IDEnhanced">
|
719
|
+
<xs:annotation>
|
720
|
+
<xs:documentation>yes - ID Enhanced check carried out</xs:documentation>
|
721
|
+
</xs:annotation>
|
722
|
+
<xs:simpleType>
|
723
|
+
<xs:restriction base="xs:string">
|
724
|
+
<xs:enumeration value="yes"/>
|
725
|
+
<xs:enumeration value="no"/>
|
726
|
+
</xs:restriction>
|
727
|
+
</xs:simpleType>
|
728
|
+
</xs:element>
|
729
|
+
<xs:element name="NCOAAlert">
|
730
|
+
<xs:annotation>
|
731
|
+
<xs:documentation>yes - NCOA Alert check carried out</xs:documentation>
|
732
|
+
</xs:annotation>
|
733
|
+
<xs:simpleType>
|
734
|
+
<xs:restriction base="xs:string">
|
735
|
+
<xs:enumeration value="yes"/>
|
736
|
+
<xs:enumeration value="no"/>
|
737
|
+
</xs:restriction>
|
738
|
+
</xs:simpleType>
|
739
|
+
</xs:element>
|
740
|
+
<xs:element name="CallValidate3D">
|
741
|
+
<xs:annotation>
|
742
|
+
<xs:documentation>yes - CallValidate 3D check carried out</xs:documentation>
|
743
|
+
</xs:annotation>
|
744
|
+
<xs:simpleType>
|
745
|
+
<xs:restriction base="xs:string">
|
746
|
+
<xs:enumeration value="yes"/>
|
747
|
+
<xs:enumeration value="no"/>
|
748
|
+
</xs:restriction>
|
749
|
+
</xs:simpleType>
|
750
|
+
</xs:element>
|
751
|
+
<xs:element name="TheAffordabilityReport">
|
752
|
+
<xs:annotation>
|
753
|
+
<xs:documentation>yes - The Affordability Report (TACv2.2) check carried out</xs:documentation>
|
754
|
+
</xs:annotation>
|
755
|
+
<xs:simpleType>
|
756
|
+
<xs:restriction base="xs:string">
|
757
|
+
<xs:enumeration value="yes"/>
|
758
|
+
<xs:enumeration value="no"/>
|
759
|
+
</xs:restriction>
|
760
|
+
</xs:simpleType>
|
761
|
+
</xs:element>
|
762
|
+
<xs:element name="DeliveryFraud">
|
763
|
+
<xs:annotation>
|
764
|
+
<xs:documentation>yes - Delivery Fraud check carried out</xs:documentation>
|
765
|
+
</xs:annotation>
|
766
|
+
<xs:simpleType>
|
767
|
+
<xs:restriction base="xs:string">
|
768
|
+
<xs:enumeration value="yes"/>
|
769
|
+
<xs:enumeration value="no"/>
|
770
|
+
</xs:restriction>
|
771
|
+
</xs:simpleType>
|
772
|
+
</xs:element>
|
773
|
+
<xs:element name="EmailValidate">
|
774
|
+
<xs:annotation>
|
775
|
+
<xs:documentation>yes - Email Validate check carried out</xs:documentation>
|
776
|
+
</xs:annotation>
|
777
|
+
<xs:simpleType>
|
778
|
+
<xs:restriction base="xs:string">
|
779
|
+
<xs:enumeration value="yes"/>
|
780
|
+
<xs:enumeration value="no"/>
|
781
|
+
</xs:restriction>
|
782
|
+
</xs:simpleType>
|
783
|
+
</xs:element>
|
784
|
+
<xs:element name="CreditScore">
|
785
|
+
<xs:annotation>
|
786
|
+
<xs:documentation>yes - Credit Score provided</xs:documentation>
|
787
|
+
</xs:annotation>
|
788
|
+
<xs:simpleType>
|
789
|
+
<xs:restriction base="xs:string">
|
790
|
+
<xs:enumeration value="yes"/>
|
791
|
+
<xs:enumeration value="no"/>
|
792
|
+
</xs:restriction>
|
793
|
+
</xs:simpleType>
|
794
|
+
</xs:element>
|
795
|
+
<xs:element name="Zodiac">
|
796
|
+
<xs:annotation>
|
797
|
+
<xs:documentation>yes - sign of Zodiac returned for date of birth provided</xs:documentation>
|
798
|
+
</xs:annotation>
|
799
|
+
<xs:simpleType>
|
800
|
+
<xs:restriction base="xs:string">
|
801
|
+
<xs:enumeration value="yes"/>
|
802
|
+
<xs:enumeration value="no"/>
|
803
|
+
</xs:restriction>
|
804
|
+
</xs:simpleType>
|
805
|
+
</xs:element>
|
806
|
+
<xs:element name="IPCountry">
|
807
|
+
<xs:annotation>
|
808
|
+
<xs:documentation>yes - value added IP address checks carried out</xs:documentation>
|
809
|
+
</xs:annotation>
|
810
|
+
<xs:simpleType>
|
811
|
+
<xs:restriction base="xs:string">
|
812
|
+
<xs:enumeration value="yes"/>
|
813
|
+
<xs:enumeration value="no"/>
|
814
|
+
</xs:restriction>
|
815
|
+
</xs:simpleType>
|
816
|
+
</xs:element>
|
817
|
+
</xs:sequence>
|
818
|
+
</xs:complexType>
|
819
|
+
</xs:schema>
|