CnpOnline 9.14.0 → 11.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. checksums.yaml +7 -7
  2. data/CHANGELOG +23 -17
  3. data/CONTRIBUTORS +0 -0
  4. data/DESCRIPTION +1 -1
  5. data/LICENSE +1 -1
  6. data/README.md +5 -3
  7. data/Rakefile +5 -5
  8. data/Rakefile~ +5 -5
  9. data/SETUP.md +3 -3
  10. data/bin/Setup.rb +59 -41
  11. data/lib/Communications.rb +3 -3
  12. data/lib/Configuration.rb +52 -45
  13. data/lib/EnvironmentVariables.rb +5 -1
  14. data/lib/LitleBatchRequest.rb +72 -7
  15. data/lib/LitleListeners.rb +17 -1
  16. data/lib/LitleOnline.rb +3 -4
  17. data/lib/LitleOnlineRequest.rb +37 -7
  18. data/lib/LitleRequest.rb +315 -186
  19. data/lib/LitleTransaction.rb +212 -85
  20. data/lib/LitleXmlMapper.rb +4 -2
  21. data/lib/XMLFields.rb +384 -171
  22. data/lib/cacert.pem +0 -0
  23. data/samples/Auth/LitleAuthReversalTransaction.rb +2 -2
  24. data/samples/Auth/LitleAuthorizationTransaction.rb +1 -0
  25. data/samples/Auth/LitlePaymentFullLifeCycle.rb +12 -6
  26. data/samples/Batch/AccountUpdate.rb +1 -0
  27. data/samples/Batch/SampleBatchDriver.rb +2 -1
  28. data/samples/Capture/LitleCaptureGivenAuthTransaction.rb +2 -1
  29. data/samples/Capture/LitleCaptureTransaction.rb +2 -2
  30. data/samples/Capture/LitleForceCaptureTransaction.rb +2 -1
  31. data/samples/Capture/LitlePartialCapture.rb +3 -3
  32. data/samples/Credit/LitleCreditTransaction.rb +2 -2
  33. data/samples/Credit/LitleRefundTransaction.rb +2 -1
  34. data/samples/Other/LitleAvsTransaction.rb +2 -1
  35. data/samples/Other/LitleVoidTransaction.rb +2 -1
  36. data/samples/Paypage/FullPaypageLifeCycle.rb +7 -2
  37. data/samples/Run_all.rb +0 -0
  38. data/samples/Sale/LitleSaleTransaction.rb +2 -1
  39. data/samples/Sale/SampleSaleTransaction.rb +2 -1
  40. data/test/certification/certTest1_base.rb +52 -53
  41. data/test/certification/certTest2_authenhanced.rb +24 -25
  42. data/test/certification/certTest3_authreversal.rb +23 -26
  43. data/test/certification/certTest4_echeck.rb +18 -32
  44. data/test/certification/certTest5_token.rb +105 -106
  45. data/test/certification/certTest_batchAll.rb +47 -15
  46. data/test/functional/test_activate.rb +32 -4
  47. data/test/functional/test_activateReversal.rb +18 -5
  48. data/test/functional/test_auth.rb +94 -48
  49. data/test/functional/test_authReversal.rb +4 -1
  50. data/test/functional/test_balanceInquiry.rb +28 -3
  51. data/test/functional/test_batchStream.rb +2 -4
  52. data/test/functional/test_cancelSubscription.rb +2 -2
  53. data/test/functional/test_capture.rb +21 -14
  54. data/test/functional/test_captureGivenAuth.rb +15 -6
  55. data/test/functional/test_createPlan.rb +1 -1
  56. data/test/functional/test_credit.rb +14 -5
  57. data/test/functional/test_deactivate.rb +26 -3
  58. data/test/functional/test_deactivateReversal.rb +18 -5
  59. data/test/functional/test_depositReversal.rb +31 -19
  60. data/test/functional/test_echeckCredit.rb +34 -6
  61. data/test/functional/test_echeckRedeposit.rb +29 -2
  62. data/test/functional/test_echeckSale.rb +68 -11
  63. data/test/functional/test_echeckVerification.rb +32 -7
  64. data/test/functional/test_echeckVoid.rb +2 -1
  65. data/test/functional/test_forceCapture.rb +20 -6
  66. data/test/functional/test_fraudCheck.rb +3 -5
  67. data/test/functional/test_giftCardAuthReversal.rb +72 -0
  68. data/test/functional/test_giftCardCapture.rb +72 -0
  69. data/test/functional/test_giftCardCredit.rb +69 -0
  70. data/test/functional/test_litle_requests.rb +3 -6
  71. data/test/functional/test_load.rb +27 -3
  72. data/test/functional/test_loadReversal.rb +18 -5
  73. data/test/functional/test_override.rb +7 -3
  74. data/test/functional/test_pgp_litle_requests.rb +294 -0
  75. data/test/functional/test_queryTransaction.rb +152 -0
  76. data/test/functional/test_refundReversal.rb +18 -5
  77. data/test/functional/test_sale.rb +122 -159
  78. data/test/functional/test_token.rb +17 -11
  79. data/test/functional/test_unload.rb +27 -3
  80. data/test/functional/test_unloadReversal.rb +18 -5
  81. data/test/functional/test_updateCardValidationNumOnToken.rb +1 -0
  82. data/test/functional/test_updatePlan.rb +2 -1
  83. data/test/functional/test_updateSubscription.rb +3 -1
  84. data/test/functional/test_wallet.rb +74 -0
  85. data/test/functional/test_xmlfields.rb +22 -3
  86. data/test/functional/ts_all.rb +2 -0
  87. data/test/unit/test_LitleBatchRequest.rb +53 -5
  88. data/test/unit/test_LitleOnlineRequest.rb +5 -30
  89. data/test/unit/test_LitleRequest.rb +7 -6
  90. data/test/unit/test_LitleTransaction.rb +34 -5
  91. data/test/unit/test_LitleXmlMapper.rb +3 -0
  92. data/test/unit/test_activate.rb +22 -2
  93. data/test/unit/test_activateReversal.rb +15 -3
  94. data/test/unit/test_auth.rb +11 -9
  95. data/test/unit/test_balanceInquiry.rb +2 -2
  96. data/test/unit/test_capture.rb +2 -2
  97. data/test/unit/test_captureGivenAuth.rb +21 -1
  98. data/test/unit/test_credit.rb +1 -1
  99. data/test/unit/test_deactivate.rb +19 -0
  100. data/test/unit/test_deactivateReversal.rb +15 -3
  101. data/test/unit/test_depositReversal.rb +17 -5
  102. data/test/unit/test_echeckCredit.rb +19 -0
  103. data/test/unit/test_echeckRedeposit.rb +15 -0
  104. data/test/unit/test_echeckSale.rb +20 -1
  105. data/test/unit/test_echeckVerification.rb +6 -3
  106. data/test/unit/test_forceCapture.rb +1 -1
  107. data/test/unit/test_giftCardAuthReversal.rb +58 -0
  108. data/test/{functional/test_utf8.rb → unit/test_giftCardCapture.rb} +25 -12
  109. data/test/unit/test_giftCardCredit.rb +57 -0
  110. data/test/unit/test_load.rb +2 -2
  111. data/test/unit/test_loadReversal.rb +15 -3
  112. data/test/unit/test_pgp_LitleRequest +139 -0
  113. data/test/unit/test_queryTransaction.rb +105 -0
  114. data/test/unit/test_refundReversal.rb +15 -3
  115. data/test/unit/test_sale.rb +23 -3
  116. data/test/unit/test_token.rb +24 -20
  117. data/test/unit/test_unload.rb +2 -2
  118. data/test/unit/test_unloadReversal.rb +15 -3
  119. data/test/unit/test_wallet.rb +262 -0
  120. data/test/unit/ts_unit.rb +2 -1
  121. metadata +81 -100
