LitleOnline 8.19.0 → 8.25.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +5 -13
  2. data/CHANGELOG +34 -0
  3. data/README.md +1 -1
  4. data/Rakefile +2 -2
  5. data/bin/Setup.rb +16 -6
  6. data/lib/LitleBatchRequest.rb +85 -2
  7. data/lib/LitleOnlineRequest.rb +108 -5
  8. data/lib/LitleRequest.rb +14 -9
  9. data/lib/LitleTransaction.rb +152 -3
  10. data/lib/XMLFields.rb +441 -7
  11. data/test/functional/test_activate.rb +100 -0
  12. data/test/functional/test_activateReversal.rb +56 -0
  13. data/test/functional/test_auth.rb +38 -1
  14. data/test/functional/test_balanceInquiry.rb +80 -0
  15. data/test/functional/test_batchStream.rb +145 -0
  16. data/test/functional/test_cancelSubscription.rb +55 -0
  17. data/test/functional/test_captureGivenAuth.rb +32 -2
  18. data/test/functional/test_createPlan.rb +85 -0
  19. data/test/functional/test_credit.rb +22 -1
  20. data/test/functional/test_deactivate.rb +80 -0
  21. data/test/functional/test_deactivateReversal.rb +56 -0
  22. data/test/functional/test_depositReversal.rb +56 -0
  23. data/test/functional/test_forceCapture.rb +23 -1
  24. data/test/functional/test_litle_requests.rb +3 -2
  25. data/test/functional/test_load.rb +82 -0
  26. data/test/functional/test_loadReversal.rb +56 -0
  27. data/test/functional/test_refundReversal.rb +56 -0
  28. data/test/functional/test_sale.rb +23 -1
  29. data/test/functional/test_unload.rb +82 -0
  30. data/test/functional/test_unloadReversal.rb +56 -0
  31. data/test/functional/test_updatePlan.rb +58 -0
  32. data/test/functional/test_updateSubscription.rb +76 -0
  33. data/test/functional/ts_all.rb +21 -2
  34. data/test/unit/test_LitleBatchRequest.rb +47 -2
  35. data/test/unit/test_LitleOnlineRequest.rb +2 -2
  36. data/test/unit/test_activate.rb +92 -0
  37. data/test/{functional/ts_all.rb~ → unit/test_activateReversal.rb} +17 -17
  38. data/test/unit/test_auth.rb +37 -3
  39. data/test/unit/test_balanceInquiry.rb +52 -0
  40. data/test/unit/test_cancelSubscription.rb +43 -0
  41. data/test/unit/test_captureGivenAuth.rb +44 -2
  42. data/test/unit/test_createPlan.rb +52 -0
  43. data/test/unit/test_credit.rb +3 -2
  44. data/test/unit/test_deactivate.rb +52 -0
  45. data/test/unit/test_deactivateReversal.rb +44 -0
  46. data/test/unit/test_depositReversal.rb +44 -0
  47. data/test/unit/test_load.rb +53 -0
  48. data/test/unit/test_loadReversal.rb +44 -0
  49. data/test/unit/test_refundReversal.rb +44 -0
  50. data/test/unit/test_sale.rb +18 -1
  51. data/test/unit/test_unload.rb +53 -0
  52. data/test/unit/test_unloadReversal.rb +44 -0
  53. data/test/unit/test_updatePlan.rb +45 -0
  54. data/test/unit/test_updateSubscription.rb +172 -0
  55. data/test/unit/test_xmlfields.rb +395 -0
  56. data/test/unit/ts_unit.rb +19 -2
  57. metadata +51 -34
  58. data/CHANGELOG~ +0 -81
  59. data/Rakefile~ +0 -93
  60. data/lib/LitleOnlineRequest.rb~ +0 -198
  61. data/lib/LitleRequest.rb~ +0 -513
  62. data/lib/LitleTransaction.rb~ +0 -297
  63. data/lib/XMLFields.rb~ +0 -1380
  64. data/test/unit/test_LitleOnlineRequest.rb~ +0 -296
  65. data/test/unit/test_sale.rb~ +0 -390
  66. data/test/unit/test_xmlfields.rb~ +0 -2515
