LitleOnline 10.1.1 → 11.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG +13 -6
- data/DESCRIPTION +2 -2
- data/LICENSE +1 -1
- data/README.md +8 -8
- data/Rakefile +6 -7
- data/SETUP.md +4 -4
- data/bin/Setup.rb +4 -4
- data/bin/sample_batch_driver.rb +1 -1
- data/bin/sample_driver.rb +1 -1
- data/lib/Communications.rb +5 -5
- data/lib/Configuration.rb +1 -1
- data/lib/LitleBatchRequest.rb +39 -1
- data/lib/LitleListeners.rb +2 -2
- data/lib/LitleOnline.rb +1 -1
- data/lib/LitleOnlineRequest.rb +22 -3
- data/lib/LitleRequest.rb +4 -4
- data/lib/LitleTransaction.rb +156 -47
- data/lib/LitleXmlMapper.rb +8 -1
- data/lib/XMLFields.rb +252 -51
- data/temp.xml +21 -0
- data/test/certification/certTest1_base.rb +52 -52
- data/test/certification/certTest2_authenhanced.rb +20 -20
- data/test/certification/certTest3_authreversal.rb +16 -16
- data/test/certification/certTest4_echeck.rb +18 -12
- data/test/certification/certTest5_token.rb +3 -3
- data/test/certification/certTest_batchAll.rb +9 -1
- data/test/certification/ts_all.rb +1 -1
- data/test/functional/test_activate.rb +34 -5
- data/test/functional/test_activateReversal.rb +23 -7
- data/test/functional/test_auth.rb +126 -17
- data/test/functional/test_authReversal.rb +5 -3
- data/test/functional/test_balanceInquiry.rb +30 -5
- data/test/functional/test_batch.rb +1 -1
- data/test/functional/test_batchStream.rb +1 -1
- data/test/functional/test_cancelSubscription.rb +5 -3
- data/test/functional/test_capture.rb +37 -2
- data/test/functional/test_captureGivenAuth.rb +54 -3
- data/test/functional/test_configuration.rb +1 -1
- data/test/functional/test_createPlan.rb +5 -3
- data/test/functional/test_credit.rb +17 -1
- data/test/functional/test_deactivate.rb +28 -5
- data/test/functional/test_deactivateReversal.rb +21 -7
- data/test/functional/test_depositReversal.rb +30 -18
- data/test/functional/test_echeckCredit.rb +29 -5
- data/test/functional/test_echeckRedeposit.rb +28 -3
- data/test/functional/test_echeckSale.rb +43 -7
- data/test/functional/test_echeckVerification.rb +34 -8
- data/test/functional/test_echeckVoid.rb +2 -2
- data/test/functional/test_forceCapture.rb +36 -8
- data/test/functional/test_fraudCheck.rb +12 -14
- data/test/functional/test_giftCardAuthReversal.rb +72 -0
- data/test/functional/test_giftCardCapture.rb +72 -0
- data/test/functional/test_giftCardCredit.rb +69 -0
- data/test/functional/test_litle_requests.rb +1 -1
- data/test/functional/test_load.rb +29 -5
- data/test/functional/test_loadReversal.rb +21 -7
- data/test/functional/test_override.rb +4 -3
- data/test/functional/test_queryTransaction.rb +24 -18
- data/test/functional/test_refundReversal.rb +21 -7
- data/test/functional/test_sale.rb +86 -9
- data/test/functional/test_token.rb +26 -11
- data/test/functional/test_unload.rb +29 -5
- data/test/functional/test_unloadReversal.rb +21 -7
- data/test/functional/test_updateCardValidationNumOnToken.rb +1 -1
- data/test/functional/test_updatePlan.rb +5 -3
- data/test/functional/test_updateSubscription.rb +5 -3
- data/test/functional/test_wallet.rb +1 -1
- data/test/functional/test_xmlfields.rb +9 -5
- data/test/functional/ts_all.rb +1 -1
- data/test/unit/test_LitleAUBatch.rb +1 -1
- data/test/unit/test_LitleBatchRequest.rb +1 -1
- data/test/unit/test_LitleOnlineRequest.rb +15 -57
- data/test/unit/test_LitleRequest.rb +1 -1
- data/test/unit/test_LitleTransaction.rb +3 -3
- data/test/unit/test_LitleXmlMapper.rb +139 -0
- data/test/unit/test_activate.rb +5 -5
- data/test/unit/test_activateReversal.rb +16 -4
- data/test/unit/test_auth.rb +50 -9
- data/test/unit/test_authReversal.rb +1 -1
- data/test/unit/test_balanceInquiry.rb +3 -3
- data/test/unit/test_cancelSubscription.rb +1 -1
- data/test/unit/test_capture.rb +27 -1
- data/test/unit/test_captureGivenAuth.rb +47 -1
- data/test/unit/test_createPlan.rb +1 -1
- data/test/unit/test_credit.rb +16 -3
- data/test/unit/test_deactivate.rb +20 -1
- data/test/unit/test_deactivateReversal.rb +16 -4
- data/test/unit/test_depositReversal.rb +18 -6
- data/test/unit/test_echeckCredit.rb +20 -1
- data/test/unit/test_echeckRedeposit.rb +16 -1
- data/test/unit/test_echeckSale.rb +20 -1
- data/test/unit/test_echeckVerification.rb +7 -4
- data/test/unit/test_echeckVoid.rb +1 -1
- data/test/unit/test_forceCapture.rb +19 -1
- data/test/unit/test_fraudCheck.rb +1 -1
- data/test/unit/test_giftCardAuthReversal.rb +58 -0
- data/test/unit/test_giftCardCapture.rb +57 -0
- data/test/unit/test_giftCardCredit.rb +57 -0
- data/test/unit/test_load.rb +3 -3
- data/test/unit/test_loadReversal.rb +16 -4
- data/test/unit/test_queryTransaction.rb +5 -22
- data/test/unit/test_refundReversal.rb +16 -4
- data/test/unit/test_sale.rb +90 -5
- data/test/unit/test_token.rb +35 -24
- data/test/unit/test_unload.rb +3 -3
- data/test/unit/test_unloadReversal.rb +16 -4
- data/test/unit/test_updateCardValidationNumOnToken.rb +1 -1
- data/test/unit/test_updatePlan.rb +1 -1
- data/test/unit/test_updateSubscription.rb +1 -1
- data/test/unit/test_wallet.rb +1 -1
- data/test/unit/test_xmlfields.rb +1 -1
- data/test/unit/ts_unit.rb +1 -1
- metadata +18 -10
@@ -1,5 +1,5 @@
|
|
1
1
|
=begin
|
2
|
-
Copyright (c)
|
2
|
+
Copyright (c) 2017 Vantiv eCommerce
|
3
3
|
|
4
4
|
Permission is hereby granted, free of charge, to any person
|
5
5
|
obtaining a copy of this software and associated documentation
|
@@ -47,8 +47,10 @@ module LitleOnline
|
|
47
47
|
'id'=>'test',
|
48
48
|
'reportGroup'=>'Planets',
|
49
49
|
}
|
50
|
-
|
51
|
-
|
50
|
+
#Get exceptions
|
51
|
+
exception = assert_raise(RuntimeError){LitleOnlineRequest.new.echeck_credit(hash)}
|
52
|
+
#Test
|
53
|
+
assert(exception.message =~ /Error validating xml data against the schema/)
|
52
54
|
end
|
53
55
|
|
54
56
|
def test_echeck_credit_with_echeck
|
@@ -116,8 +118,10 @@ module LitleOnline
|
|
116
118
|
'orderId'=>'12345',
|
117
119
|
'orderSource'=>'ecommerce',
|
118
120
|
}
|
119
|
-
|
120
|
-
|
121
|
+
#Get exceptions
|
122
|
+
exception = assert_raise(RuntimeError){LitleOnlineRequest.new.echeck_credit(hash)}
|
123
|
+
#Test
|
124
|
+
assert(exception.message =~ /Error validating xml data against the schema/)
|
121
125
|
end
|
122
126
|
|
123
127
|
def test_echeck_credit_with_secondaryAmount
|
@@ -151,5 +155,25 @@ module LitleOnline
|
|
151
155
|
response= LitleOnlineRequest.new.echeck_credit(hash)
|
152
156
|
assert_equal('Valid Format', response.message)
|
153
157
|
end
|
158
|
+
|
159
|
+
def test_echeck_credit_with_customIdentifier
|
160
|
+
hash = {
|
161
|
+
'merchantId' => '101',
|
162
|
+
'version'=>'8.8',
|
163
|
+
'id'=>'test',
|
164
|
+
'reportGroup'=>'Planets',
|
165
|
+
'amount'=>'123456',
|
166
|
+
'verify'=>'true',
|
167
|
+
'orderId'=>'12345',
|
168
|
+
'orderSource'=>'ecommerce',
|
169
|
+
'echeck' => {'accType'=>'Checking','accNum'=>'12345657890','routingNum'=>'123456789','checkNum'=>'123455'},
|
170
|
+
'billToAddress'=>{'name'=>'Bob','city'=>'lowell','state'=>'MA','email'=>'litle.com'},
|
171
|
+
'shipToAddress'=>{'name'=>'Bob','city'=>'lowell','state'=>'MA','email'=>'litle.com'},
|
172
|
+
'merchantData'=>{'campaign'=>'camping'},
|
173
|
+
'customIdentifier' =>'identifier',
|
174
|
+
}
|
175
|
+
response= LitleOnlineRequest.new.echeck_credit(hash)
|
176
|
+
assert_equal('Valid Format', response.message)
|
177
|
+
end
|
154
178
|
end
|
155
179
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
=begin
|
2
|
-
Copyright (c)
|
2
|
+
Copyright (c) 2017 Vantiv eCommerce
|
3
3
|
|
4
4
|
Permission is hereby granted, free of charge, to any person
|
5
5
|
obtaining a copy of this software and associated documentation
|
@@ -59,7 +59,8 @@ module LitleOnline
|
|
59
59
|
'id'=>'test',
|
60
60
|
'reportGroup'=>'Planets',
|
61
61
|
'litleTxnId'=>'123456',
|
62
|
-
'echeckToken' => {'accType'=>'Checking','litleToken'=>'1234565789012','routingNum'=>'123456789','checkNum'=>'123455'}
|
62
|
+
'echeckToken' => {'accType'=>'Checking','litleToken'=>'1234565789012','routingNum'=>'123456789','checkNum'=>'123455'},
|
63
|
+
|
63
64
|
}
|
64
65
|
response= LitleOnlineRequest.new.echeck_redeposit(hash)
|
65
66
|
assert_equal('Valid Format', response.message)
|
@@ -85,8 +86,32 @@ module LitleOnline
|
|
85
86
|
'version'=>'8.8',
|
86
87
|
'reportGroup'=>'Planets',
|
87
88
|
}
|
89
|
+
#Get exceptions
|
90
|
+
exception = assert_raise(RuntimeError){LitleOnlineRequest.new.echeck_redeposit(hash)}
|
91
|
+
#Test
|
92
|
+
assert(exception.message =~ /Error validating xml data against the schema/)
|
93
|
+
end
|
94
|
+
|
95
|
+
def test_echeck_Redeposit_with_customIdentifier
|
96
|
+
hash = {
|
97
|
+
'merchantId' => '101',
|
98
|
+
'version'=>'8.8',
|
99
|
+
'id'=>'test',
|
100
|
+
'reportGroup'=>'Planets',
|
101
|
+
'amount'=>'123456',
|
102
|
+
'verify'=>'true',
|
103
|
+
'orderId'=>'12345',
|
104
|
+
'litleTxnId'=>'123456',
|
105
|
+
'orderSource'=>'ecommerce',
|
106
|
+
'echeck' => {'accType'=>'Checking','accNum'=>'12345657890','routingNum'=>'123456789','checkNum'=>'123455'},
|
107
|
+
'billToAddress'=>{'name'=>'Bob','city'=>'lowell','state'=>'MA','email'=>'litle.com'},
|
108
|
+
'shipToAddress'=>{'name'=>'Bob','city'=>'lowell','state'=>'MA','email'=>'litle.com'},
|
109
|
+
'merchantData'=>{'campaign'=>'camping'},
|
110
|
+
'customIdentifier' =>'identifier',
|
111
|
+
}
|
88
112
|
response= LitleOnlineRequest.new.echeck_redeposit(hash)
|
89
|
-
|
113
|
+
assert_equal('Valid Format', response.message)
|
90
114
|
end
|
115
|
+
|
91
116
|
end
|
92
117
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
=begin
|
2
|
-
Copyright (c)
|
2
|
+
Copyright (c) 2017 Vantiv eCommerce
|
3
3
|
|
4
4
|
Permission is hereby granted, free of charge, to any person
|
5
5
|
obtaining a copy of this software and associated documentation
|
@@ -51,8 +51,10 @@ module LitleOnline
|
|
51
51
|
'id'=>'test',
|
52
52
|
'reportGroup'=>'Planets'
|
53
53
|
}
|
54
|
-
|
55
|
-
|
54
|
+
#Get exceptions
|
55
|
+
exception = assert_raise(RuntimeError){LitleOnlineRequest.new.echeck_sale(hash)}
|
56
|
+
#Test
|
57
|
+
assert(exception.message =~ /The content of element 'echeckSale' is not complete/)
|
56
58
|
end
|
57
59
|
|
58
60
|
def test_echeck_sale_with_echeck1
|
@@ -139,8 +141,10 @@ module LitleOnline
|
|
139
141
|
'orderId'=>'12345',
|
140
142
|
'orderSource'=>'ecommerce',
|
141
143
|
}
|
142
|
-
|
143
|
-
|
144
|
+
#Get exceptions
|
145
|
+
exception = assert_raise(RuntimeError){LitleOnlineRequest.new.echeck_sale(hash)}
|
146
|
+
#Test
|
147
|
+
assert(exception.message =~ /Error validating xml data against the schema/)
|
144
148
|
end
|
145
149
|
|
146
150
|
def test_simple_echeck_sale
|
@@ -148,7 +152,12 @@ module LitleOnline
|
|
148
152
|
'reportGroup'=>'Planets',
|
149
153
|
'id'=>'test',
|
150
154
|
'litleTxnId'=>'123456789101112',
|
151
|
-
'
|
155
|
+
'orderId'=>'12345',
|
156
|
+
'amount'=>'12',
|
157
|
+
'orderSource'=>'ecommerce',
|
158
|
+
'echeckToken' => {'accType'=>'Checking','litleToken'=>'1234565789012','routingNum'=>'123456789','checkNum'=>'123455'},
|
159
|
+
'billToAddress'=>{'name'=>'Bob','city'=>'lowell','state'=>'MA','email'=>'litle.com'},
|
160
|
+
'shipToAddress'=>{'name'=>'Bob','city'=>'lowell','state'=>'MA','email'=>'litle.com'}
|
152
161
|
}
|
153
162
|
response= LitleOnlineRequest.new.echeck_sale(hash)
|
154
163
|
assert_equal('Valid Format', response.message)
|
@@ -159,7 +168,12 @@ module LitleOnline
|
|
159
168
|
'reportGroup'=>'Planets',
|
160
169
|
'id'=>'test',
|
161
170
|
'litleTxnId'=>'123456',
|
171
|
+
'orderId'=>'12345',
|
162
172
|
'amount'=>'10',
|
173
|
+
'orderSource'=>'ecommerce',
|
174
|
+
'echeckToken' => {'accType'=>'Checking','litleToken'=>'1234565789012','routingNum'=>'123456789','checkNum'=>'123455'},
|
175
|
+
'billToAddress'=>{'name'=>'Bob','city'=>'lowell','state'=>'MA','email'=>'litle.com'},
|
176
|
+
'shipToAddress'=>{'name'=>'Bob','city'=>'lowell','state'=>'MA','email'=>'litle.com'}
|
163
177
|
}
|
164
178
|
response= LitleOnlineRequest.new.echeck_sale(hash)
|
165
179
|
assert_equal('Valid Format', response.message)
|
@@ -211,8 +225,30 @@ module LitleOnline
|
|
211
225
|
'amount'=>'12',
|
212
226
|
'secondaryAmount'=>'50'
|
213
227
|
}
|
228
|
+
#Get exceptions
|
229
|
+
exception = assert_raise(RuntimeError){LitleOnlineRequest.new.echeck_sale(hash)}
|
230
|
+
#Test
|
231
|
+
assert(exception.message =~ /Error validating xml data against the schema/)
|
232
|
+
end
|
233
|
+
|
234
|
+
def test_echeck_sale_with_customIdentifier
|
235
|
+
hash = {
|
236
|
+
'merchantId' => '101',
|
237
|
+
'version'=>'8.8',
|
238
|
+
'id'=>'test',
|
239
|
+
'reportGroup'=>'Planets',
|
240
|
+
'amount'=>'123456',
|
241
|
+
'verify'=>'true',
|
242
|
+
'orderId'=>'12345',
|
243
|
+
'orderSource'=>'ecommerce',
|
244
|
+
'echeck' => {'accType'=>'Checking','accNum'=>'12345657890','routingNum'=>'123456789','checkNum'=>'123455'},
|
245
|
+
'billToAddress'=>{'name'=>'Bob','city'=>'lowell','state'=>'MA','email'=>'litle.com'},
|
246
|
+
'shipToAddress'=>{'name'=>'Bob','city'=>'lowell','state'=>'MA','email'=>'litle.com'},
|
247
|
+
'merchantData'=>{'campaign'=>'camping'},
|
248
|
+
'customIdentifier' =>'identifier',
|
249
|
+
}
|
214
250
|
response= LitleOnlineRequest.new.echeck_sale(hash)
|
215
|
-
|
251
|
+
assert_equal('Valid Format', response.message)
|
216
252
|
end
|
217
253
|
|
218
254
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
=begin
|
2
|
-
Copyright (c)
|
2
|
+
Copyright (c) 2017 Vantiv eCommerce
|
3
3
|
|
4
4
|
Permission is hereby granted, free of charge, to any person
|
5
5
|
obtaining a copy of this software and associated documentation
|
@@ -89,8 +89,10 @@ module LitleOnline
|
|
89
89
|
'orderId'=>'12345',
|
90
90
|
'orderSource'=>'ecommerce',
|
91
91
|
}
|
92
|
-
|
93
|
-
|
92
|
+
#Get exceptions
|
93
|
+
exception = assert_raise(RuntimeError){LitleOnlineRequest.new.echeck_verification(hash)}
|
94
|
+
#Test
|
95
|
+
assert(exception.message =~ /Error validating xml data against the schema/)
|
94
96
|
end
|
95
97
|
|
96
98
|
def test_no_amount
|
@@ -101,8 +103,10 @@ module LitleOnline
|
|
101
103
|
'reportGroup'=>'Planets',
|
102
104
|
'orderId'=>'12345'
|
103
105
|
}
|
104
|
-
|
105
|
-
|
106
|
+
#Get exceptions
|
107
|
+
exception = assert_raise(RuntimeError){LitleOnlineRequest.new.echeck_verification(hash)}
|
108
|
+
#Test
|
109
|
+
assert(exception.message =~ /Error validating xml data against the schema/)
|
106
110
|
end
|
107
111
|
|
108
112
|
def test_no_order_id
|
@@ -112,8 +116,10 @@ module LitleOnline
|
|
112
116
|
'id'=>'test',
|
113
117
|
'reportGroup'=>'Planets',
|
114
118
|
}
|
115
|
-
|
116
|
-
|
119
|
+
#Get exceptions
|
120
|
+
exception = assert_raise(RuntimeError){LitleOnlineRequest.new.echeck_verification(hash)}
|
121
|
+
#Test
|
122
|
+
assert(exception.message =~ /Error validating xml data against the schema/)
|
117
123
|
end
|
118
124
|
|
119
125
|
def test_no_order_source
|
@@ -125,8 +131,28 @@ module LitleOnline
|
|
125
131
|
'amount'=>'123456',
|
126
132
|
'orderId'=>'12345'
|
127
133
|
}
|
134
|
+
#Get exceptions
|
135
|
+
exception = assert_raise(RuntimeError){LitleOnlineRequest.new.echeck_verification(hash)}
|
136
|
+
#Test
|
137
|
+
assert(exception.message =~ /Error validating xml data against the schema/)
|
138
|
+
end
|
139
|
+
|
140
|
+
def test_no_litleTxnId
|
141
|
+
hash = {
|
142
|
+
'merchantId' => '101',
|
143
|
+
'version'=>'8.8',
|
144
|
+
'id'=>'test',
|
145
|
+
'reportGroup'=>'Planets',
|
146
|
+
'amount'=>'123',
|
147
|
+
'invalidfield'=>'nonexistant',
|
148
|
+
'billToAddress'=>{'name'=>'Bob','city'=>'lowell','state'=>'MA','email'=>'litle.com'},
|
149
|
+
'echeck' => {'accType'=>'Checking','accNum'=>'12345657890','routingNum'=>'123456789','checkNum'=>'123455'},
|
150
|
+
'orderId'=>'12345',
|
151
|
+
'orderSource'=>'ecommerce',
|
152
|
+
#'litleTxnId'=>'123456',
|
153
|
+
}
|
128
154
|
response= LitleOnlineRequest.new.echeck_verification(hash)
|
129
|
-
|
155
|
+
assert_equal('Valid Format', response.message)
|
130
156
|
end
|
131
157
|
|
132
158
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
=begin
|
2
|
-
Copyright (c)
|
2
|
+
Copyright (c) 2017 Vantiv eCommerce
|
3
3
|
|
4
4
|
Permission is hereby granted, free of charge, to any person
|
5
5
|
obtaining a copy of this software and associated documentation
|
@@ -36,7 +36,7 @@ module LitleOnline
|
|
36
36
|
'litleTxnId'=>'12345678000',
|
37
37
|
}
|
38
38
|
response= LitleOnlineRequest.new.echeck_void(hash)
|
39
|
-
assert_equal('
|
39
|
+
assert_equal('0', response.response)
|
40
40
|
end
|
41
41
|
end
|
42
42
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
=begin
|
2
|
-
Copyright (c)
|
2
|
+
Copyright (c) 2017 Vantiv eCommerce
|
3
3
|
|
4
4
|
Permission is hereby granted, free of charge, to any person
|
5
5
|
obtaining a copy of this software and associated documentation
|
@@ -43,7 +43,9 @@ module LitleOnline
|
|
43
43
|
'expDate' =>'1210'
|
44
44
|
}}
|
45
45
|
response= LitleOnlineRequest.new.force_capture(hash)
|
46
|
-
|
46
|
+
|
47
|
+
assert_equal('0', response.response)
|
48
|
+
|
47
49
|
end
|
48
50
|
|
49
51
|
def test_simple_force_capture_with_token
|
@@ -121,8 +123,10 @@ module LitleOnline
|
|
121
123
|
'cardValidationNum'=>'555',
|
122
124
|
'type'=>'VI'
|
123
125
|
}}
|
124
|
-
|
125
|
-
|
126
|
+
#Get exceptions
|
127
|
+
exception = assert_raise(RuntimeError){LitleOnlineRequest.new.force_capture(hash)}
|
128
|
+
#Test
|
129
|
+
assert(exception.message =~ /Error validating xml data against the schema/)
|
126
130
|
end
|
127
131
|
|
128
132
|
def test_no_order_source
|
@@ -139,8 +143,10 @@ module LitleOnline
|
|
139
143
|
'number' =>'4100000000000001',
|
140
144
|
'expDate' =>'1210'
|
141
145
|
}}
|
142
|
-
|
143
|
-
|
146
|
+
#Get exceptions
|
147
|
+
exception = assert_raise(RuntimeError){LitleOnlineRequest.new.force_capture(hash)}
|
148
|
+
#Test
|
149
|
+
assert(exception.message =~ /Error validating xml data against the schema/)
|
144
150
|
end
|
145
151
|
|
146
152
|
def test_simple_forceCapture_with_mpos
|
@@ -163,7 +169,8 @@ module LitleOnline
|
|
163
169
|
}
|
164
170
|
}
|
165
171
|
response= LitleOnlineRequest.new.force_capture(hash)
|
166
|
-
assert_equal('
|
172
|
+
assert_equal('0', response.response)
|
173
|
+
|
167
174
|
end
|
168
175
|
|
169
176
|
def test_simple_force_capture_with_secondaryAmount
|
@@ -183,7 +190,28 @@ module LitleOnline
|
|
183
190
|
'expDate' =>'1210'
|
184
191
|
}}
|
185
192
|
response= LitleOnlineRequest.new.force_capture(hash)
|
186
|
-
assert_equal('
|
193
|
+
assert_equal('000', response.forceCaptureResponse.response)
|
194
|
+
end
|
195
|
+
|
196
|
+
def test_simple_force_capture_with_processing_type
|
197
|
+
hash = {
|
198
|
+
'merchantId' => '101',
|
199
|
+
'id' => 'test',
|
200
|
+
'version'=>'8.8',
|
201
|
+
'reportGroup'=>'Planets',
|
202
|
+
'orderId'=>'12344',
|
203
|
+
'amount'=>'106',
|
204
|
+
'orderSource'=>'ecommerce',
|
205
|
+
'processingType'=>'accountFunding',
|
206
|
+
'card'=>{
|
207
|
+
'type'=>'VI',
|
208
|
+
'number' =>'4100000000000001',
|
209
|
+
'expDate' =>'1210'
|
210
|
+
}}
|
211
|
+
response= LitleOnlineRequest.new.force_capture(hash)
|
212
|
+
|
213
|
+
assert_equal('0', response.response)
|
214
|
+
|
187
215
|
end
|
188
216
|
|
189
217
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
=begin
|
2
|
-
Copyright (c)
|
2
|
+
Copyright (c) 2017 Vantiv eCommerce
|
3
3
|
|
4
4
|
Permission is hereby granted, free of charge, to any person
|
5
5
|
obtaining a copy of this software and associated documentation
|
@@ -41,12 +41,11 @@ module LitleOnline
|
|
41
41
|
'customAttribute3' => '5'}
|
42
42
|
}
|
43
43
|
response = LitleOnlineRequest.new.fraud_check_request(hash)
|
44
|
-
assert_equal('
|
45
|
-
assert_equal('
|
46
|
-
assert_equal('
|
47
|
-
assert_equal('
|
48
|
-
assert_equal(
|
49
|
-
assert_equal(5, response.fraudCheckResponse.advancedFraudResult.triggeredRule.size())
|
44
|
+
assert_equal('0', response.response)
|
45
|
+
assert_equal('pass', response.fraudCheckResponse.advancedFraudResults.deviceReviewStatus)
|
46
|
+
assert_equal('55', response.fraudCheckResponse.advancedFraudResults.deviceReputationScore)
|
47
|
+
assert_equal('triggered_rule_1', response.fraudCheckResponse.advancedFraudResults.triggeredRule[0])
|
48
|
+
assert_equal(5, response.fraudCheckResponse.advancedFraudResults.triggeredRule.size())
|
50
49
|
end
|
51
50
|
|
52
51
|
def test_fraud_check_session_id
|
@@ -60,16 +59,15 @@ module LitleOnline
|
|
60
59
|
}
|
61
60
|
}
|
62
61
|
response = LitleOnlineRequest.new.fraud_check_request(hash)
|
63
|
-
assert_equal('
|
64
|
-
assert_equal('
|
65
|
-
assert_equal('
|
66
|
-
assert_equal('42', response.fraudCheckResponse.advancedFraudResult.deviceReputationScore)
|
62
|
+
assert_equal('0', response.response)
|
63
|
+
assert_equal('pass', response.fraudCheckResponse.advancedFraudResults.deviceReviewStatus)
|
64
|
+
assert_equal('42', response.fraudCheckResponse.advancedFraudResults.deviceReputationScore)
|
67
65
|
# kind of a hack to get around the variable # of triggered rule elements. ie. 1 element is added as a string not
|
68
66
|
# an Array. Fix is to write an unmarshaller or custom node class in XMLFields.rb
|
69
|
-
if(response.fraudCheckResponse.
|
70
|
-
assert_equal('triggered_rule_default', response.fraudCheckResponse.
|
67
|
+
if(response.fraudCheckResponse.advancedFraudResults.triggeredRule.is_a?(Array))
|
68
|
+
assert_equal('triggered_rule_default', response.fraudCheckResponse.advancedFraudResults.triggeredRule[0])
|
71
69
|
elsif
|
72
|
-
assert_equal('triggered_rule_default', response.fraudCheckResponse.
|
70
|
+
assert_equal('triggered_rule_default', response.fraudCheckResponse.advancedFraudResults.triggeredRule)
|
73
71
|
end
|
74
72
|
end
|
75
73
|
|
@@ -0,0 +1,72 @@
|
|
1
|
+
=begin
|
2
|
+
Copyright (c) 2017 Vantiv eCommerce
|
3
|
+
|
4
|
+
Permission is hereby granted, free of charge, to any person
|
5
|
+
obtaining a copy of this software and associated documentation
|
6
|
+
files (the "Software"), to deal in the Software without
|
7
|
+
restriction, including without limitation the rights to use,
|
8
|
+
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the
|
10
|
+
Software is furnished to do so, subject to the following
|
11
|
+
conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
18
|
+
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
20
|
+
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
21
|
+
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
22
|
+
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
23
|
+
OTHER DEALINGS IN THE SOFTWARE.
|
24
|
+
=end
|
25
|
+
require File.expand_path("../../../lib/LitleOnline",__FILE__)
|
26
|
+
require 'test/unit'
|
27
|
+
|
28
|
+
#test GiftCardAuthReversal Transaction
|
29
|
+
module LitleOnline
|
30
|
+
class TestGiftCardAuthReversal < Test::Unit::TestCase
|
31
|
+
def test_giftCardAuthReversal
|
32
|
+
hash = {
|
33
|
+
'merchantId' => '101',
|
34
|
+
'version'=>'8.8',
|
35
|
+
'id'=>'test',
|
36
|
+
'reportGroup'=>'Planets',
|
37
|
+
'litleTxnId' =>'5000',
|
38
|
+
'card'=>{
|
39
|
+
'type'=>'GC',
|
40
|
+
'number' =>'400000000000000',
|
41
|
+
'expDate' =>'0150',
|
42
|
+
'pin' => '1234',
|
43
|
+
'cardValidationNum' => '411'
|
44
|
+
},
|
45
|
+
'originalRefCode' => '101',
|
46
|
+
'originalAmount' => '34561',
|
47
|
+
'originalTxnTime' => '2017-01-24T09:00:00',
|
48
|
+
'originalSystemTraceId' => '33',
|
49
|
+
'originalSequenceNumber' => '111111',
|
50
|
+
}
|
51
|
+
|
52
|
+
response= LitleOnlineRequest.new.giftCardAuth_reversal(hash)
|
53
|
+
assert_equal('000', response.giftCardAuthReversalResponse.response)
|
54
|
+
assert_equal('0', response.giftCardAuthReversalResponse.giftCardResponse.systemTraceId)
|
55
|
+
end
|
56
|
+
|
57
|
+
def test_simple_error
|
58
|
+
hash = {
|
59
|
+
'merchantId' => '101',
|
60
|
+
'version'=>'8.8',
|
61
|
+
'id'=>'test',
|
62
|
+
'reportGroup'=>'Planets',
|
63
|
+
}
|
64
|
+
|
65
|
+
#Get exceptions
|
66
|
+
exception = assert_raise(RuntimeError){LitleOnlineRequest.new.giftCardAuth_reversal(hash)}
|
67
|
+
#Test
|
68
|
+
assert(exception.message =~ /Error validating xml data against the schema/)
|
69
|
+
end
|
70
|
+
|
71
|
+
end
|
72
|
+
end
|