@@ -1,6 +1,5 @@
1
1
  =begin
2
2
  Copyright (c) 2017 Vantiv eCommerce
3
-
4
3
  Permission is hereby granted, free of charge, to any person
5
4
  obtaining a copy of this software and associated documentation
6
5
  files (the "Software"), to deal in the Software without
@@ -9,10 +8,8 @@ copy, modify, merge, publish, distribute, sublicense, and/or sell
9
8
  copies of the Software, and to permit persons to whom the
10
9
  Software is furnished to do so, subject to the following
11
10
  conditions:
12
-
13
11
  The above copyright notice and this permission notice shall be
14
12
  included in all copies or substantial portions of the Software.
15
-
16
13
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
14
  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
18
15
  OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
@@ -25,7 +22,7 @@ OTHER DEALINGS IN THE SOFTWARE.
25
22
  require_relative 'Configuration'
26
23
 
27
24
  #
28
- # This class does all the heavy lifting of mapping the Ruby hash into Vantiv eCommerce XML format
25
+ # This class does all the heavy lifting of mapping the Ruby hash into Litle XML format
29
26
  # It also handles validation looking for missing or incorrect fields
30
27
  # contains the methods to properly create each transaction type
31
28
  #
@@ -36,14 +33,16 @@ module LitleOnline
36
33
  transaction.secondaryAmount = options['secondaryAmount']