@@ -1,297 +0,0 @@
1
- =begin
2
- Copyright (c) 2011 Litle & Co.
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_relative 'Configuration'
26
-
27
- #
28
- # This class does all the heavy lifting of mapping the Ruby hash into Litle XML format
29
- # It also handles validation looking for missing or incorrect fields
30
- # contains the methods to properly create each transaction type
31
- #
32
- module LitleOnline
33
-
34
- class LitleTransaction
35
- def authorization(options)
36
- transaction = Authorization.new
37
- transaction.surchargeAmount = options['surchargeAmount']
38
- add_transaction_info(transaction, options)
39
-
40
- return transaction
41
- end
42
-
43
- def sale(options)
44
- transaction = Sale.new
45
- add_transaction_info(transaction, options)
46
-
47
- transaction.surchargeAmount = options['surchargeAmount']
48
- transaction.fraudCheck = FraudCheck.from_hash(options,'fraudCheck')
49
- transaction.payPalOrderComplete = options['payPalOrderComplete']
50
- transaction.payPalNotes = options['payPalNotes']
51
- transaction.recurringRequest = RecurringRequest.from_hash(options,'recurringRequest')
52
- transaction.litleInternalRecurringRequest = LitleInternalRecurringRequest.from_hash(options,'litleInternalRecurringRequest')
53
-
54
- return transaction
55
- end
56
-
57
- def credit(options)
58
- transaction = Credit.new
59
- transaction.litleTxnId = options['litleTxnId']
60
- if(transaction.litleTxnId.nil?)
61
- transaction.orderId = options['orderId']
62
- transaction.orderSource = options['orderSource']
63
- transaction.taxType = options['taxType']
64
- transaction.billToAddress = Contact.from_hash(options,'billToAddress')
65
- transaction.amexAggregatorData = AmexAggregatorData.from_hash(options)
66
- transaction.card = Card.from_hash(options)
67
- transaction.token = CardToken.from_hash(options,'token')
68
- transaction.paypage = CardPaypage.from_hash(options,'paypage')
69
- end
70
- transaction.amount = options['amount']
71
- transaction.surchargeAmount = options['surchargeAmount']
72
- transaction.customBilling = CustomBilling.from_hash(options)
73
- transaction.enhancedData = EnhancedData.from_hash(options)
74
- transaction.processingInstructions = ProcessingInstructions.from_hash(options)
75
- transaction.pos = Pos.from_hash(options)
76
- transaction.billMeLaterRequest = BillMeLaterRequest.from_hash(options)
77
- transaction.payPalNotes = options['payPalNotes']
78
- transaction.actionReason = options['actionReason']
79
- transaction.paypal = CreditPayPal.from_hash(options,'paypal')
80
-
81
- add_account_info(transaction, options)
82
- return transaction
83
- end
84
-
85
- def auth_reversal(options)
86
- transaction = AuthReversal.new
87
-
88
- transaction.litleTxnId = options['litleTxnId']
89
- transaction.amount = options['amount']
90
- transaction.surchargeAmount = options['surchargeAmount']
91
- transaction.payPalNotes = options['payPalNotes']
92
- transaction.actionReason = options['actionReason']
93
-
94
- add_account_info(transaction, options)
95
- return transaction
96
- end
97
-
98
- def register_token_request(options)
99
- transaction = RegisterTokenRequest.new
100
-
101
- transaction.orderId = options['orderId']
102
- transaction.accountNumber = options['accountNumber']
103
- transaction.echeckForToken = EcheckForToken.from_hash(options)
104
- transaction.paypageRegistrationId = options['paypageRegistrationId']
105
-
106
- add_account_info(transaction, options)
107
- return transaction
108
- end
109
-
110
- def update_card_validation_num_on_token(options)
111
- transaction = UpdateCardValidationNumOnToken.new
112
-
113
- transaction.orderId = options['orderId']
114
- transaction.litleToken = options['litleToken']
115
- transaction.cardValidationNum = options['cardValidationNum']
116
-
117
- SchemaValidation.validate_length(transaction.litleToken, true, 13, 25, "updateCardValidationNumOnToken", "litleToken")
118
- SchemaValidation.validate_length(transaction.cardValidationNum, true, 1, 4, "updateCardValidationNumOnToken", "cardValidationNum")
119
-
120
- add_account_info(transaction, options)
121
- return transaction
122
- end
123
-
124
- def force_capture(options)
125
- transaction = ForceCapture.new
126
- transaction.surchargeAmount = options['surchargeAmount']
127
- transaction.customBilling = CustomBilling.from_hash(options)
128
-
129
- add_order_info(transaction, options)
130
-
131
- return transaction
132
- end
133
-
134
- def capture(options)
135
- transaction = Capture.new
136
-
137
- transaction.partial = options['partial']
138
- transaction.litleTxnId = options['litleTxnId']
139
- transaction.amount = options['amount']
140
- transaction.surchargeAmount = options['surchargeAmount']
141
- transaction.enhancedData = EnhancedData.from_hash(options)
142
- transaction.processingInstructions = ProcessingInstructions.from_hash(options)
143
- transaction.payPalOrderComplete = options['payPalOrderComplete']
144
- transaction.payPalNotes = options['payPalNotes']
145
-
146
- add_account_info(transaction, options)
147
- return transaction
148
- end
149
-
150
- def capture_given_auth(options)
151
- transaction = CaptureGivenAuth.new
152
- add_order_info(transaction, options)
153
-
154
- transaction.surchargeAmount = options['surchargeAmount']
155
- transaction.authInformation = AuthInformation.from_hash(options)
156
- transaction.shipToAddress = Contact.from_hash(options,'shipToAddress')
157
- transaction.customBilling = CustomBilling.from_hash(options)
158
- transaction.billMeLaterRequest = BillMeLaterRequest.from_hash(options)
159
-
160
- return transaction
161
- end
162
-
163
- def void(options)
164
- transaction = Void.new
165
-
166
- transaction.litleTxnId = options['litleTxnId']
167
- transaction.processingInstructions = ProcessingInstructions.from_hash(options)
168
-
169
- add_account_info(transaction, options)
170
- return transaction
171
- end
172
-
173
- def echeck_redeposit(options)
174
- transaction = EcheckRedeposit.new
175
- add_echeck(transaction, options)
176
-
177
- transaction.litleTxnId = options['litleTxnId']
178
- transaction.merchantData = MerchantData.from_hash(options)
179
-
180
- return transaction
181
- end
182
-
183
- def echeck_sale(options)
184
- transaction = EcheckSale.new
185
- add_echeck(transaction, options)
186
- add_echeck_order_info(transaction, options)
187
-
188
- transaction.verify = options['verify']
189
- transaction.shipToAddress = Contact.from_hash(options,'shipToAddress')
190
- transaction.customBilling = CustomBilling.from_hash(options)
191
-
192
- return transaction
193
- end
194
-
195
- def echeck_credit(options)
196
- transaction = EcheckCredit.new
197
- transaction.customBilling = CustomBilling.from_hash(options)
198
-
199
- add_echeck_order_info(transaction, options)
200
- add_echeck(transaction, options)
201
-
202
- return transaction
203
- end
204
-
205
- def echeck_verification(options)
206
- transaction = EcheckVerification.new
207
-
208
- add_echeck_order_info(transaction, options)
209
- add_echeck(transaction, options)
210
- transaction.merchantData = MerchantData.from_hash(options)
211
-
212
- return transaction
213
- end
214
-
215
- def echeck_void(options)
216
- transaction = EcheckVoid.new
217
- transaction.litleTxnId = options['litleTxnId']
218
-
219
- add_account_info(transaction, options)
220
- return transaction
221
- end
222
-
223
- def account_update(options)
224
- transaction = AccountUpdate.new
225
- transaction.card = Card.from_hash(options)
226
- transaction.token = CardToken.from_hash(options,'token')
227
- transaction.orderId = options['orderId']
228
-
229
- add_account_info(transaction, options)
230
-
231
- return transaction
232
- end
233
-
234
- private
235
-
236
- def add_account_info(transaction, options)
237
- transaction.reportGroup = get_report_group(options)
238
- transaction.transactionId = options['id']
239
- transaction.customerId = options['customerId']
240
- end
241
-
242
- def add_transaction_info(transaction, options)
243
- transaction.litleTxnId = options['litleTxnId']
244
- transaction.customerInfo = CustomerInfo.from_hash(options)
245
- transaction.shipToAddress = Contact.from_hash(options,'shipToAddress')
246
- transaction.billMeLaterRequest = BillMeLaterRequest.from_hash(options)
247
- transaction.cardholderAuthentication = FraudCheck.from_hash(options)
248
- transaction.allowPartialAuth = options['allowPartialAuth']
249
- transaction.healthcareIIAS = HealthcareIIAS.from_hash(options)
250
- transaction.filtering = Filtering.from_hash(options)
251
- transaction.merchantData = MerchantData.from_hash(options)
252
- transaction.recyclingRequest = RecyclingRequest.from_hash(options)
253
- transaction.fraudFilterOverride = options['fraudFilterOverride']
254
- transaction.customBilling = CustomBilling.from_hash(options)
255
- transaction.paypal = PayPal.from_hash(options,'paypal')
256
-
257
- add_order_info(transaction, options)
258
- end
259
-
260
- def add_order_info(transaction, options)
261
- transaction.amount = options['amount']
262
- transaction.orderId = options['orderId']
263
- transaction.orderSource = options['orderSource']
264
- transaction.taxType = options['taxType']
265
- transaction.billToAddress = Contact.from_hash(options,'billToAddress')
266
- transaction.enhancedData = EnhancedData.from_hash(options)
267
- transaction.processingInstructions = ProcessingInstructions.from_hash(options)
268
- transaction.pos = Pos.from_hash(options)
269
- transaction.amexAggregatorData = AmexAggregatorData.from_hash(options)
270
- transaction.card = Card.from_hash(options)
271
- transaction.token = CardToken.from_hash(options,'token')
272
- transaction.paypage = CardPaypage.from_hash(options,'paypage')
273
-
274
- add_account_info(transaction, options)
275
- end
276
-
277
- def add_echeck_order_info(transaction, options)
278
- transaction.litleTxnId = options['litleTxnId']
279
- transaction.orderId = options['orderId']
280
- transaction.amount = options['amount']
281
- transaction.orderSource = options['orderSource']
282
- transaction.billToAddress = Contact.from_hash(options,'billToAddress')
283
- end
284
-
285
- def add_echeck(transaction, options)
286
- transaction.echeck = Echeck.from_hash(options)
287
- transaction.echeckToken = EcheckToken.from_hash(options)
288
-
289
- add_account_info(transaction, options)
290
- end
291
-
292
- def get_report_group(options)
293
- #options['reportGroup'] || @config_hash['default_report_group']
294
- options['reportGroup']
295
- end
296
- end
297
- end
data/lib/XMLFields.rb~ DELETED
@@ -1,1380 +0,0 @@
1
- =begin
2
- Copyright (c) 2011 Litle & Co.
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
- #
26
- # Contains all of the underlying XML fields and specifications needed to create the transaction set
27
- #
28
-
29
- module LitleOnline
30
- class OptionalChoiceNode < XML::Mapping::ChoiceNode
31
- def obj_to_xml(obj,xml)
32
- count = 0
33
- @choices.each do |path,node|
34
- if node.is_present_in? obj
35
- count = count + 1
36
- end
37
- end
38
- if(count > 1)
39
- raise RuntimeError, "Entered an Invalid Amount of Choices for a Field, please only fill out one Choice!!!!"
40
- end
41
- @choices.each do |path,node|
42
- if node.is_present_in? obj
43
- node.obj_to_xml(obj,xml)
44
- path.first(xml, :ensure_created=>true)
45
- return true
46
- end
47
- end
48
- end
49
- end
50
-
51
- XML::Mapping.add_node_class OptionalChoiceNode
52
-
53
- class Authentication
54
- include XML::Mapping
55
- text_node :user, "user"
56
- text_node :password, "password"
57
- end
58
-
59
- class SchemaValidation
60
-
61
- def self.validate_required(value, required, class_name, field_name)
62
- if(required)
63
- if(value.nil?)
64
- raise "If #{class_name} is specified, it must have a #{field_name}"
65
- end
66
- end
67
- end
68
-
69
- def self.validate_length(value, required, min, max, class_name, field_name)
70
- validate_required(value, required, class_name, field_name)
71
- if(value.nil?)
72
- return
73
- end
74
- if(value.length < min || value.length > max)
75
- raise "If " + class_name + " " + field_name + " is specified, it must be between " + min.to_s + " and " + max.to_s + " characters long"
76
- end
77
- end
78
-
79
- def self.validate_size(value, required, min, max, class_name, field_name)
80
- validate_required(value, required, class_name, field_name)
81
- if(value.nil?)
82
- return
83
- end
84
- if(value.to_i < min || value.to_i > max || !(/\A\-?\d+\Z/ =~ value))
85
- raise "If " + class_name + " " + field_name + " is specified, it must be between " + min.to_s + " and " + max.to_s
86
- end
87
- end
88
-
89
- def self.validate_country(value, class_name, field_name)
90
- if(value.nil?)
91
- return
92
- end
93
- list = ["USA","AF","AX","AL","DZ","AS","AD","AO","AI","AQ","AG","AR","AM","AW","AU","AT","AZ","BS","BH","BD","BB","BY","BE","BZ","BJ","BM","BT","BO","BQ","BA","BW","BV","BR","IO","BN","BG","BF","BI","KH","CM","CA","CV","KY","CF","TD","CL","CN","CX","CC","CO","KM","CG","CD","CK","CR","CI","HR","CU","CW","CY","CZ","DK","DJ","DM","DO","TL","EC","EG","SV","GQ","ER","EE","ET","FK","FO","FJ","FI","FR","GF","PF","TF","GA","GM","GE","DE","GH","GI","GR","GL","GD","GP","GU","GT","GG","GN","GW","GY","HT","HM","HN","HK","HU","IS","IN","ID","IR","IQ","IE","IM","IL","IT","JM","JP","JE","JO","KZ","KE","KI","KP","KR","KW","KG","LA","LV","LB","LS","LR","LY","LI","LT","LU","MO","MK","MG","MW","MY","MV","ML","MT","MH","MQ","MR","MU","YT","MX","FM","MD","MC","MN","MS","MA","MZ","MM","NA","NR","NP","NL","AN","NC","NZ","NI","NE","NG","NU","NF","MP","NO","OM","PK","PW","PS","PA","PG","PY","PE","PH","PN","PL","PT","PR","QA","RE","RO","RU","RW","BL","KN","LC","MF","VC","WS","SM","ST","SA","SN","SC","SL","SG","SX","SK","SI","SB","SO","ZA","GS","ES","LK","SH","PM","SD","SR","SJ","SZ","SE","CH","SY","TW","TJ","TZ","TH","TG","TK","TO","TT","TN","TR","TM","TC","TV","UG","UA","AE","GB","US","UM","UY","UZ","VU","VA","VE","VN","VG","VI","WF","EH","YE","ZM","ZW","RS","ME"]
94
- if(!list.include? value)
95
- raise "If " + class_name + " " + field_name + " is specified, it must be valid. You specified " + value
96
- end
97
- end
98
-
99
- def self.validate_regex(value, required, regex, class_name, field_name)
100
- validate_required(value, required, class_name, field_name)
101
- if(value.nil?)
102
- return
103
- end
104
- if(!(regex =~ value))
105
- raise "If #{class_name} #{field_name} is specified, it must match the regular expression #{regex.inspect}"
106
- end
107
- end
108
-
109
- def self.validate_enum(value, required, list, class_name, field_name)
110
- validate_required(value, required, class_name, field_name)
111
- if(value.nil?)
112
- return
113
- end
114
- if(!list.include?(value))
115
- str = '["'+ list.join('", "') + '"]'
116
- raise "If #{class_name} #{field_name} is specified, it must be in #{str}"
117
- end
118
- end
119
-
120
- def self.validate_long(value, required, class_name, field_name)
121
- validate_size(value, required, -9223372036854775808, 9223372036854775807, class_name, field_name)
122
- end
123
-
124
- def self.validate_currency(value, required, class_name, field_name)
125
- validate_enum(value, required, ['AUD','CAD','CHF','DKK','EUR','GBP','HKD','JPY','NOK','NZD','SEK','SGD','USD'], class_name, field_name)
126
- end
127
-
128
- def self.validate_boolean(value, required, class_name, field_name)
129
- validate_enum(value, required, ['true','false','1','0'], class_name, field_name)
130
- end
131
-
132
- def self.validate_date(value, required, class_name, field_name)
133
- validate_regex(value, required, /\A\d{4}-\d{2}-\d{2}\Z/, class_name, field_name)
134
- end
135
-
136
- end
137
-
138
- class Contact
139
- include XML::Mapping
140
- text_node :name, "name", :default_value=>nil
141
- text_node :firstName, "firstName", :default_value=>nil
142
- text_node :middleInitial, "middleInitial", :default_value=>nil
143
- text_node :lastName, "lastName", :default_value=>nil
144
- text_node :companyName, "companyName", :default_value=>nil
145
- text_node :addressLine1, "addressLine1", :default_value=>nil
146
- text_node :addressLine2, "addressLine2", :default_value=>nil
147
- text_node :addressLine3, "addressLine3", :default_value=>nil
148
- text_node :city, "city", :default_value=>nil
149
- text_node :state, "state", :default_value=>nil
150
- text_node :zip, "zip", :default_value=>nil
151
- text_node :country, "country", :default_value=>nil
152
- text_node :email, "email", :default_value=>nil
153
- text_node :phone, "phone", :default_value=>nil
154
- def self.from_hash(hash, name='contact')
155
- base = hash[name]
156
- if(base)
157
- this = Contact.new
158
- this.name = base['name']
159
- this.firstName = base['firstName']
160
- this.middleInitial = base['middleInitial']
161
- this.lastName = base['lastName']
162
- this.companyName = base['companyName']
163
- this.addressLine1 = base['addressLine1']
164
- this.addressLine2 = base['addressLine2']
165
- this.addressLine3 = base['addressLine3']
166
- this.city = base['city']
167
- this.state = base['state']
168
- this.zip = base['zip']
169
- this.country = base['country']
170
- this.email = base['email']
171
- this.phone = base['phone']
172
- SchemaValidation.validate_length(this.name, false, 1, 100, name, "name")
173
- SchemaValidation.validate_length(this.firstName, false, 1, 25, name, "firstName")
174
- SchemaValidation.validate_length(this.middleInitial, false, 1, 1, name, "middleInitial")
175
- SchemaValidation.validate_length(this.lastName, false, 1, 25, name, "lastName")
176
- SchemaValidation.validate_length(this.companyName, false, 1, 40, name, "companyName")
177
- SchemaValidation.validate_length(this.addressLine1, false, 1, 35, name, "addressLine1")
178
- SchemaValidation.validate_length(this.addressLine2, false, 1, 35, name, "addressLine2")
179
- SchemaValidation.validate_length(this.addressLine3, false, 1, 35, name, "addressLine3")
180
- SchemaValidation.validate_length(this.city, false, 1, 35, name, "city")
181
- SchemaValidation.validate_length(this.state, false, 1, 30, name, "state")
182
- SchemaValidation.validate_length(this.zip, false, 1, 20, name, "zip")
183
- SchemaValidation.validate_length(this.country, false, 1, 3, name, "country")
184
- SchemaValidation.validate_country(this.country, name, "country")
185
- SchemaValidation.validate_length(this.email, false, 1, 100, name, "email")
186
- SchemaValidation.validate_length(this.phone, false, 1, 20, name, "phone")
187
- this
188
- else
189
- nil
190
- end
191
- end
192
- end
193
-
194
- class CustomerInfo
195
- include XML::Mapping
196
- text_node :ssn, "ssn", :default_value=>nil
197
- text_node :dob, "dob", :default_value=>nil
198
- text_node :customerRegistrationDate, "customerRegistrationDate", :default_value=>nil
199
- text_node :customerType, "customerType", :default_value=>nil
200
- text_node :incomeAmount, "incomeAmount", :default_value=>nil
201
- text_node :incomeCurrency, "incomeCurrency", :default_value=>nil
202
- text_node :customerCheckingAccount, "customerCheckingAccount", :default_value=>nil
203
- text_node :customerSavingAccount, "customerSavingAccount", :default_value=>nil
204
- text_node :employerName, "employerName", :default_value=>nil
205
- text_node :customerWorkTelephone, "customerWorkTelephone", :default_value=>nil
206
- text_node :residenceStatus, "residenceStatus", :default_value=>nil
207
- text_node :yearsAtResidence, "yearsAtResidence", :default_value=>nil
208
- text_node :yearsAtEmployer, "yearsAtEmployer", :default_value=>nil
209
- def self.from_hash(hash, name='customerInfo')
210
- base = hash[name]
211
- if(base)
212
- this = CustomerInfo.new
213
- this.ssn = base['ssn']
214
- this.dob = base['dob']
215
- this.customerRegistrationDate = base['customerRegistrationDate']
216
- this.customerType = base['customerType']
217
- this.incomeAmount = base['incomeAmount']
218
- this.incomeCurrency = base['incomeCurrency']
219
- this.customerCheckingAccount = base['customerCheckingAccount']
220
- this.customerSavingAccount = base['customerSavingAccount']
221
- this.employerName = base['employerName']
222
- this.customerWorkTelephone = base['customerWorkTelephone']
223
- this.residenceStatus = base['residenceStatus']
224
- this.yearsAtResidence = base['yearsAtResidence']
225
- this.yearsAtEmployer = base['yearsAtEmployer']
226
- SchemaValidation.validate_regex(this.ssn, false, /\A\d{9}\Z/, name, 'ssn')
227
- SchemaValidation.validate_date(this.dob, false, name, 'dob')
228
- SchemaValidation.validate_regex(this.customerRegistrationDate, false, /\A\d{4}-\d{2}-\d{2}/, name, 'customerRegistrationDate')
229
- SchemaValidation.validate_enum(this.customerType, false, ['New','Existing'], name, 'customerType')
230
- SchemaValidation.validate_long(this.incomeAmount, false, name, 'incomeAmount')
231
- SchemaValidation.validate_currency(this.incomeCurrency, false, name, 'incomeCurrency')
232
- SchemaValidation.validate_boolean(this.customerCheckingAccount, false, name, 'customerCheckingAccount')
233
- SchemaValidation.validate_boolean(this.customerSavingAccount, false, name, 'customerSavingAccount')
234
- SchemaValidation.validate_length(this.employerName, false, 1, 20, name, "employerName")
235
- SchemaValidation.validate_length(this.customerWorkTelephone, false, 1, 20, name, "customerWorkTelephone")
236
- SchemaValidation.validate_enum(this.residenceStatus, false, ['Own','Rent','Other'], name, 'residenceStatus')
237
- SchemaValidation.validate_size(this.yearsAtResidence, false, 0, 99, name, 'yearsAtResidence')
238
- SchemaValidation.validate_size(this.yearsAtEmployer, false, 0, 99, name, 'yearsAtEmployer')
239
- this
240
- else
241
- nil
242
- end
243
- end
244
- end
245
-
246
- class BillMeLaterRequest
247
- include XML::Mapping
248
- text_node :bmlMerchantId, "bmlMerchantId", :default_value=>nil
249
- text_node :bmlProductType, "bmlProductType", :default_value=>nil
250
- text_node :termsAndConditions, "termsAndConditions", :default_value=>nil
251
- text_node :preapprovalNumber, "preapprovalNumber", :default_value=>nil
252
- text_node :merchantPromotionalCode, "merchantPromotionalCode", :default_value=>nil
253
- text_node :customerPasswordChanged, "customerPasswordChanged", :default_value=>nil
254
- text_node :customerBillingAddressChanged, "customerBillingAddressChanged", :default_value=>nil
255
- text_node :customerEmailChanged, "customerEmailChanged", :default_value=>nil
256
- text_node :customerPhoneChanged, "customerPhoneChanged", :default_value=>nil
257
- text_node :secretQuestionCode, "secretQuestionCode", :default_value=>nil
258
- text_node :secretQuestionAnswer, "secretQuestionAnswer", :default_value=>nil
259
- text_node :virtualAuthenticationKeyPresenceIndicator, "virtualAuthenticationKeyPresenceIndicator", :default_value=>nil
260
- text_node :virtualAuthenticationKeyData, "virtualAuthenticationKeyData", :default_value=>nil
261
- text_node :itemCategoryCode, "itemCategoryCode", :default_value=>nil
262
- text_node :authorizationSourcePlatform, "authorizationSourcePlatform", :default_value=>nil
263
- def self.from_hash(hash, name='billMeLaterRequest')
264
- base = hash[name]
265
- if(base)
266
- this = BillMeLaterRequest.new
267
- this.bmlMerchantId = base['bmlMerchantId']
268
- this.bmlProductType = base['bmlProductType']
269
- this.termsAndConditions = base['termsAndConditions']
270
- this.preapprovalNumber = base['preapprovalNumber']
271
- this.merchantPromotionalCode = base['merchantPromotionalCode']
272
- this.customerPasswordChanged = base['customerPasswordChanged']
273
- this.customerBillingAddressChanged = base['customerBillingAddressChanged']
274
- this.customerEmailChanged = base['customerEmailChanged']
275
- this.customerPhoneChanged = base['customerPhoneChanged']
276
- this.secretQuestionCode = base['secretQuestionCode']
277
- this.secretQuestionAnswer = base['secretQuestionAnswer']
278
- this.virtualAuthenticationKeyPresenceIndicator = base['virtualAuthenticationKeyPresenceIndicator']
279
- this.virtualAuthenticationKeyData = base['virtualAuthenticationKeyData']
280
- this.itemCategoryCode = base['itemCategoryCode']
281
- this.authorizationSourcePlatform = base['authorizationSourcePlatform']
282
- SchemaValidation.validate_long(this.bmlMerchantId, false, name, 'bmlMerchantId')
283
- SchemaValidation.validate_length(this.bmlProductType, false, 1, 2, name, "bmlProductType")
284
- SchemaValidation.validate_size(this.termsAndConditions, false, -99999, 99999, name, 'termsAndConditions')
285
- SchemaValidation.validate_length(this.preapprovalNumber, false, 13, 25, name, "preapprovalNumber")
286
- SchemaValidation.validate_size(this.merchantPromotionalCode, false, -9999, 9999, name, 'merchantPromotionalCode')
287
- SchemaValidation.validate_boolean(this.customerPasswordChanged, false, name, 'customerPasswordChanged')
288
- SchemaValidation.validate_boolean(this.customerBillingAddressChanged, false, name, 'customerBillingAddressChanged')
289
- SchemaValidation.validate_boolean(this.customerEmailChanged, false, name, 'customerEmailChanged')
290
- SchemaValidation.validate_boolean(this.customerPhoneChanged, false, name, 'customerPhoneChanged')
291
- SchemaValidation.validate_length(this.secretQuestionCode, false, 1, 2, name, "secretQuestionCode")
292
- SchemaValidation.validate_length(this.secretQuestionAnswer, false, 1, 25, name, "secretQuestionAnswer")
293
- SchemaValidation.validate_length(this.virtualAuthenticationKeyPresenceIndicator, false, 1, 1, name, "virtualAuthenticationKeyPresenceIndicator")
294
- SchemaValidation.validate_length(this.virtualAuthenticationKeyData, false, 1, 4, name, "virtualAuthenticationKeyData")
295
- SchemaValidation.validate_size(this.itemCategoryCode, false, -9999, 9999, name, 'itemCategoryCode')
296
- this
297
- else
298
- nil
299
- end
300
- end
301
- end
302
-
303
- class FraudCheck
304
- include XML::Mapping
305
- text_node :authenticationValue, "authenticationValue", :default_value=>nil
306
- text_node :authenticationTransactionId, "authenticationTransactionId", :default_value=>nil
307
- text_node :customerIpAddress, "customerIpAddress", :default_value=>nil
308
- text_node :authenticatedByMerchant, "authenticatedByMerchant", :default_value=>nil
309
- def self.from_hash(hash, name='fraudCheck')
310
- base = hash[name]
311
- if(base)
312
- this = FraudCheck.new
313
- this.authenticationValue = base['authenticationValue']
314
- this.authenticationTransactionId = base['authenticationTransactionId']
315
- this.customerIpAddress = base['customerIpAddress']
316
- this.authenticatedByMerchant = base['authenticatedByMerchant']
317
- SchemaValidation.validate_length(this.authenticationValue, false, 1, 32, name, "authenticationValue")
318
- SchemaValidation.validate_length(this.authenticationTransactionId, false, 1, 28, name, "authenticationTransactionId")
319
- SchemaValidation.validate_regex(this.customerIpAddress, false, /\A(\d{1,3}.){3}\d{1,3}\Z/, name, 'customerIpAddress')
320
- SchemaValidation.validate_boolean(this.authenticatedByMerchant, false, name, 'authenticatedByMerchant')
321
- this
322
- else
323
- nil
324
- end
325
- end
326
- end
327
-
328
- class FraudResult
329
- include XML::Mapping
330
- text_node :avsResult, "avsResult", :default_value=>nil
331
- text_node :cardValidationResult, "cardValidationResult", :default_value=>nil
332
- text_node :authenticationResult, "authenticationResult", :default_value=>nil
333
- text_node :advancedAVSResult, "advancedAVSResult", :default_value=>nil
334
- def self.from_hash(hash, name='fraudResult')
335
- base = hash[name]
336
- if(base)
337
- this = FraudResult.new
338
- this.avsResult = base['avsResult']
339
- this.cardValidationResult = base['cardValidationResult']
340
- this.authenticationResult = base['authenticationResult']
341
- this.advancedAVSResult = base['advancedAVSResult']
342
- SchemaValidation.validate_length(this.avsResult, false, 1, 2, name, "avsResult")
343
- SchemaValidation.validate_length(this.authenticationResult, false, 1, 1, name, "authenticationResult")
344
- SchemaValidation.validate_length(this.advancedAVSResult, false, 1, 3, name, "advancedAVSResult")
345
- this
346
- else
347
- nil
348
- end
349
- end
350
- end
351
-
352
- class AuthInformation
353
- include XML::Mapping
354
- text_node :authDate, "authDate", :default_value=>nil
355
- text_node :authCode, "authCode", :default_value=>nil
356
- object_node :fraudResult, "fraudResult", :class=>FraudResult, :default_value=>nil
357
- text_node :authAmount, "authAmount", :default_value=>nil
358
- def self.from_hash(hash, name='authInformation')
359
- base = hash[name]
360
- if(base)
361
- this = AuthInformation.new
362
- this.authDate = base['authDate']
363
- this.authCode = base['authCode']
364
- this.fraudResult = FraudResult.from_hash(base)
365
- this.authAmount = base['authAmount']
366
- SchemaValidation.validate_date(this.authDate, false, name, 'authDate')
367
- SchemaValidation.validate_length(this.authCode, false, 1, 6, name, "authCode")
368
- SchemaValidation.validate_size(this.authAmount, false, -999999999999, 999999999999, name, 'authAmount')
369
- this
370
- else
371
- nil
372
- end
373
- end
374
- end
375
-
376
- class HealthcareAmounts
377
- include XML::Mapping
378
- text_node :totalHealthcareAmount, "totalHealthcareAmount", :default_value=>nil
379
- text_node :rxAmount, "RxAmount", :default_value=>nil
380
- text_node :visionAmount, "visionAmount", :default_value=>nil
381
- text_node :clinicOtherAmount, "clinicOtherAmount", :default_value=>nil
382
- text_node :dentalAmount, "dentalAmount", :default_value=>nil
383
- def self.from_hash(hash, name='healthcareAmounts')
384
- base = hash[name]
385
- if(base)
386
- this = HealthcareAmounts.new
387
- this.totalHealthcareAmount = base['totalHealthcareAmount']
388
- this.rxAmount = base['RxAmount']
389
- this.visionAmount = base['visionAmount']
390
- this.clinicOtherAmount = base['clinicOtherAmount']
391
- this.dentalAmount = base['dentalAmount']
392
- SchemaValidation.validate_size(this.totalHealthcareAmount, true, -999999999999, 999999999999, name, 'totalHealthcareAmount')
393
- SchemaValidation.validate_size(this.rxAmount, false, -999999999999, 999999999999, name, 'RxAmount')
394
- SchemaValidation.validate_size(this.visionAmount, false, -999999999999, 999999999999, name, 'visionAmount')
395
- SchemaValidation.validate_size(this.clinicOtherAmount, false, -999999999999, 999999999999, name, 'clinicOtherAmount')
396
- SchemaValidation.validate_size(this.dentalAmount, false, -999999999999, 999999999999, name, 'dentalAmount')
397
- this
398
- else
399
- nil
400
- end
401
- end
402
- end
403
-
404
- class HealthcareIIAS
405
- include XML::Mapping
406
- object_node :healthcareAmounts, "healthcareAmounts", :class=>HealthcareAmounts, :default_value=>nil
407
- text_node :iiasFlag, "IIASFlag", :default_value=>nil
408
- def self.from_hash(hash, name='healthcareIIAS')
409
- base = hash[name]
410
- if(base)
411
- this = HealthcareIIAS.new
412
- this.healthcareAmounts = HealthcareAmounts.from_hash(base)
413
- this.iiasFlag = base['IIASFlag']
414
- SchemaValidation.validate_enum(this.iiasFlag, true, ['Y'], name, 'IIASFlag')
415
- this
416
- else
417
- nil
418
- end
419
- end
420
- end
421
-
422
- class Pos
423
- include XML::Mapping
424
- text_node :capability, "capability", :default_value=>nil
425
- text_node :entryMode, "entryMode", :default_value=>nil
426
- text_node :cardholderId, "cardholderId", :default_value=>nil
427
- text_node :terminalId, "terminalId", :default_value=>nil
428
- def self.from_hash(hash, name='pos')
429
- base = hash[name]
430
- if(base)
431
- this = Pos.new
432
- this.capability = base['capability']
433
- this.entryMode = base['entryMode']
434
- this.cardholderId = base['cardholderId']
435
- this.terminalId = base['terminalId']
436
- SchemaValidation.validate_enum(this.capability, true, ['notused','magstripe','keyedonly'], name, 'capability')
437
- SchemaValidation.validate_enum(this.entryMode, true, ['notused','keyed','track1','track2','completeread'], name, 'entryMode')
438
- SchemaValidation.validate_enum(this.cardholderId, true, ['signature','pin','nopin','directmarket'], name, 'cardholderId')
439
- this
440
- else
441
- nil
442
- end
443
- end
444
- end
445
-
446
- class DetailTax
447
- include XML::Mapping
448
- text_node :taxIncludedInTotal, "taxIncludedInTotal", :default_value=>nil
449
- text_node :taxAmount, "taxAmount", :default_value=>nil
450
- text_node :taxRate, "taxRate", :default_value=>nil
451
- text_node :taxTypeIdentifier, "taxTypeIdentifier", :default_value=>nil
452
- text_node :cardAcceptorTaxId, "cardAcceptorTaxId", :default_value=>nil
453
- def self.from_hash(hash, index=0, name='detailTax')
454
- base = hash[name][index]
455
- if(base)
456
- this = DetailTax.new
457
- this.taxIncludedInTotal = base['taxIncludedInTotal']
458
- this.taxAmount = base['taxAmount']
459
- this.taxRate = base['taxRate']
460
- this.taxTypeIdentifier = base['taxTypeIdentifier']
461
- this.cardAcceptorTaxId = base['cardAcceptorTaxId']
462
- SchemaValidation.validate_boolean(this.taxIncludedInTotal, false, name, 'taxIncludedInTotal')
463
- SchemaValidation.validate_size(this.taxAmount, true, -999999999999, 999999999999, name, 'taxAmount')
464
- SchemaValidation.validate_regex(this.taxRate, false, /\A(\+|\-)?\d*\.?\d*\Z/, name, 'taxRate')
465
- SchemaValidation.validate_enum(this.taxTypeIdentifier, false, ['00','01','02','03','04','05','06','10','11','12','13','14','20','21','22'], name, 'taxTypeIdentifier')
466
- SchemaValidation.validate_length(this.cardAcceptorTaxId, false, 1, 20, name, 'cardAcceptorTaxId')
467
- this
468
- else
469
- nil
470
- end
471
- end
472
- end
473
-
474
- class LineItemData
475
- include XML::Mapping
476
- text_node :itemSequenceNumber, "itemSequenceNumber", :default_value=>nil
477
- text_node :itemDescription, "itemDescription", :default_value=>nil
478
- text_node :productCode, "productCode", :default_value=>nil
479
- text_node :quantity, "quantity", :default_value=>nil
480
- text_node :unitOfMeasure, "unitOfMeasure", :default_value=>nil
481
- text_node :taxAmount, "taxAmount", :default_value=>nil
482
- text_node :lineItemTotal, "lineItemTotal", :default_value=>nil
483
- text_node :lineItemTotalWithTax, "lineItemTotalWithTax", :default_value=>nil
484
- text_node :itemDiscountAmount, "itemDiscountAmount", :default_value=>nil
485
- text_node :commodityCode, "commodityCode", :default_value=>nil
486
- text_node :unitCost, "unitCost", :default_value=>nil
487
- array_node :detailTax, "", "detailTax", :class=>DetailTax, :default_value=>[]
488
- def self.from_hash(hash, index=0, name='lineItemData')
489
- base = hash[name][index]
490
- if(base)
491
- this = LineItemData.new
492
- this.itemSequenceNumber = base['itemSequenceNumber']
493
- this.itemDescription = base['itemDescription']
494
- this.productCode = base['productCode']
495
- this.quantity = base['quantity']
496
- this.unitOfMeasure = base['unitOfMeasure']
497
- this.taxAmount = base['taxAmount']
498
- this.lineItemTotal = base['lineItemTotal']
499
- this.lineItemTotalWithTax = base['lineItemTotalWithTax']
500
- this.itemDiscountAmount = base['itemDiscountAmount']
501
- this.commodityCode = base['commodityCode']
502
- this.unitCost = base['unitCost']
503
- if(base['detailTax'])
504
- base['detailTax'].each_index {|index| this.detailTax << DetailTax.from_hash(base,index)}
505
- end
506
- SchemaValidation.validate_size(this.itemSequenceNumber, false, 1, 99, name, 'itemSequenceNumber')
507
- SchemaValidation.validate_length(this.itemDescription, true, 1, 26, name, 'itemDescription')
508
- SchemaValidation.validate_length(this.productCode, false, 1, 12, name, 'productCode')
509
- SchemaValidation.validate_regex(this.quantity, false, /\A(\+|\-)?\d*\.?\d*\Z/, name, 'quantity')
510
- SchemaValidation.validate_length(this.unitOfMeasure, false, 1, 12, name, 'unitOfMeasure')
511
- SchemaValidation.validate_size(this.taxAmount, false, -999999999999, 999999999999, name, 'taxAmount')
512
- SchemaValidation.validate_size(this.lineItemTotal, false, -999999999999, 999999999999, name, 'lineItemTotal')
513
- SchemaValidation.validate_size(this.lineItemTotalWithTax, false, -999999999999, 999999999999, name, 'lineItemTotalWithTax')
514
- SchemaValidation.validate_size(this.itemDiscountAmount, false, -999999999999, 999999999999, name, 'itemDiscountAmount')
515
- SchemaValidation.validate_length(this.commodityCode, false, 1, 12, name, 'commodityCode')
516
- SchemaValidation.validate_regex(this.unitCost, false, /\A(\+|\-)?\d*\.?\d*\Z/, name, 'unitCost')
517
- this
518
- else
519
- nil
520
- end
521
- end
522
- end
523
-
524
- class EnhancedData
525
- include XML::Mapping
526
- text_node :customerReference, "customerReference", :default_value=>nil
527
- text_node :salesTax, "salesTax", :default_value=>nil
528
- text_node :deliveryType, "deliveryType", :default_value=>nil
529
- text_node :taxExempt, "taxExempt", :default_value=>nil
530
- text_node :discountAmount, "discountAmount", :default_value=>nil
531
- text_node :shippingAmount, "shippingAmount", :default_value=>nil
532
- text_node :dutyAmount, "dutyAmount", :default_value=>nil
533
- text_node :shipFromPostalCode, "shipFromPostalCode", :default_value=>nil
534
- text_node :destinationPostalCode, "destinationPostalCode", :default_value=>nil
535
- text_node :destinationCountryCode, "destinationCountryCode", :default_value=>nil
536
- text_node :invoiceReferenceNumber, "invoiceReferenceNumber", :default_value=>nil
537
- text_node :orderDate, "orderDate", :default_value=>nil
538
- array_node :detailTax, "", "detailTax", :class=>DetailTax, :default_value=>[]
539
- array_node :lineItemData, "", "lineItemData", :class=>LineItemData, :default_value=>[]
540
- def self.from_hash(hash, name='enhancedData')
541
- base = hash[name]
542
- if(base)
543
- this = EnhancedData.new
544
- this.customerReference = base['customerReference']
545
- this.salesTax = base['salesTax']
546
- this.deliveryType = base['deliveryType']
547
- this.taxExempt = base['taxExempt']
548
- this.discountAmount = base['discountAmount']
549
- this.shippingAmount = base['shippingAmount']
550
- this.dutyAmount = base['dutyAmount']
551
- this.shipFromPostalCode = base['shipFromPostalCode']
552
- this.destinationPostalCode = base['destinationPostalCode']
553
- this.destinationCountryCode = base['destinationCountryCode']
554
- this.invoiceReferenceNumber = base['invoiceReferenceNumber']
555
- this.orderDate = base['orderDate']
556
- if(base['detailTax'])
557
- base['detailTax'].each_index {|index| this.detailTax << DetailTax.from_hash(base,index)}
558
- end
559
- if(base['lineItemData'])
560
- base['lineItemData'].each_index {|index| this.lineItemData << LineItemData.from_hash(base,index)}
561
- end
562
- SchemaValidation.validate_length(this.customerReference, false, 1, 17, name, 'customerReference')
563
- SchemaValidation.validate_size(this.salesTax, false, -999999999999, 999999999999, name, 'salesTax')
564
- SchemaValidation.validate_enum(this.deliveryType, false, ['CNC','DIG','PHY','SVC','TBD'], name, 'deliveryType')
565
- SchemaValidation.validate_boolean(this.taxExempt, false, name, 'taxExempt')
566
- SchemaValidation.validate_size(this.discountAmount, false, -999999999999, 999999999999, name, 'discountAmount')
567
- SchemaValidation.validate_size(this.shippingAmount, false, -999999999999, 999999999999, name, 'shippingAmount')
568
- SchemaValidation.validate_size(this.dutyAmount, false, -999999999999, 999999999999, name, 'dutyAmount')
569
- SchemaValidation.validate_length(this.shipFromPostalCode, false, 1, 20, name, 'shipFromPostalCode')
570
- SchemaValidation.validate_length(this.destinationPostalCode, false, 1, 20, name, 'destinationPostalCode')
571
- SchemaValidation.validate_country(this.destinationCountryCode, name, 'destinationCountryCode')
572
- SchemaValidation.validate_length(this.invoiceReferenceNumber, false, 1, 15, name, 'invoiceReferenceNumber')
573
- SchemaValidation.validate_date(this.orderDate, false, name, 'orderDate')
574
- this
575
- else
576
- nil
577
- end
578
- end
579
- end
580
-
581
- class AmexAggregatorData
582
- include XML::Mapping
583
- text_node :sellerId, "sellerId", :default_value=>nil
584
- text_node :sellerMerchantCategoryCode, "sellerMerchantCategoryCode", :default_value=>nil
585
- def self.from_hash(hash, name='amexAggregatorData')
586
- base = hash[name]
587
- if(base)
588
- this = AmexAggregatorData.new
589
- this.sellerId = base['sellerId']
590
- this.sellerMerchantCategoryCode = base['sellerMerchantCategoryCode']
591
- SchemaValidation.validate_length(this.sellerId, false, 1, 16, name, 'sellerId')
592
- SchemaValidation.validate_length(this.sellerMerchantCategoryCode, false, 1, 4, name, 'sellerMerchantCategoryCode')
593
- this
594
- else
595
- nil
596
- end
597
- end
598
- end
599
-
600
- class Card
601
- include XML::Mapping
602
- text_node :mop, "type", :default_value=>nil
603
- text_node :track, "track", :default_value=>nil
604
- text_node :number, "number", :default_value=>nil
605
- text_node :expDate, "expDate", :default_value=>nil
606
- text_node :cardValidationNum, "cardValidationNum", :default_value=>nil
607
-
608
- def self.from_hash(hash, name='card')
609
- base = hash[name]
610
- if(base)
611
- this = Card.new
612
- this.mop = base['type']
613
- this.track = base['track']
614
- this.number = base['number']
615
- this.expDate = base['expDate']
616
- this.cardValidationNum = base['cardValidationNum']
617
- SchemaValidation.validate_enum(this.mop, false, ['','MC','VI','AX','DC','DI','PP','JC','BL','EC','GC'], name, 'type')
618
- SchemaValidation.validate_length(this.track, false, 1, 256, name, 'track')
619
- SchemaValidation.validate_length(this.number, false, 13, 25, name, 'number')
620
- SchemaValidation.validate_length(this.expDate, false, 4, 4, name, 'expDate')
621
- SchemaValidation.validate_length(this.cardValidationNum, false, 1, 4, name, 'cardValidationNum')
622
- this
623
- else
624
- nil
625
- end
626
- end
627
- end
628
-
629
- class CardToken
630
- include XML::Mapping
631
- text_node :litleToken, "litleToken", :default_value=>nil
632
- text_node :expDate, "expDate", :default_value=>nil
633
- text_node :cardValidationNum, "cardValidationNum", :default_value=>nil
634
- text_node :mop, "type", :default_value=>nil
635
- def self.from_hash(hash, name='cardToken')
636
- base = hash[name]
637
- if(base)
638
- this = CardToken.new
639
- this.litleToken = base['litleToken']
640
- this.expDate = base['expDate']
641
- this.cardValidationNum = base['cardValidationNum']
642
- this.mop = base['type']
643
- SchemaValidation.validate_length(this.litleToken, true, 13, 25, name, 'litleToken')
644
- SchemaValidation.validate_length(this.expDate, false, 4, 4, name, 'expDate')
645
- SchemaValidation.validate_length(this.cardValidationNum, false, 1, 4, name, 'cardValidationNum')
646
- SchemaValidation.validate_enum(this.mop, false, ['','MC','VI','AX','DC','DI','PP','JC','BL','EC'], name, 'type')
647
- this
648
- else
649
- nil
650
- end
651
- end
652
- end
653
-
654
- class CardPaypage
655
- include XML::Mapping
656
- text_node :paypageRegistrationId, "paypageRegistrationId", :default_value=>nil
657
- text_node :expDate, "expDate", :default_value=>nil
658
- text_node :cardValidationNum, "cardValidationNum", :default_value=>nil
659
- text_node :mop, "type", :default_value=>nil
660
- def self.from_hash(hash, name='cardPaypage')
661
- base = hash[name]
662
- if(base)
663
- this = CardPaypage.new
664
- this.paypageRegistrationId = base['paypageRegistrationId']
665
- this.expDate = base['expDate']
666
- this.cardValidationNum = base['cardValidationNum']
667
- this.mop = base['type']
668
- SchemaValidation.validate_length(this.paypageRegistrationId, true, 1, 512, name, 'paypageRegistrationId')
669
- SchemaValidation.validate_length(this.expDate, false, 4, 4, name, 'expDate')
670
- SchemaValidation.validate_length(this.cardValidationNum, false, 1, 4, name, 'cardValidationNum')
671
- SchemaValidation.validate_enum(this.mop, false, ['','MC','VI','AX','DC','DI','PP','JC','BL','EC'], name, 'type')
672
- this
673
- else
674
- nil
675
- end
676
- end
677
- end
678
-
679
- class PayPal
680
- include XML::Mapping
681
- text_node :payerId, "payerId", :default_value=>nil
682
- text_node :token, "token", :default_value=>nil
683
- text_node :transactionId, "transactionId", :default_value=>nil
684
- def self.from_hash(hash, name='payPal')
685
- base = hash[name]
686
- if(base)
687
- this = PayPal.new
688
- this.payerId = base['payerId']
689
- this.token = base['token']
690
- this.transactionId = base['transactionId']
691
- SchemaValidation.validate_required(this.payerId, true, name, 'payerId')
692
- SchemaValidation.validate_required(this.transactionId, true, name, 'transactionId')
693
- this
694
- else
695
- nil
696
- end
697
- end
698
- end
699
-
700
- class CreditPayPal
701
- include XML::Mapping
702
- text_node :payerId, "payerId", :default_value=>nil
703
- text_node :payerEmail, "payerEmail", :default_value=>nil
704
- def self.from_hash(hash, name='creditPaypal')
705
- base = hash[name]
706
- if(base)
707
- this = CreditPayPal.new
708
- this.payerId = base['payerId']
709
- this.payerEmail = base['payerEmail']
710
- SchemaValidation.validate_length(this.payerId, false, 1, 17, name, 'payerId')
711
- SchemaValidation.validate_length(this.payerEmail, false, 1, 127, name, 'payerEmail')
712
- this
713
- else
714
- nil
715
- end
716
- end
717
- end
718
-
719
- class CustomBilling
720
- include XML::Mapping
721
- optional_choice_node :if, 'phone', :then, (text_node :phone, "phone", :default_value=>nil),
722
- :elsif, 'city', :then, (text_node :city, "city", :default_value=>nil),
723
- :elsif, 'url', :then, (text_node :url, "url", :default_value=>nil)
724
- text_node :descriptor, "descriptor", :default_value=>nil
725
- def self.from_hash(hash, name='customBilling')
726
- base = hash[name]
727
- if(base)
728
- this = CustomBilling.new
729
- this.phone = base['phone']
730
- this.city = base['city']
731
- this.url = base['url']
732
- this.descriptor = base['descriptor']
733
- SchemaValidation.validate_regex(this.phone, false, /\A\d{1,13}\Z/, name, 'phone')
734
- SchemaValidation.validate_length(this.city, false, 1, 35, name, 'city')
735
- SchemaValidation.validate_regex(this.url, false, /\A([A-Z,a-z,0-9,\/,\-,_,.]){1,13}\Z/, name, 'url')
736
- SchemaValidation.validate_regex(this.descriptor, false, /\A([A-Z,a-z,0-9, ,\*,,,\-,',#,&,.]){4,25}\Z/, name, 'descriptor')
737
- this
738
- else
739
- nil
740
- end
741
- end
742
- end
743
-
744
- class ProcessingInstructions
745
- include XML::Mapping
746
- text_node :bypassVelocityCheck, "bypassVelocityCheck", :default_value=>nil
747
- def self.from_hash(hash, name='processingInstructions')
748
- base = hash[name]
749
- if(base)
750
- this = ProcessingInstructions.new
751
- this.bypassVelocityCheck = base['bypassVelocityCheck']
752
- SchemaValidation.validate_boolean(this.bypassVelocityCheck, false, name, 'bypassVelocityCheck')
753
- this
754
- else
755
- nil
756
- end
757
- end
758
- end
759
-
760
- class EcheckForToken
761
- include XML::Mapping
762
- text_node :accNum, "accNum", :default_value=>nil
763
- text_node :routingNum, "routingNum", :default_value=>nil
764
- def self.from_hash(hash, name='echeckForToken')
765
- base = hash[name]
766
- if(base)
767
- this = EcheckForToken.new
768
- this.accNum = base['accNum']
769
- this.routingNum = base['routingNum']
770
- SchemaValidation.validate_length(this.accNum, true, 1, 17, name, 'accNum')
771
- SchemaValidation.validate_length(this.routingNum, true, 9, 9, name, 'routingNum')
772
- this
773
- else
774
- nil
775
- end
776
- end
777
- end
778
-
779
- class Filtering
780
- include XML::Mapping
781
- text_node :prepaid, "prepaid", :default_value=>nil
782
- text_node :international, "international", :default_value=>nil
783
- text_node :chargeback, "chargeback", :default_value=>nil
784
- def self.from_hash(hash, name='filtering')
785
- base = hash[name]
786
- if(base)
787
- this = Filtering.new
788
- this.prepaid = base['prepaid']
789
- this.international = base['international']
790
- this.chargeback = base['chargeback']
791
- SchemaValidation.validate_boolean(this.prepaid, false, name, 'prepaid')
792
- SchemaValidation.validate_boolean(this.international, false, name, 'international')
793
- SchemaValidation.validate_boolean(this.chargeback, false, name, 'chargeback')
794
- this
795
- else
796
- nil
797
- end
798
- end
799
- end
800
-
801
- class MerchantData
802
- include XML::Mapping
803
- text_node :campaign, "campaign", :default_value=>nil
804
- text_node :affiliate, "affiliate", :default_value=>nil
805
- text_node :merchantGroupingId, "merchantGroupingId", :default_value=>nil
806
- def self.from_hash(hash, name='merchantData')
807
- base = hash[name]
808
- if(base)
809
- this = MerchantData.new
810
- this.campaign = base['campaign']
811
- this.affiliate = base['affiliate']
812
- this.merchantGroupingId = base['merchantGroupingId']
813
- SchemaValidation.validate_length(this.campaign, false, 1, 25, name, 'campaign')
814
- SchemaValidation.validate_length(this.affiliate, false, 1, 25, name, 'affiliate')
815
- SchemaValidation.validate_length(this.merchantGroupingId, false, 1, 25, name, 'merchantGroupingId')
816
- this
817
- else
818
- nil
819
- end
820
- end
821
- end
822
-
823
- class Echeck
824
- include XML::Mapping
825
- text_node :accType, "accType", :default_value=>nil
826
- text_node :accNum, "accNum", :default_value=>nil
827
- text_node :routingNum, "routingNum", :default_value=>nil
828
- text_node :checkNum, "checkNum", :default_value=>nil
829
- def self.from_hash(hash, name='echeck')
830
- base = hash[name]
831
- if(base)
832
- this = Echeck.new
833
- this.accType = base['accType']
834
- this.accNum = base['accNum']
835
- this.routingNum = base['routingNum']
836
- this.checkNum = base['checkNum']
837
- SchemaValidation.validate_enum(this.accType, true, ['Checking','Savings','Corporate','Corp Savings'], name, 'accType')
838
- SchemaValidation.validate_length(this.accNum, true, 1, 17, name, 'accNum')
839
- SchemaValidation.validate_length(this.routingNum, true, 9, 9, name, 'routingNum')
840
- SchemaValidation.validate_length(this.checkNum, false, 1, 15, name, 'checkNum')
841
- this
842
- else
843
- nil
844
- end
845
- end
846
- end
847
-
848
- class EcheckToken
849
- include XML::Mapping
850
- text_node :litleToken, "litleToken", :default_value=>nil
851
- text_node :routingNum, "routingNum", :default_value=>nil
852
- text_node :accType, "accType", :default_value=>nil
853
- text_node :checkNum, "checkNum", :default_value=>nil
854
- def self.from_hash(hash, name='echeckToken')
855
- base = hash[name]
856
- if(base)
857
- this = EcheckToken.new
858
- this.litleToken = base['litleToken']
859
- this.routingNum = base['routingNum']
860
- this.accType = base['accType']
861
- this.checkNum = base['checkNum']
862
- SchemaValidation.validate_length(this.litleToken, true, 13, 25, name, 'litleToken')
863
- SchemaValidation.validate_length(this.routingNum, true, 9, 9, name, 'routingNum')
864
- SchemaValidation.validate_enum(this.accType, true, ['Checking','Savings','Corporate','Corp Savings'], name, 'accType')
865
- SchemaValidation.validate_length(this.checkNum, false, 1, 15, name, 'checkNum')
866
- this
867
- else
868
- nil
869
- end
870
- end
871
- end
872
-
873
- class RecyclingRequest
874
- include XML::Mapping
875
- text_node :recycleBy, "recycleBy", :default_value=>nil
876
- text_node :recycleId, "recycleId", :default_value=>nil
877
- def self.from_hash(hash, name='recyclingRequest')
878
- base = hash[name]
879
- if(base)
880
- this = RecyclingRequest.new
881
- this.recycleBy = base['recycleBy']
882
- this.recycleId = base['recycleId']
883
- SchemaValidation.validate_enum(this.recycleBy, false, ['Merchant','Litle','None'], name, 'recycleBy')
884
- SchemaValidation.validate_length(this.recycleId, false, 1, 25, name, 'recycleId')
885
- this
886
- else
887
- nil
888
- end
889
- end
890
- end
891
-
892
- class Subscription
893
- include XML::Mapping
894
- text_node :planCode, "planCode", :default_value=>nil
895
- text_node :numberOfPayments, "numberOfPayments", :default_value=>nil
896
- text_node :startDate,"startDate",:default_value=>nil
897
- text_node :amount,"amount",:default_value=>nil
898
-
899
- def self.from_hash(hash, name="subscription")
900
- base = hash[name]
901
- if(base)
902
- this = Subscription.new
903
- this.planCode = base['planCode']
904
- this.numberOfPayments = base['numberOfPayments']
905
- this.startDate = base['startDate']
906
- this.amount = base['amount']
907
- SchemaValidation.validate_length(this.planCode, true, 1, 25, name, 'planCode')
908
- SchemaValidation.validate_size(this.numberOfPayments, false, 1, 99, name, 'numberOfPayments')
909
- SchemaValidation.validate_date(this.startDate,false,name,'startDate')
910
- SchemaValidation.validate_size(this.amount,false,0,999999999999,name,'amount')
911
- this
912
- end
913
- end
914
- end
915
-
916
- class RecurringRequest
917
- include XML::Mapping
918
- object_node :subscription, "subscription", :class=>Subscription, :default_value=>nil
919
- def self.from_hash(hash, name="recurringRequest")
920
- base = hash[name]
921
- if(base)
922
- this = RecurringRequest.new
923
- this.subscription = Subscription.from_hash(base)
924
- this
925
- end
926
- end
927
- end
928
-
929
- class LitleInternalRecurringRequest
930
- include XML::Mapping
931
- text_node :subscriptionId, "subscriptionId", :default_value=>nil
932
- text_node :recurringTxnId, "recurringTxnId", :default_value=>nil
933
- def self.from_hash(hash, name="litleInternalRecurringRequest")
934
- base = hash[name]
935
- if(base)
936
- this = LitleInternalRecurringRequest.new
937
- this.subscriptionId = base['subscriptionId']
938
- this.recurringTxnId = base['recurringTxnId']
939
- SchemaValidation.validate_length(this.subscriptionId, true, 19, 19, name, "subscriptionId")
940
- SchemaValidation.validate_length(this.recurringTxnId, true, 19, 19, name, "recurringTxnId")
941
- this
942
- end
943
- end
944
- end
945
-
946
- class Authorization
947
- include XML::Mapping
948
- root_element_name "authorization"
949
- text_node :reportGroup, "@reportGroup", :default_value=>nil
950
- text_node :transactionId, "@id", :default_value=>nil
951
- text_node :customerId, "@customerId", :default_value=>nil
952
-
953
- text_node :litleTxnId, "litleTxnId", :default_value=>nil
954
- text_node :orderId, "orderId", :default_value=>nil
955
- text_node :amount, "amount", :default_value=>nil
956
- text_node :surchargeAmount, "surchargeAmount", :default_value=>nil
957
- text_node :orderSource, "orderSource", :default_value=>nil
958
- object_node :customerInfo, "customerInfo", :class=>CustomerInfo, :default_value=>nil
959
- object_node :billToAddress, "billToAddress", :class=>Contact, :default_value=>nil
960
- object_node :shipToAddress, "shipToAddress", :class=>Contact, :default_value=>nil
961
- optional_choice_node :if, 'card', :then, (object_node :card, "card", :class=>Card),
962
- :elsif, 'paypal', :then, (object_node :paypal, "paypal", :class=>PayPal),
963
- :elsif, 'token', :then, (object_node :token, "token", :class=>CardToken),
964
- :elsif, 'paypage', :then, (object_node :paypage, "paypage", :class=>CardPaypage)
965
- object_node :billMeLaterRequest, "billMeLaterRequest", :class=>BillMeLaterRequest, :default_value=>nil
966
- object_node :cardholderAuthentication, "cardholderAuthentication", :class=>FraudCheck, :default_value=>nil
967
- object_node :processingInstructions, "processingInstructions", :class=>ProcessingInstructions, :default_value=>nil
968
- object_node :pos, "pos", :class=>Pos, :default_value=>nil
969
- object_node :customBilling, "customBilling", :class=>CustomBilling, :default_value=>nil
970
- text_node :taxType, "taxType", :default_value=>nil
971
- object_node :enhancedData, "enhancedData", :class=>EnhancedData, :default_value=>nil
972
- object_node :amexAggregatorData, "amexAggregatorData", :class=>AmexAggregatorData, :default_value=>nil
973
- text_node :allowPartialAuth, "allowPartialAuth", :default_value=>nil
974
- object_node :healthcareIIAS, "healthcareIIAS", :class=>HealthcareIIAS, :default_value=>nil
975
- object_node :filtering, "filtering", :class=>Filtering, :default_value=>nil
976
- object_node :merchantData, "merchantData", :class=>MerchantData, :default_value=>nil
977
- object_node :recyclingRequest, "recyclingRequest", :class=>RecyclingRequest, :default_value=>nil
978
- text_node :fraudFilterOverride, "fraudFilterOverride", :default_value=>nil
979
- object_node :recurringRequest,"recurringRequest", class=>RecurringRequest, :default_value=>nil
980
- text_node :debtRepayment,"debtRepayment", :default_value=>nil
981
- end
982
-
983
- class Sale
984
- include XML::Mapping
985
- root_element_name "sale"
986
- text_node :reportGroup, "@reportGroup", :default_value=>nil
987
- text_node :transactionId, "@id", :default_value=>nil
988
- text_node :customerId, "@customerId", :default_value=>nil
989
-
990
- text_node :litleTxnId, "litleTxnId", :default_value=>nil
991
- text_node :orderId, "orderId", :default_value=>nil
992
- text_node :amount, "amount", :default_value=>nil
993
- text_node :surchargeAmount, "surchargeAmount", :default_value=>nil
994
- text_node :orderSource, "orderSource", :default_value=>nil
995
- object_node :customerInfo, "customerInfo", :class=>CustomerInfo, :default_value=>nil
996
- object_node :billToAddress, "billToAddress", :class=>Contact, :default_value=>nil
997
- object_node :shipToAddress, "shipToAddress", :class=>Contact, :default_value=>nil
998
- optional_choice_node :if, 'card', :then, (object_node :card, "card", :class=>Card),
999
- :elsif, 'paypal', :then, (object_node :paypal, "paypal", :class=>PayPal),
1000
- :elsif, 'token', :then, (object_node :token, "token", :class=>CardToken),
1001
- :elsif, 'paypage', :then, (object_node :paypage, "paypage", :class=>CardPaypage)
1002
- object_node :billMeLaterRequest, "billMeLaterRequest", :class=>BillMeLaterRequest, :default_value=>nil
1003
- optional_choice_node :if, 'fraudCheck', :then, (object_node :fraudCheck, "fraudCheck", :class=>FraudCheck, :default_value=>nil),
1004
- :elsif, 'cardholderAuthentication', :then, (object_node :cardholderAuthentication, "cardholderAuthentication", :class=>FraudCheck, :default_value=>nil)
1005
- object_node :customBilling, "customBilling", :class=>CustomBilling, :default_value=>nil
1006
- text_node :taxType, "taxType", :default_value=>nil
1007
- object_node :enhancedData, "enhancedData", :class=>EnhancedData, :default_value=>nil
1008
- object_node :processingInstructions, "processingInstructions", :class=>ProcessingInstructions, :default_value=>nil
1009
- object_node :pos, "pos", :class=>Pos, :default_value=>nil
1010
- text_node :payPalOrderComplete, "payPalOrderComplete", :default_value=>nil
1011
- text_node :payPalNotes, "payPalNotes", :default_value=>nil
1012
- object_node :amexAggregatorData, "amexAggregatorData", :class=>AmexAggregatorData, :default_value=>nil
1013
- text_node :allowPartialAuth, "allowPartialAuth", :default_value=>nil
1014
- object_node :healthcareIIAS, "healthcareIIAS", :class=>HealthcareIIAS, :default_value=>nil
1015
- object_node :filtering, "filtering", :class=>Filtering, :default_value=>nil
1016
- object_node :merchantData, "merchantData", :class=>MerchantData, :default_value=>nil
1017
- object_node :recyclingRequest, "recyclingRequest", :class=>RecyclingRequest, :default_value=>nil
1018
- text_node :fraudFilterOverride, "fraudFilterOverride", :default_value=>nil
1019
- object_node :recurringRequest, "recurringRequest", :class=>RecurringRequest, :default_value=>nil
1020
- object_node :litleInternalRecurringRequest, "litleInternalRecurringRequest", :class=>LitleInternalRecurringRequest, :default_value=>nil
1021
- text_node :debtRepayment,"debtRepayment", :default_value=>nil
1022
- end
1023
-
1024
- class Credit
1025
- include XML::Mapping
1026
- root_element_name "credit"
1027
- text_node :reportGroup, "@reportGroup", :default_value=>nil
1028
- text_node :transactionId, "@id", :default_value=>nil
1029
- text_node :customerId, "@customerId", :default_value=>nil
1030
-
1031
- text_node :litleTxnId, "litleTxnId", :default_value=>nil
1032
- text_node :orderId, "orderId", :default_value=>nil
1033
- text_node :amount, "amount", :default_value=>nil
1034
- text_node :surchargeAmount, "surchargeAmount", :default_value=>nil
1035
- text_node :orderSource, "orderSource", :default_value=>nil
1036
- object_node :billToAddress, "billToAddress", :class=>Contact, :default_value=>nil
1037
- optional_choice_node :if, 'card', :then, (object_node :card, "card", :class=>Card),
1038
- :elsif, 'paypal', :then, (object_node :paypal, "paypal", :class=>CreditPayPal),
1039
- :elsif, 'token', :then, (object_node :token, "token", :class=>CardToken),
1040
- :elsif, 'paypage', :then, (object_node :paypage, "paypage", :class=>CardPaypage)
1041
- object_node :customBilling, "customBilling", :class=>CustomBilling, :default_value=>nil
1042
- text_node :taxType, "taxType", :default_value=>nil
1043
- object_node :billMeLaterRequest, "billMeLaterRequest", :class=>BillMeLaterRequest, :default_value=>nil
1044
- object_node :enhancedData, "enhancedData", :class=>EnhancedData, :default_value=>nil
1045
- object_node :processingInstructions, "processingInstructions", :class=>ProcessingInstructions, :default_value=>nil
1046
- object_node :pos, "pos", :class=>Pos, :default_value=>nil
1047
- object_node :amexAggregatorData, "amexAggregatorData", :class=>AmexAggregatorData, :default_value=>nil
1048
- object_node :merchantData, "merchantData", :class=>MerchantData, :default_value=>nil
1049
- text_node :payPalNotes, "payPalNotes", :default_value=>nil
1050
- text_node :actionReason, "actionReason", :default_value=>nil
1051
- end
1052
-
1053
- class RegisterTokenRequest
1054
- include XML::Mapping
1055
- root_element_name "registerTokenRequest"
1056
- text_node :reportGroup, "@reportGroup", :default_value=>nil
1057
- text_node :transactionId, "@id", :default_value=>nil
1058
- text_node :customerId, "@customerId", :default_value=>nil
1059
-
1060
- text_node :orderId, "orderId", :default_value=>nil
1061
- optional_choice_node :if, 'accountNumber', :then, (text_node :accountNumber, "accountNumber", :default_value=>nil),
1062
- :elsif, 'echeckForToken', :then, (object_node :echeckForToken, "echeckForToken", :class=>EcheckForToken),
1063
- :elsif, 'paypageRegistrationId', :then, (text_node :paypageRegistrationId, "paypageRegistrationId", :default_value=>nil)
1064
- end
1065
-
1066
- class CaptureGivenAuth
1067
- include XML::Mapping
1068
- root_element_name "captureGivenAuth"
1069
- text_node :reportGroup, "@reportGroup", :default_value=>nil
1070
- text_node :transactionId, "@id", :default_value=>nil
1071
- text_node :customerId, "@customerId", :default_value=>nil
1072
-
1073
- text_node :orderId, "orderId", :default_value=>nil
1074
- object_node :authInformation, "authInformation", :class=>AuthInformation, :default_value=>nil
1075
- text_node :amount, "amount", :default_value=>nil
1076
- text_node :surchargeAmount, "surchargeAmount", :default_value=>nil
1077
- text_node :orderSource, "orderSource", :default_value=>nil
1078
- object_node :billToAddress, "billToAddress", :class=>Contact, :default_value=>nil
1079
- object_node :shipToAddress, "shipToAddress", :class=>Contact, :default_value=>nil
1080
- optional_choice_node :if, 'card', :then, (object_node :card, "card", :class=>Card),
1081
- :elsif, 'token', :then, (object_node :token, "token", :class=>CardToken),
1082
- :elsif, 'paypage', :then, (object_node :paypage, "paypage", :class=>CardPaypage)
1083
- object_node :customBilling, "customBilling", :class=>CustomBilling, :default_value=>nil
1084
- text_node :taxType, "taxType", :default_value=>nil
1085
- object_node :billMeLaterRequest, "billMeLaterRequest", :class=>BillMeLaterRequest, :default_value=>nil
1086
- object_node :enhancedData, "enhancedData", :class=>EnhancedData, :default_value=>nil
1087
- object_node :processingInstructions, "processingInstructions", :class=>ProcessingInstructions, :default_value=>nil
1088
- object_node :pos, "pos", :class=>Pos, :default_value=>nil
1089
- object_node :amexAggregatorData, "amexAggregatorData", :class=>AmexAggregatorData, :default_value=>nil
1090
- object_node :merchantData, "merchantData", :class=>MerchantData, :default_value=>nil
1091
- text_node :debtRepayment,"debtRepayment", :default_value=>nil
1092
- end
1093
-
1094
- class ForceCapture
1095
- include XML::Mapping
1096
- root_element_name "forceCapture"
1097
- text_node :reportGroup, "@reportGroup", :default_value=>nil
1098
- text_node :transactionId, "@id", :default_value=>nil
1099
- text_node :customerId, "@customerId", :default_value=>nil
1100
-
1101
- text_node :orderId, "orderId", :default_value=>nil
1102
- text_node :amount, "amount", :default_value=>nil
1103
- text_node :surchargeAmount, "surchargeAmount", :default_value=>nil
1104
- text_node :orderSource, "orderSource", :default_value=>nil
1105
- object_node :billToAddress, "billToAddress", :class=>Contact, :default_value=>nil
1106
- optional_choice_node :if, 'card', :then, (object_node :card, "card", :class=>Card),
1107
- :elsif, 'token', :then, (object_node :token, "token", :class=>CardToken),
1108
- :elsif, 'paypage', :then, (object_node :paypage, "paypage", :class=>CardPaypage)
1109
- object_node :customBilling, "customBilling", :class=>CustomBilling, :default_value=>nil
1110
- text_node :taxType, "taxType", :default_value=>nil
1111
- object_node :enhancedData, "enhancedData", :class=>EnhancedData, :default_value=>nil
1112
- object_node :processingInstructions, "processingInstructions", :class=>ProcessingInstructions, :default_value=>nil
1113
- object_node :pos, "pos", :class=>Pos, :default_value=>nil
1114
- object_node :amexAggregatorData, "amexAggregatorData", :class=>AmexAggregatorData, :default_value=>nil
1115
- object_node :merchantData, "merchantData", :class=>MerchantData, :default_value=>nil
1116
- text_node :debtRepayment,"debtRepayment", :default_value=>nil
1117
- end
1118
-
1119
- class AuthReversal
1120
- include XML::Mapping
1121
- root_element_name "authReversal"
1122
- text_node :reportGroup, "@reportGroup", :default_value=>nil
1123
- text_node :transactionId, "@id", :default_value=>nil
1124
- text_node :customerId, "@customerId", :default_value=>nil
1125
- text_node :partial, "@partial", :default_value=>nil
1126
-
1127
- text_node :litleTxnId, "litleTxnId", :default_value=>nil
1128
- text_node :amount, "amount", :default_value=>nil
1129
- text_node :surchargeAmount, "surchargeAmount", :default_value=>nil
1130
- text_node :payPalNotes, "payPalNotes", :default_value=>nil
1131
- text_node :actionReason, "actionReason", :default_value=>nil
1132
- end
1133
-
1134
- class Capture
1135
- include XML::Mapping
1136
- root_element_name "capture"
1137
- text_node :reportGroup, "@reportGroup", :default_value=>nil
1138
- text_node :transactionId, "@id", :default_value=>nil
1139
- text_node :customerId, "@customerId", :default_value=>nil
1140
- text_node :partial, "@partial", :default_value=>nil
1141
-
1142
- text_node :litleTxnId, "litleTxnId", :default_value=>nil
1143
- text_node :amount, "amount", :default_value=>nil
1144
- text_node :surchargeAmount, "surchargeAmount", :default_value=>nil
1145
- object_node :enhancedData, "enhancedData", :class=>EnhancedData, :default_value=>nil
1146
- object_node :processingInstructions, "processingInstructions", :class=>ProcessingInstructions, :default_value=>nil
1147
- text_node :payPalOrderComplete, "payPalOrderComplete", :default_value=>nil
1148
- text_node :payPalNotes, "payPalNotes", :default_value=>nil
1149
- end
1150
-
1151
- class Void
1152
- include XML::Mapping
1153
- root_element_name "void"
1154
- text_node :reportGroup, "@reportGroup", :default_value=>nil
1155
- text_node :transactionId, "@id", :default_value=>nil
1156
- text_node :customerId, "@customerId", :default_value=>nil
1157
-
1158
- text_node :litleTxnId, "litleTxnId", :default_value=>nil
1159
- object_node :processingInstructions, "processingInstructions", :class=>ProcessingInstructions, :default_value=>nil
1160
- end
1161
-
1162
- class EcheckVoid
1163
- include XML::Mapping
1164
- root_element_name "echeckVoid"
1165
- text_node :reportGroup, "@reportGroup", :default_value=>nil
1166
- text_node :transactionId, "@id", :default_value=>nil
1167
- text_node :customerId, "@customerId", :default_value=>nil
1168
-
1169
- text_node :litleTxnId, "litleTxnId", :default_value=>nil
1170
- end
1171
-
1172
- class EcheckVerification
1173
- include XML::Mapping
1174
- root_element_name "echeckVerification"
1175
- text_node :reportGroup, "@reportGroup", :default_value=>nil
1176
- text_node :transactionId, "@id", :default_value=>nil
1177
- text_node :customerId, "@customerId", :default_value=>nil
1178
-
1179
- text_node :litleTxnId, "litleTxnId", :default_value=>nil
1180
- text_node :orderId, "orderId", :default_value=>nil
1181
- text_node :amount, "amount", :default_value=>nil
1182
- text_node :orderSource, "orderSource", :default_value=>nil
1183
- object_node :billToAddress, "billToAddress", :class=>Contact, :default_value=>nil
1184
- object_node :shipToAddress, "shipToAddress", :class=>Contact, :default_value=>nil
1185
- optional_choice_node :if, 'echeck', :then, (object_node :echeck, "echeck", :class=>Echeck),
1186
- :elsif, 'echeckToken', :then, (object_node :echeckToken, "echeckToken", :class=>EcheckToken)
1187
- object_node :merchantData, "merchantData", :class=>MerchantData, :default_value=>nil
1188
- end
1189
-
1190
- class EcheckCredit
1191
- include XML::Mapping
1192
- root_element_name "echeckCredit"
1193
- text_node :reportGroup, "@reportGroup", :default_value=>nil
1194
- text_node :transactionId, "@id", :default_value=>nil
1195
- text_node :customerId, "@customerId", :default_value=>nil
1196
-
1197
- text_node :litleTxnId, "litleTxnId", :default_value=>nil
1198
- text_node :orderId, "orderId", :default_value=>nil
1199
- text_node :amount, "amount", :default_value=>nil
1200
- text_node :orderSource, "orderSource", :default_value=>nil
1201
- object_node :billToAddress, "billToAddress", :class=>Contact, :default_value=>nil
1202
- optional_choice_node :if, 'echeck', :then, (object_node :echeck, "echeck", :class=>Echeck, :default_value=>nil),
1203
- :elsif, 'echeckToken', :then, (object_node :echeckToken, "echeckToken", :class=>EcheckToken, :default_value=>nil)
1204
- object_node :customBilling, "customBilling", :class=>CustomBilling, :default_value=>nil
1205
- object_node :merchantData, "merchantData", :class=>MerchantData, :default_value=>nil
1206
- end
1207
-
1208
- class EcheckRedeposit
1209
- include XML::Mapping
1210
- root_element_name "echeckRedeposit"
1211
- text_node :reportGroup, "@reportGroup", :default_value=>nil
1212
- text_node :transactionId, "@id", :default_value=>nil
1213
- text_node :customerId, "@customerId", :default_value=>nil
1214
-
1215
- text_node :litleTxnId, "litleTxnId", :default_value=>nil
1216
- optional_choice_node :if, 'echeck', :then, (object_node :echeck, "echeck", :class=>Echeck, :default_value=>nil),
1217
- :elsif, 'echeckToken', :then, (object_node :echeckToken, "echeckToken", :class=>EcheckToken, :default_value=>nil)
1218
- object_node :merchantData, "merchantData", :class=>MerchantData, :default_value=>nil
1219
- end
1220
-
1221
- class EcheckSale
1222
- include XML::Mapping
1223
- root_element_name "echeckSale"
1224
- text_node :reportGroup, "@reportGroup", :default_value=>nil
1225
- text_node :transactionId, "@id", :default_value=>nil
1226
- text_node :customerId, "@customerId", :default_value=>nil
1227
-
1228
- text_node :litleTxnId, "litleTxnId", :default_value=>nil
1229
- text_node :orderId, "orderId", :default_value=>nil
1230
- text_node :verify, "verify", :default_value=>nil
1231
- text_node :amount, "amount", :default_value=>nil
1232
- text_node :orderSource, "orderSource", :default_value=>nil
1233
- object_node :billToAddress, "billToAddress", :class=>Contact, :default_value=>nil
1234
- object_node :shipToAddress, "shipToAddress", :class=>Contact, :default_value=>nil
1235
- optional_choice_node :if, 'echeck', :then, (object_node :echeck, "echeck", :class=>Echeck, :default_value=>nil),
1236
- :elsif, 'echeckToken', :then, (object_node :echeckToken, "echeckToken", :class=>EcheckToken, :default_value=>nil)
1237
- object_node :customBilling, "customBilling", :class=>CustomBilling, :default_value=>nil
1238
- object_node :merchantData, "merchantData", :class=>MerchantData, :default_value=>nil
1239
- end
1240
-
1241
- class UpdateCardValidationNumOnToken
1242
- include XML::Mapping
1243
- root_element_name "updateCardValidationNumOnToken"
1244
- text_node :reportGroup, "@reportGroup", :default_value=>nil
1245
- text_node :transactionId, "@id", :default_value=>nil
1246
- text_node :customerId, "@customerId", :default_value=>nil
1247
-
1248
- text_node :orderId, "orderId", :default_value=>nil
1249
- text_node :litleToken, "litleToken", :default_value=>nil
1250
- text_node :cardValidationNum, "cardValidationNum", :default_value=>nil
1251
- end
1252
-
1253
- class AccountUpdate
1254
- include XML::Mapping
1255
- root_element_name "accountUpdate"
1256
- text_node :reportGroup, "@reportGroup", :default_value=>nil
1257
- text_node :transactionId, "@id", :default_value=>nil
1258
- text_node :customerId, "@customerId", :default_value=>nil
1259
-
1260
- text_node :orderId, "orderId", :default_value=>nil
1261
- optional_choice_node :if, 'card', :then, (object_node :card, "card", :class=>Card),
1262
- :else, (object_node :token, "token", :class=>CardToken)
1263
- end
1264
-
1265
- class OnlineRequest
1266
- include XML::Mapping
1267
- root_element_name "litleOnlineRequest"
1268
- text_node :merchantId, "@merchantId", :default_value=>nil
1269
- text_node :version, "@version", :default_value=>nil
1270
- text_node :xmlns, "@xmlns", :default_value=>nil
1271
- text_node :merchantSdk, "@merchantSdk", :default_value=>nil
1272
- text_node :loggedInUser, "@loggedInUser", :default_value=>nil
1273
- object_node :authentication, "authentication", :class=>Authentication
1274
- optional_choice_node :if, 'authorization', :then, (object_node :authorization, "authorization", :class=>Authorization),
1275
- :elsif, 'sale', :then, (object_node :sale, "sale", :class=>Sale),
1276
- :elsif, 'captureTxn', :then, (object_node :captureTxn, "captureTxn", :class=>Capture),
1277
- :elsif, 'captureGivenAuth', :then, (object_node :captureGivenAuth, "captureGivenAuth", :class=>CaptureGivenAuth),
1278
- :elsif, 'void', :then, (object_node :void, "void", :class=>Void),
1279
- :elsif, 'forceCapture', :then, (object_node :forceCapture, "forceCapture", :class=>ForceCapture),
1280
- :elsif, 'credit', :then, (object_node :credit, "credit", :class=>Credit),
1281
- :elsif, 'authReversal', :then, (object_node :authReversal, "authReversal", :class=>AuthReversal),
1282
- :elsif, 'echeckCredit', :then, (object_node :echeckCredit, "echeckCredit", :class=>EcheckCredit),
1283
- :elsif, 'echeckRedeposit', :then, (object_node :echeckRedeposit, "echeckRedeposit", :class=>EcheckRedeposit),
1284
- :elsif, 'echeckSale', :then, (object_node :echeckSale, "echeckSale", :class=>EcheckSale),
1285
- :elsif, 'echeckVoid', :then, (object_node :echeckVoid, "echeckVoid", :class=>EcheckVoid),
1286
- :elsif, 'echeckVerification', :then, (object_node :echeckVerification, "echeckVerification", :class=>EcheckVerification),
1287
- :elsif, 'registerTokenRequest', :then, (object_node :registerTokenRequest, "registerTokenRequest", :class=>RegisterTokenRequest),
1288
- :elsif, 'updateCardValidationNumOnToken', :then, (object_node :updateCardValidationNumOnToken, "updateCardValidationNumOnToken", :class=>UpdateCardValidationNumOnToken)
1289
- def post_save(xml, options={:Mapping=>:_default})
1290
- xml.each_element() {|el|
1291
- if(el.name == 'captureTxn')
1292
- el.name = 'capture'
1293
- end
1294
- }
1295
- end
1296
-
1297
- end
1298
-
1299
- class BatchRequest
1300
- include XML::Mapping
1301
- root_element_name "batchRequest"
1302
-
1303
- text_node :numAuths, "@numAuths", :default_value=>"0"
1304
- text_node :authAmount, "@authAmount", :default_value=>"0"
1305
- text_node :numSales, "@numSales", :default_value=>"0"
1306
- text_node :saleAmount, "@saleAmount", :default_value=>"0"
1307
- text_node :numCredits, "@numCredits", :default_value=>"0"
1308
- text_node :creditAmount, "@creditAmount", :default_value=>"0"
1309
- text_node :numTokenRegistrations, "@numTokenRegistrations", :default_value=>"0"
1310
- text_node :numCaptureGivenAuths, "@numCaptureGivenAuths", :default_value=>"0"
1311
- text_node :captureGivenAuthAmount, "@captureGivenAuthAmount", :default_value=>"0"
1312
- text_node :numForceCaptures, "@numForceCaptures", :default_value=>"0"
1313
- text_node :forceCaptureAmount, "@forceCaptureAmount", :default_value=>"0"
1314
- text_node :numAuthReversals, "@numAuthReversals", :default_value=>"0"
1315
- text_node :authReversalAmount, "@authReversalAmount", :default_value=>"0"
1316
- text_node :numCaptures, "@numCaptures", :default_value=>"0"
1317
- text_node :captureAmount, "@captureAmount", :default_value=>"0"
1318
- text_node :numEcheckSales, "@numEcheckSales", :default_value=>"0"
1319
- text_node :echeckSalesAmount, "@echeckSalesAmount", :default_value=>"0"
1320
- text_node :numEcheckRedeposit, "@numEcheckRedeposit", :default_value=>"0"
1321
- text_node :numEcheckCredit, "@numEcheckCredit", :default_value=>"0"
1322
- text_node :echeckCreditAmount, "@echeckCreditAmount", :default_value=>"0"
1323
- text_node :numEcheckVerification, "@numEcheckVerification", :default_value=>"0"
1324
- text_node :echeckVerificationAmount, "@echeckVerificationAmount", :default_value=>"0"
1325
- text_node :numUpdateCardValidationNumOnTokens, "@numUpdateCardValidationNumOnTokens", :default_value=>"0"
1326
- text_node :numAccountUpdates, "@numAccountUpdates", :default_value=>"0"
1327
- text_node :merchantId, "@merchantId", :default_value=>nil
1328
- text_node :id, "@id", :default_value=>nil
1329
- end
1330
-
1331
- class LitleRequest
1332
- include XML::Mapping
1333
- # version="6.0" xmlns="http://www.litle.com/schema" numBatchRequests = "1">
1334
- # <authentication>
1335
- # <user>XMLTESTV6ORG14</user>
1336
- # <password>password</password>
1337
- # </authentication>
1338
- root_element_name "litleRequest"
1339
-
1340
- text_node :version, "@version", :default_value=>"0"
1341
- text_node :xmlns, "@xmlns", :default_value=>nil
1342
- #TODO: ask greg about sessionId
1343
- #text_node :sessionId, "@id", default_vale:nil
1344
- text_node :numBatchRequests, "@numBatchRequests", :default_value=>"0"
1345
- object_node :authentication, "authentication", :class=>Authentication
1346
- end
1347
-
1348
- class AccountUpdateFileRequestData
1349
- include XML::Mapping
1350
- root_element_name "accountUpdateFileRequestData"
1351
-
1352
- text_node :merchantId, "merchantId", :default_value=>nil
1353
- text_node :postDay, "postDay", :default_value=>nil
1354
- end
1355
-
1356
- class LitleRFRRequest
1357
- include XML::Mapping
1358
- root_element_name "RFRRequest"
1359
- optional_choice_node :if, 'litleSessionId', :then, (text_node :litleSessionId, "litleSessionId"),
1360
- :elsif, 'accountUpdateFileRequestData', :then, (object_node :accountUpdateFileRequestData, "accountUpdateFileRequestData", :class=>AccountUpdateFileRequestData)
1361
- end
1362
-
1363
- class LitleRequestForRFR
1364
- include XML::Mapping
1365
- root_element_name "litleRequest"
1366
- text_node :version, "@version", :default_value=>"0"
1367
- text_node :xmlns, "@xmlns", :default_value=>nil
1368
- text_node :numBatchRequests, "@numBatchRequests", :default_value=>nil
1369
- object_node :authentication, "authentication", :class=>Authentication
1370
- object_node :rfrRequest, 'RFRRequest', :class=>LitleRFRRequest
1371
- end
1372
- # begin
1373
- # class LitleOnlineResponse
1374
- # attr_accessor :message
1375
- # end
1376
- #
1377
- # class XMLFields
1378
- #
1379
- # end
1380
- end