37
34
  transaction.surchargeAmount = options['surchargeAmount']
38
35
  transaction.recurringRequest = RecurringRequest.from_hash(options,'recurringRequest')
39
- transaction.debtRepayment = options['debtRepayment']
40
- transaction.advancedFraudChecks = AdvancedFraudChecks.from_hash(options, 'advancedFraudChecks')
41
- add_transaction_info(transaction, options)
42
- #9.10
36
+ transaction.debtRepayment = options['debtRepayment']
37
+ transaction.advancedFraudChecks= AdvancedFraudChecks.from_hash(options, 'advancedFraudChecks')
38
+ #SDK XML 11
43
39
  transaction.wallet = Wallet.from_hash(options, 'wallet')
44
40
  transaction.processingType = options['processingType']
45
41
  transaction.originalNetworkTransactionId = options['originalNetworkTransactionId']
46
42
  transaction.originalTransactionAmount = options['originalTransactionAmount']
43
+
44
+ add_transaction_info(transaction, options)
45
+
47
46
  return transaction
48
47
  end
49
48
 
@@ -160,62 +159,131 @@ module LitleOnline
160
159
  def activate_reversal(options)
161
160
  transaction = ActivateReversal.new
162
161
  transaction.litleTxnId = options['litleTxnId']
162
+ transaction.card = GiftCardCardType.from_hash(options,'card')
163
+ transaction.originalRefCode = options['originalRefCode']
164
+ transaction.originalAmount = options['originalAmount']
165
+ transaction.originalTxnTime = options['originalTxnTime']
166
+ transaction.originalSystemTraceId = options['originalSystemTraceId']
167
+ transaction.originalSequenceNumber = options['originalSequenceNumber']
163
168
  return transaction
164
169
  end
165
170
 
166
171
  def deposit_reversal(options)
167
172
  transaction = DepositReversal.new
168
173
  transaction.litleTxnId = options['litleTxnId']
174
+ transaction.card = GiftCardCardType.from_hash(options,'card')
175
+ transaction.originalRefCode = options['originalRefCode']
176
+ transaction.originalAmount = options['originalAmount']
177
+ transaction.originalTxnTime = options['originalTxnTime']
178
+ transaction.originalSystemTraceId = options['originalSystemTraceId']
179
+ transaction.originalSequenceNumber = options['originalSequenceNumber']
180
+ return transaction
181
+ end
182
+
183
+ #XML 11.0
184
+
185
+ def giftCardAuth_reversal(options)
186
+ transaction = GiftCardAuthReversal.new
187
+ transaction.litleTxnId = options['litleTxnId']
188
+ transaction.card = GiftCardCardType.from_hash(options,'card')
189
+ transaction.originalRefCode = options['originalRefCode']
190
+ transaction.originalAmount = options['originalAmount']
191
+ transaction.originalTxnTime = options['originalTxnTime']
192
+ transaction.originalSystemTraceId = options['originalSystemTraceId']
193
+ transaction.originalSequenceNumber = options['originalSequenceNumber']
194
+ return transaction
195
+ end
196
+
197
+ def giftCardCapture(options)
198
+ transaction = GiftCardCapture.new
199
+ transaction.litleTxnId = options['litleTxnId']
200
+ transaction.captureAmount = options['captureAmount']
201
+ transaction.card = GiftCardCardType.from_hash(options,'card')
202
+ transaction.originalRefCode = options['originalRefCode']
203
+ transaction.originalAmount = options['originalAmount']
204
+ transaction.originalTxnTime = options['originalTxnTime']
205
+ transaction.originalSystemTraceId = options['originalSystemTraceId']
206
+ transaction.originalSequenceNumber = options['originalSequenceNumber']
207
+ return transaction
208
+ end
209
+
210
+ def giftCardCredit(options)
211
+ transaction = GiftCardCredit.new
212
+ transaction.litleTxnId = options['litleTxnId']
213
+ transaction.creditAmount = options['creditAmount']
214
+ transaction.orderId = options['orderId']
215
+ transaction.orderSource = options['orderSource']
216
+ transaction.card = GiftCardCardType.from_hash(options,'card')
169
217
  return transaction
170
218
  end
171
219
 
172
220
  def refund_reversal(options)
173
221
  transaction = RefundReversal.new
174
222
  transaction.litleTxnId = options['litleTxnId']
223
+ transaction.card = GiftCardCardType.from_hash(options,'card')
224
+ transaction.originalRefCode = options['originalRefCode']
225
+ transaction.originalAmount = options['originalAmount']
226
+ transaction.originalTxnTime = options['originalTxnTime']
227
+ transaction.originalSystemTraceId = options['originalSystemTraceId']
228
+ transaction.originalSequenceNumber = options['originalSequenceNumber']
175
229
  return transaction
176
230
  end
177
231
 
178
232
  def deactivate_reversal(options)
179
233
  transaction = DeactivateReversal.new
180
234
  transaction.litleTxnId = options['litleTxnId']
235
+ transaction.card = GiftCardCardType.from_hash(options,'card')
236
+ transaction.originalRefCode = options['originalRefCode']
237
+ transaction.originalAmount = options['originalAmount']
238
+ transaction.originalTxnTime = options['originalTxnTime']
239
+ transaction.originalSystemTraceId = options['originalSystemTraceId']
240
+ transaction.originalSequenceNumber = options['originalSequenceNumber']
181
241
  return transaction
182
242
  end
183
243
 
184
244
  def load_reversal(options)
185
245
  transaction = LoadReversal.new
186
246
  transaction.litleTxnId = options['litleTxnId']
247
+ transaction.card = GiftCardCardType.from_hash(options,'card')
248
+ transaction.originalRefCode = options['originalRefCode']
249
+ transaction.originalAmount = options['originalAmount']
250
+ transaction.originalTxnTime = options['originalTxnTime']
251
+ transaction.originalSystemTraceId = options['originalSystemTraceId']
252
+ transaction.originalSequenceNumber = options['originalSequenceNumber']
187
253
  return transaction
188
254
  end
189
255
 
190
256
  def unload_reversal(options)
191
257
  transaction = UnloadReversal.new
192
258
  transaction.litleTxnId = options['litleTxnId']
259
+ transaction.card = GiftCardCardType.from_hash(options,'card')
260
+ transaction.originalRefCode = options['originalRefCode']
261
+ transaction.originalAmount = options['originalAmount']
262
+ transaction.originalTxnTime = options['originalTxnTime']
263
+ transaction.originalSystemTraceId = options['originalSystemTraceId']
264
+ transaction.originalSequenceNumber = options['originalSequenceNumber']
193
265
  return transaction
194
266
  end
195
267
 
196
268
  def sale(options)
197
269
  transaction = Sale.new
198
270
  add_transaction_info(transaction, options)
199
- transaction.secondaryAmount = options['secondaryAmount']
200
- transaction.surchargeAmount = options['surchargeAmount']
201
- transaction.fraudCheck = FraudCheck.from_hash(options,'fraudCheck')
202
- transaction.payPalOrderComplete = options['payPalOrderComplete']
203
- transaction.payPalNotes = options['payPalNotes']
204
- transaction.recurringRequest = RecurringRequest.from_hash(options,'recurringRequest')
205
- transaction.litleInternalRecurringRequest = LitleInternalRecurringRequest.from_hash(options,'litleInternalRecurringRequest')
206
- transaction.debtRepayment = options['debtRepayment']
207
- transaction.advancedFraudChecks = AdvancedFraudChecks.from_hash(options, 'advancedFraudChecks')
208
- #9.10
271
+ transaction.secondaryAmount = options['secondaryAmount']
272
+ transaction.surchargeAmount = options['surchargeAmount']
273
+ transaction.fraudCheck = FraudCheck.from_hash(options,'fraudCheck')
274
+ transaction.payPalOrderComplete = options['payPalOrderComplete']
275
+ transaction.payPalNotes = options['payPalNotes']
276
+ transaction.recurringRequest = RecurringRequest.from_hash(options,'recurringRequest')
277
+ transaction.litleInternalRecurringRequest = LitleInternalRecurringRequest.from_hash(options,'litleInternalRecurringRequest')
278
+ transaction.debtRepayment = options['debtRepayment']
279
+ transaction.advancedFraudChecks = AdvancedFraudChecks.from_hash(options, 'advancedFraudChecks')
280
+ #SDK XML 11
209
281
  transaction.wallet = Wallet.from_hash(options, 'wallet')
210
282
  transaction.processingType = options['processingType']
211
283
  transaction.originalNetworkTransactionId = options['originalNetworkTransactionId']
212
284
  transaction.originalTransactionAmount = options['originalTransactionAmount']
213
- #9.12
214
- transaction.sepaDirectDebit = SepaDirectDebitType.from_hash(options,'sepaDirectDebit')
215
- transaction.ideal = IdealType.from_hash(options,'ideal')
216
- #9.14
217
- transaction.giropay = GiropayType.from_hash(options,'giropay')
218
- transaction.sofort = SofortType.from_hash(options,'sofort')
285
+ transaction.sepaDirectDebit = SepaDirectDebit.from_hash(options,'sepaDirectDebit')
286
+
219
287
  return transaction
220
288
  end
221
289
 
@@ -240,13 +308,12 @@ module LitleOnline
240
308
  transaction.enhancedData = EnhancedData.from_hash(options)
241
309
  transaction.processingInstructions = ProcessingInstructions.from_hash(options)
242
310
  transaction.pos = Pos.from_hash(options)
243
- #9.10
244
- transaction.pin = options['pin']
245
- #9.10 end
246
311
  transaction.billMeLaterRequest = BillMeLaterRequest.from_hash(options)
247
312
  transaction.payPalNotes = options['payPalNotes']
248
313
  transaction.actionReason = options['actionReason']
249
314
  transaction.paypal = CreditPayPal.from_hash(options,'paypal')
315
+ #SDK XML 11
316
+ transaction.pin = options['pin']
250
317
 
251
318
  add_account_info(transaction, options)
252
319
  return transaction
@@ -293,12 +360,13 @@ module LitleOnline
293
360
 
294
361
  def force_capture(options)
295
362
  transaction = ForceCapture.new
296
- transaction.secondaryAmount = options['secondaryAmount']
363
+ transaction.secondaryAmount = options['secondaryAmount']
297
364
  transaction.surchargeAmount = options['surchargeAmount']
298
365
  transaction.customBilling = CustomBilling.from_hash(options)
299
- transaction.debtRepayment = options['debtRepayment']
300
- #9.10
301
- transaction.processingType = options['processingType']
366
+ transaction.debtRepayment = options['debtRepayment']
367
+ #SDK XML 11
368
+ transaction.processingType = options['processingType']
369
+
302
370
  add_order_info(transaction, options)
303
371
 
304
372
  return transaction
@@ -315,7 +383,7 @@ module LitleOnline
315
383
  transaction.processingInstructions = ProcessingInstructions.from_hash(options)
316
384
  transaction.payPalOrderComplete = options['payPalOrderComplete']
317
385
  transaction.payPalNotes = options['payPalNotes']
318
- #9.10
386
+ #SDK XML 11
319
387
  transaction.customBilling = CustomBilling.from_hash(options)
320
388
  transaction.pin = options['pin']
321
389
 
@@ -326,14 +394,14 @@ module LitleOnline
326
394
  def capture_given_auth(options)
327
395
  transaction = CaptureGivenAuth.new
328
396
  add_order_info(transaction, options)
329
- transaction.secondaryAmount = options['secondaryAmount']
330
- transaction.surchargeAmount = options['surchargeAmount']
331
- transaction.authInformation = AuthInformation.from_hash(options)
332
- transaction.shipToAddress = Contact.from_hash(options,'shipToAddress')
333
- transaction.customBilling = CustomBilling.from_hash(options)
334
- transaction.billMeLaterRequest = BillMeLaterRequest.from_hash(options)
335
- transaction.debtRepayment = options['debtRepayment']
336
- #9.10
397
+ transaction.secondaryAmount = options['secondaryAmount']
398
+ transaction.surchargeAmount = options['surchargeAmount']
399
+ transaction.authInformation = AuthInformation.from_hash(options)
400
+ transaction.shipToAddress = Contact.from_hash(options,'shipToAddress')
401
+ transaction.customBilling = CustomBilling.from_hash(options)
402
+ transaction.billMeLaterRequest = BillMeLaterRequest.from_hash(options)
403
+ transaction.debtRepayment = options['debtRepayment']
404
+ #SDK XML 11
337
405
  transaction.processingType = options['processingType']
338
406
  transaction.originalNetworkTransactionId = options['originalNetworkTransactionId']
339
407
  transaction.originalTransactionAmount = options['originalTransactionAmount']
@@ -354,9 +422,9 @@ module LitleOnline
354
422
  transaction = EcheckRedeposit.new
355
423
  add_echeck(transaction, options)
356
424
 
357
- transaction.litleTxnId = options['litleTxnId']
358
- transaction.merchantData = MerchantData.from_hash(options)
359
-
425
+ transaction.litleTxnId = options['litleTxnId']
426
+ transaction.merchantData = MerchantData.from_hash(options)
427
+ transaction.customIdentifier = options['customIdentifier']
360
428
  return transaction
361
429
  end
362
430
 
@@ -380,16 +448,18 @@ module LitleOnline
380
448
  transaction.billToAddress = Contact.from_hash(options,'billToAddress')
381
449
  add_account_info(transaction, options)
382
450
  transaction.merchantData = MerchantData.from_hash(options)
451
+
383
452
 
384
453
  return transaction
385
454
  end
386
455
 
387
456
  def submerchant_credit(options)
388
457
  transaction = SubmerchantCredit.new
389
- transaction.fundingSubmerchantId = options['fundingSubmerchantId']
390
- transaction.submerchantName = options['submerchantName']
391
- transaction.fundsTransferId = options['fundsTransferId']
392
- transaction.amount = options['amount']
458
+ transaction.fundingSubmerchantId = options['fundingSubmerchantId']
459
+ transaction.submerchantName = options['submerchantName']
460
+ transaction.fundsTransferId = options['fundsTransferId']
461
+ transaction.amount = options['amount']
462
+ transaction.customIdentifier = options['customIdentifier']
393
463
  transaction.accountInfo = Echeck.from_hash(options,'accountInfo')
394
464
  add_account_info(transaction, options)
395
465
 
@@ -398,10 +468,11 @@ module LitleOnline
398
468
 
399
469
  def vendor_credit(options)
400
470
  transaction = VendorCredit.new
401
- transaction.fundingSubmerchantId = options['fundingSubmerchantId']
402
- transaction.vendorName = options['vendorName']
403
- transaction.fundsTransferId = options['fundsTransferId']
404
- transaction.amount = options['amount']
471
+ transaction.fundingSubmerchantId = options['fundingSubmerchantId']
472
+ transaction.vendorName = options['vendorName']
473
+ transaction.fundsTransferId = options['fundsTransferId']
474
+ transaction.amount = options['amount']
475
+
405
476
  transaction.accountInfo = Echeck.from_hash(options,'accountInfo')
406
477
  add_account_info(transaction, options)
407
478
 
@@ -410,9 +481,10 @@ module LitleOnline
410
481
 
411
482
  def payFac_credit(options)
412
483
  transaction = PayFacCredit.new
413
- transaction.fundingSubmerchantId = options['fundingSubmerchantId']
414
- transaction.fundsTransferId = options['fundsTransferId']
415
- transaction.amount = options['amount']
484
+ transaction.fundingSubmerchantId = options['fundingSubmerchantId']
485
+ transaction.fundsTransferId = options['fundsTransferId']
486
+ transaction.amount = options['amount']
487
+
416
488
  add_account_info(transaction, options)
417
489
 
418
490
  return transaction
@@ -420,9 +492,10 @@ module LitleOnline
420
492
 
421
493
  def reserve_credit(options)
422
494
  transaction = ReserveCredit.new
423
- transaction.fundingSubmerchantId = options['fundingSubmerchantId']
424
- transaction.fundsTransferId = options['fundsTransferId']
425
- transaction.amount = options['amount']
495
+ transaction.fundingSubmerchantId = options['fundingSubmerchantId']
496
+ transaction.fundsTransferId = options['fundsTransferId']
497
+ transaction.amount = options['amount']
498
+
426
499
  add_account_info(transaction, options)
427
500
 
428
501
  return transaction
@@ -430,20 +503,46 @@ module LitleOnline
430
503
 
431
504
  def physical_check_credit(options)
432
505
  transaction = PhysicalCheckCredit.new
433
- transaction.fundingSubmerchantId = options['fundingSubmerchantId']
434
- transaction.fundsTransferId = options['fundsTransferId']
435
- transaction.amount = options['amount']
506
+ transaction.fundingSubmerchantId = options['fundingSubmerchantId']
507
+ transaction.fundsTransferId = options['fundsTransferId']
508
+ transaction.amount = options['amount']
509
+
436
510
  add_account_info(transaction, options)
437
511
 
438
512
  return transaction
439
513
  end
514
+
515
+ #SDK XML 10
516
+
517
+ def funding_txn_void(options)
518
+ transaction = FundingInstructionVoid.new
519
+ transaction.litleTxnId = options['litleTxnId']
520
+ add_account_info(transaction, options)
521
+
522
+ return transaction
523
+ end
524
+
525
+ #SDK XML 10
526
+ def query_Transaction(options)
527
+ transaction = QueryTransaction.new
528
+ transaction.origId = options['origId']
529
+ transaction.origActionType = options['origActionType']
530
+ transaction.origLitleTxnId = options['origLitleTxnId']
531
+ # transaction.origOrderId = options['origOrderId']
532
+ # transaction.origAccountNumber = options['origAccountNumber']
533
+ add_account_info(transaction, options)
534
+
535
+ return transaction
536
+ end
537
+
440
538
 
441
539
  def submerchant_debit(options)
442
540
  transaction = SubmerchantDebit.new
443
- transaction.fundingSubmerchantId = options['fundingSubmerchantId']
444
- transaction.submerchantName = options['submerchantName']
445
- transaction.fundsTransferId = options['fundsTransferId']
446
- transaction.amount = options['amount']
541
+ transaction.fundingSubmerchantId = options['fundingSubmerchantId']
542
+ transaction.submerchantName = options['submerchantName']
543
+ transaction.fundsTransferId = options['fundsTransferId']
544
+ transaction.amount = options['amount']
545
+ transaction.customIdentifier = options['customIdentifier']
447
546
  transaction.accountInfo = Echeck.from_hash(options,'accountInfo')
448
547
  add_account_info(transaction, options)
449
548
 
@@ -452,10 +551,11 @@ module LitleOnline
452
551
 
453
552
  def vendor_debit(options)
454
553
  transaction = VendorDebit.new
455
- transaction.fundingSubmerchantId = options['fundingSubmerchantId']
456
- transaction.vendorName = options['vendorName']
457
- transaction.fundsTransferId = options['fundsTransferId']
458
- transaction.amount = options['amount']
554
+ transaction.fundingSubmerchantId = options['fundingSubmerchantId']
555
+ transaction.vendorName = options['vendorName']
556
+ transaction.fundsTransferId = options['fundsTransferId']
557
+ transaction.amount = options['amount']
558
+
459
559
  transaction.accountInfo = Echeck.from_hash(options,'accountInfo')
460
560
  add_account_info(transaction, options)
461
561
 
@@ -464,9 +564,10 @@ module LitleOnline
464
564
 
465
565
  def payFac_debit(options)
466
566
  transaction = PayFacDebit.new
467
- transaction.fundingSubmerchantId = options['fundingSubmerchantId']
468
- transaction.fundsTransferId = options['fundsTransferId']
469
- transaction.amount = options['amount']
567
+ transaction.fundingSubmerchantId = options['fundingSubmerchantId']
568
+ transaction.fundsTransferId = options['fundsTransferId']
569
+ transaction.amount = options['amount']
570
+
470
571
  add_account_info(transaction, options)
471
572
 
472
573
  return transaction
@@ -474,9 +575,10 @@ module LitleOnline
474
575
 
475
576
  def reserve_debit(options)
476
577
  transaction = ReserveDebit.new
477
- transaction.fundingSubmerchantId = options['fundingSubmerchantId']
478
- transaction.fundsTransferId = options['fundsTransferId']
479
- transaction.amount = options['amount']
578
+ transaction.fundingSubmerchantId = options['fundingSubmerchantId']
579
+ transaction.fundsTransferId = options['fundsTransferId']
580
+ transaction.amount = options['amount']
581
+
480
582
  add_account_info(transaction, options)
481
583
 
482
584
  return transaction
@@ -484,9 +586,10 @@ module LitleOnline
484
586
 
485
587
  def physical_check_debit(options)
486
588
  transaction = PhysicalCheckDebit.new
487
- transaction.fundingSubmerchantId = options['fundingSubmerchantId']
488
- transaction.fundsTransferId = options['fundsTransferId']
489
- transaction.amount = options['amount']
589
+ transaction.fundingSubmerchantId = options['fundingSubmerchantId']
590
+ transaction.fundsTransferId = options['fundsTransferId']
591
+ transaction.amount = options['amount']
592
+
490
593
  add_account_info(transaction, options)
491
594
 
492
595
  return transaction
@@ -500,27 +603,26 @@ module LitleOnline
500
603
  transaction.verify = options['verify']
501
604
  transaction.shipToAddress = Contact.from_hash(options,'shipToAddress')
502
605
  transaction.customBilling = CustomBilling.from_hash(options)
503
-
606
+ transaction.customIdentifier = options['customIdentifier']
504
607
  return transaction
505
608
  end
506
609
 
507
610
  def echeck_credit(options)
508
611
  transaction = EcheckCredit.new
509
612
  transaction.customBilling = CustomBilling.from_hash(options)
613
+ transaction.litleTxnId = options['litleTxnId']
510
614
  transaction.secondaryAmount = options['secondaryAmount']
615
+ transaction.customIdentifier = options['customIdentifier']
511
616
  add_echeck_order_info(transaction, options)
512
617
  add_echeck(transaction, options)
513
-
514
618
  return transaction
515
619
  end
516
620
 
517
621
  def echeck_verification(options)
518
622
  transaction = EcheckVerification.new
519
-
520
623
  add_echeck_order_info(transaction, options)
521
624
  add_echeck(transaction, options)
522
625
  transaction.merchantData = MerchantData.from_hash(options)
523
-
524
626
  return transaction
525
627
  end
526
628
 
@@ -552,6 +654,27 @@ module LitleOnline
552
654
 
553
655
  return transaction
554
656
  end
657
+ #11.4 Begin
658
+
659
+ def fast_access_funding(options)
660
+ transaction = FastAccessFunding.new
661
+ transaction.reportGroup = get_report_group(options)
662
+ transaction.transactionId = options['id']
663
+ transaction.customerId = options['customerId']
664
+
665
+ transaction.fundingSubmerchantId = options['fundingSubmerchantId']
666
+ transaction.submerchantName = options['submerchantName']
667
+ transaction.fundsTransferId = options['fundsTransferId']
668
+ transaction.amount = options['amount']
669
+
670
+ transaction.card = Card.from_hash(options)
671
+ transaction.token = CardToken.from_hash(options,'token')
672
+ transaction.paypage = CardPaypage.from_hash(options,'paypage')
673
+
674
+ return transaction
675
+ end
676
+
677
+ # 11.4 End
555
678
 
556
679
  private
557
680
 
@@ -575,10 +698,14 @@ module LitleOnline
575
698
  transaction.fraudFilterOverride = options['fraudFilterOverride']
576
699
  transaction.customBilling = CustomBilling.from_hash(options)
577
700
  transaction.paypal = PayPal.from_hash(options,'paypal')
578
- transaction.applepay = Applepay.from_hash(options,'applepay')
579
-
701
+ transaction.applepay = Applepay.from_hash(options,'applepay')
702
+
703
+
704
+ #SDK Ruby XML 10
705
+ transaction.wallet = Wallet.from_hash(options, 'wallet')
706
+
580
707
  add_order_info(transaction, options)
581
- end
708
+ end
582
709
 
583
710
  def add_order_info(transaction, options)
584
711
  transaction.amount = options['amount']
@@ -598,7 +725,7 @@ module LitleOnline
598
725
  end
599
726
 
600
727
  def add_echeck_order_info(transaction, options)
601
- transaction.litleTxnId = options['litleTxnId']
728
+ #transaction.litleTxnId = options['litleTxnId']
602
729
  transaction.orderId = options['orderId']
603
730
  transaction.amount = options['amount']
604
731
  transaction.orderSource = options['orderSource']