CnpOnline 8.31.1 → 9.14.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +29 -12
- data/DESCRIPTION +2 -2
- data/LICENSE +1 -1
- data/README.md +1 -1
- data/Rakefile +4 -4
- data/Rakefile~ +5 -5
- data/SETUP.md +3 -3
- data/bin/Setup.rb +9 -8
- data/bin/sample_batch_driver.rb +1 -1
- data/bin/sample_driver.rb +1 -1
- data/lib/Communications.rb +1 -1
- data/lib/Configuration.rb +16 -16
- data/lib/EnvironmentVariables.rb +1 -2
- data/lib/LitleBatchRequest.rb +283 -147
- data/lib/LitleListeners.rb +132 -33
- data/lib/LitleOnline.rb +5 -4
- data/lib/LitleOnlineRequest.rb +69 -59
- data/lib/LitleRequest.rb +178 -141
- data/lib/LitleTransaction.rb +279 -122
- data/lib/LitleXmlMapper.rb +9 -4
- data/lib/XMLFields.rb +345 -26
- data/test/certification/certTest1_base.rb +74 -73
- data/test/certification/certTest2_authenhanced.rb +1 -1
- data/test/certification/certTest3_authreversal.rb +1 -1
- data/test/certification/certTest4_echeck.rb +4 -1
- data/test/certification/certTest5_token.rb +4 -4
- data/test/certification/certTest_batchAll.rb +296 -55
- data/test/certification/ts_all.rb +1 -1
- data/test/functional/test_activate.rb +7 -3
- data/test/functional/test_activateReversal.rb +7 -3
- data/test/functional/test_auth.rb +119 -16
- data/test/functional/test_authReversal.rb +5 -3
- data/test/functional/test_balanceInquiry.rb +5 -3
- data/test/functional/test_batch.rb +3 -3
- data/test/functional/test_batchStream.rb +14 -4
- data/test/functional/test_cancelSubscription.rb +5 -3
- data/test/functional/test_capture.rb +34 -3
- data/test/functional/test_captureGivenAuth.rb +55 -4
- data/test/functional/test_configuration.rb +2 -2
- data/test/functional/test_createPlan.rb +5 -3
- data/test/functional/test_credit.rb +45 -16
- data/test/functional/test_deactivate.rb +5 -3
- data/test/functional/test_deactivateReversal.rb +5 -3
- data/test/functional/test_depositReversal.rb +5 -3
- data/test/functional/test_echeckCredit.rb +26 -9
- data/test/functional/test_echeckRedeposit.rb +5 -3
- data/test/functional/test_echeckSale.rb +49 -28
- data/test/functional/test_echeckVerification.rb +20 -12
- data/test/functional/test_echeckVoid.rb +1 -1
- data/test/functional/test_forceCapture.rb +44 -22
- data/test/functional/test_fraudCheck.rb +77 -0
- data/test/functional/test_litle_requests.rb +24 -24
- data/test/functional/test_load.rb +5 -3
- data/test/functional/test_loadReversal.rb +5 -3
- data/test/functional/test_refundReversal.rb +5 -3
- data/test/functional/test_sale.rb +214 -29
- data/test/functional/test_token.rb +19 -3
- data/test/functional/test_unload.rb +5 -3
- data/test/functional/test_unloadReversal.rb +6 -4
- data/test/functional/test_updateCardValidationNumOnToken.rb +1 -1
- data/test/functional/test_updatePlan.rb +5 -3
- data/test/functional/test_updateSubscription.rb +5 -3
- data/test/functional/test_utf8.rb +44 -0
- data/test/functional/test_xmlfields.rb +10 -6
- data/test/functional/ts_all.rb +2 -1
- data/test/unit/test_LitleAUBatch.rb +29 -1
- data/test/unit/test_LitleBatchRequest.rb +247 -113
- data/test/unit/test_LitleOnlineRequest.rb +37 -54
- data/test/unit/test_LitleRequest.rb +3 -3
- data/test/unit/test_LitleTransaction.rb +5 -5
- data/test/unit/test_LitleXmlMapper.rb +136 -0
- data/test/unit/test_activate.rb +1 -21
- data/test/unit/test_activateReversal.rb +1 -1
- data/test/unit/test_auth.rb +54 -14
- data/test/unit/test_authReversal.rb +1 -1
- data/test/unit/test_balanceInquiry.rb +1 -1
- data/test/unit/test_cancelSubscription.rb +1 -1
- data/test/unit/test_capture.rb +27 -1
- data/test/unit/test_captureGivenAuth.rb +44 -18
- data/test/unit/test_createPlan.rb +1 -1
- data/test/unit/test_credit.rb +16 -3
- data/test/unit/test_deactivate.rb +1 -1
- data/test/unit/test_deactivateReversal.rb +1 -1
- data/test/unit/test_depositReversal.rb +1 -1
- data/test/unit/test_echeckCredit.rb +15 -2
- data/test/unit/test_echeckRedeposit.rb +1 -1
- data/test/unit/test_echeckSale.rb +18 -1
- data/test/unit/test_echeckVerification.rb +1 -1
- data/test/unit/test_echeckVoid.rb +1 -1
- data/test/unit/test_forceCapture.rb +20 -2
- data/test/unit/test_fraudCheck.rb +45 -0
- data/test/unit/test_load.rb +1 -1
- data/test/unit/test_loadReversal.rb +1 -1
- data/test/unit/test_refundReversal.rb +1 -1
- data/test/unit/test_sale.rb +73 -7
- data/test/unit/test_token.rb +15 -4
- data/test/unit/test_unload.rb +1 -1
- data/test/unit/test_unloadReversal.rb +1 -1
- data/test/unit/test_updateCardValidationNumOnToken.rb +1 -1
- data/test/unit/test_updatePlan.rb +1 -1
- data/test/unit/test_updateSubscription.rb +1 -1
- data/test/unit/test_xmlfields.rb +1 -1
- data/test/unit/ts_unit.rb +2 -1
- metadata +10 -7
- data/CHANGELOG~ +0 -142
data/lib/LitleXmlMapper.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
=begin
|
2
|
-
Copyright (c)
|
2
|
+
Copyright (c) 2017 Vantiv eCommerce
|
3
3
|
|
4
4
|
Permission is hereby granted, free of charge, to any person
|
5
5
|
obtaining a copy of this software and associated documentation
|
@@ -27,7 +27,7 @@ require 'logger'
|
|
27
27
|
|
28
28
|
#
|
29
29
|
# Handles round trip of transactions
|
30
|
-
# Maps the request to
|
30
|
+
# Maps the request to Vantiv eCommerce XML -> Sends XML payload to Vantiv eCommerce via HTTP(S) -> formats XML response into a Ruby hash and returns it
|
31
31
|
#
|
32
32
|
module LitleOnline
|
33
33
|
class LitleXmlMapper
|
@@ -35,14 +35,19 @@ module LitleOnline
|
|
35
35
|
logger = initialize_logger(config_hash)
|
36
36
|
|
37
37
|
logger.debug request_xml
|
38
|
-
# get the
|
38
|
+
# get the Vantiv eCommerce Online Response from the API server over HTTP
|
39
39
|
response_xml = Communications.http_post(request_xml,config_hash)
|
40
40
|
logger.debug response_xml
|
41
41
|
|
42
42
|
# create response object from xml returned form the Litle API
|
43
43
|
response_object = XMLObject.new(response_xml)
|
44
44
|
|
45
|
-
|
45
|
+
# Check if the response xml is valid.
|
46
|
+
if (response_object.response == "0")
|
47
|
+
return response_object
|
48
|
+
else
|
49
|
+
raise("Error with http response, code: " + response_object.response + ", message: " + response_object.message)
|
50
|
+
end
|
46
51
|
end
|
47
52
|
|
48
53
|
private
|
data/lib/XMLFields.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
=begin
|
2
|
-
Copyright (c)
|
2
|
+
Copyright (c) 2017 Vantiv eCommerce
|
3
3
|
|
4
4
|
Permission is hereby granted, free of charge, to any person
|
5
5
|
obtaining a copy of this software and associated documentation
|
@@ -628,6 +628,7 @@ module LitleOnline
|
|
628
628
|
text_node :number, "number", :default_value=>nil
|
629
629
|
text_node :expDate, "expDate", :default_value=>nil
|
630
630
|
text_node :cardValidationNum, "cardValidationNum", :default_value=>nil
|
631
|
+
text_node :pin, "pin", :default_value=>nil
|
631
632
|
def self.from_hash(hash, name='card')
|
632
633
|
base = hash[name]
|
633
634
|
if(base)
|
@@ -637,11 +638,13 @@ module LitleOnline
|
|
637
638
|
this.number = base['number']
|
638
639
|
this.expDate = base['expDate']
|
639
640
|
this.cardValidationNum = base['cardValidationNum']
|
641
|
+
this.pin = base['pin']
|
640
642
|
SchemaValidation.validate_enum(this.mop, false, ['','MC','VI','AX','DC','DI','PP','JC','BL','EC','GC'], name, 'type')
|
641
643
|
SchemaValidation.validate_length(this.track, false, 1, 256, name, 'track')
|
642
644
|
SchemaValidation.validate_length(this.number, false, 13, 25, name, 'number')
|
643
645
|
SchemaValidation.validate_length(this.expDate, false, 4, 4, name, 'expDate')
|
644
646
|
SchemaValidation.validate_length(this.cardValidationNum, false, 1, 4, name, 'cardValidationNum')
|
647
|
+
SchemaValidation.validate_length(this.pin, false, 4, 12, name, 'pin')
|
645
648
|
this
|
646
649
|
else
|
647
650
|
nil
|
@@ -663,10 +666,10 @@ module LitleOnline
|
|
663
666
|
this.ephemeralPublicKey = base['ephemeralPublicKey']
|
664
667
|
this.publicKeyHash = base['publicKeyHash']
|
665
668
|
this.transactionId = base['transactionId']
|
666
|
-
SchemaValidation.
|
667
|
-
SchemaValidation.
|
668
|
-
SchemaValidation.
|
669
|
-
SchemaValidation.
|
669
|
+
SchemaValidation.validate_length(this.applicationData,true,0,10000,name,'applicationData')
|
670
|
+
SchemaValidation.validate_length(this.ephemeralPublicKey,true,0,400,name,'ephemeralPublicKey')
|
671
|
+
SchemaValidation.validate_length(this.publicKeyHash,true,0,200,name,'publicKeyHash')
|
672
|
+
SchemaValidation.validate_length(this.transactionId,true,0,250,name,'transactionId')
|
670
673
|
this
|
671
674
|
else
|
672
675
|
nil
|
@@ -688,10 +691,10 @@ module LitleOnline
|
|
688
691
|
this.header = ApplepayHeader.from_hash(base)
|
689
692
|
this.signature = base['signature']
|
690
693
|
this.version = base['version']
|
691
|
-
SchemaValidation.
|
694
|
+
SchemaValidation.validate_length(this.data,true,0,2000,name,'data')
|
692
695
|
SchemaValidation.validate_required(this.header,true,name,'header')
|
693
|
-
SchemaValidation.
|
694
|
-
SchemaValidation.
|
696
|
+
SchemaValidation.validate_length(this.signature,true,0,10000,name,'signature')
|
697
|
+
SchemaValidation.validate_length(this.version,true,5,20,name,'version')
|
695
698
|
this
|
696
699
|
else
|
697
700
|
nil
|
@@ -926,6 +929,7 @@ module LitleOnline
|
|
926
929
|
text_node :accNum, "accNum", :default_value=>nil
|
927
930
|
text_node :routingNum, "routingNum", :default_value=>nil
|
928
931
|
text_node :checkNum, "checkNum", :default_value=>nil
|
932
|
+
text_node :ccdPaymentInformation, "ccdPaymentInformation", :default_value=>nil
|
929
933
|
def self.from_hash(hash, name='echeck')
|
930
934
|
base = hash[name]
|
931
935
|
if(base)
|
@@ -934,10 +938,12 @@ module LitleOnline
|
|
934
938
|
this.accNum = base['accNum']
|
935
939
|
this.routingNum = base['routingNum']
|
936
940
|
this.checkNum = base['checkNum']
|
941
|
+
this.ccdPaymentInformation = base['ccdPaymentInformation']
|
937
942
|
SchemaValidation.validate_enum(this.accType, true, ['Checking','Savings','Corporate','Corp Savings'], name, 'accType')
|
938
943
|
SchemaValidation.validate_length(this.accNum, true, 1, 17, name, 'accNum')
|
939
944
|
SchemaValidation.validate_length(this.routingNum, true, 9, 9, name, 'routingNum')
|
940
945
|
SchemaValidation.validate_length(this.checkNum, false, 1, 15, name, 'checkNum')
|
946
|
+
SchemaValidation.validate_length(this.ccdPaymentInformation, false, 1, 80, name, 'ccdPaymentInformation')
|
941
947
|
this
|
942
948
|
else
|
943
949
|
nil
|
@@ -1302,17 +1308,139 @@ module LitleOnline
|
|
1302
1308
|
include XML::Mapping
|
1303
1309
|
root_element_name "advancedFraudChecks"
|
1304
1310
|
text_node :threatMetrixSessionId, 'threatMetrixSessionId', :default_value=>nil
|
1311
|
+
text_node :customAttribute1, 'customAttribute1', :default_value=>nil
|
1312
|
+
text_node :customAttribute2, 'customAttribute2', :default_value=>nil
|
1313
|
+
text_node :customAttribute3, 'customAttribute3', :default_value=>nil
|
1314
|
+
text_node :customAttribute4, 'customAttribute4', :default_value=>nil
|
1315
|
+
text_node :customAttribute5, 'customAttribute5', :default_value=>nil
|
1305
1316
|
def self.from_hash(hash, name="advancedFraudChecks")
|
1306
1317
|
base = hash[name]
|
1307
1318
|
if(base)
|
1308
1319
|
this = AdvancedFraudChecks.new
|
1309
1320
|
this.threatMetrixSessionId = base['threatMetrixSessionId'] # /\A([A-Z,a-z,0-9, ,\*,,,\-,',#,&,.]){4,25}\Z/
|
1310
1321
|
#SchemaValidation.validate_regex(this.threatMetrixSessionId, true, '[-a-zA-Z0-9_]{1,128}', name, 'threatMetrixSessionId')
|
1322
|
+
this.customAttribute1 = base['customAttribute1']
|
1323
|
+
SchemaValidation.validate_length(this.customAttribute1,false,1,200,name,"customAttribute1")
|
1324
|
+
this.customAttribute2 = base['customAttribute2']
|
1325
|
+
SchemaValidation.validate_length(this.customAttribute2,false,1,200,name,"customAttribute2")
|
1326
|
+
this.customAttribute3 = base['customAttribute3']
|
1327
|
+
SchemaValidation.validate_length(this.customAttribute3,false,1,200,name,"customAttribute3")
|
1328
|
+
this.customAttribute4 = base['customAttribute4']
|
1329
|
+
SchemaValidation.validate_length(this.customAttribute4,false,1,200,name,"customAttribute4")
|
1330
|
+
this.customAttribute5 = base['customAttribute5']
|
1331
|
+
SchemaValidation.validate_length(this.customAttribute5,false,1,200,name,"customAttribute5")
|
1311
1332
|
this
|
1312
1333
|
end
|
1313
1334
|
end
|
1314
1335
|
end
|
1315
1336
|
|
1337
|
+
class FraudCheckRequest
|
1338
|
+
include XML::Mapping
|
1339
|
+
root_element_name "fraudCheck"
|
1340
|
+
text_node :reportGroup, "@reportGroup", :default_value=>nil
|
1341
|
+
text_node :transactionId, "@id", :default_value=>nil
|
1342
|
+
text_node :customerId, "@customerId", :default_value=>nil
|
1343
|
+
object_node :advancedFraudChecks, "advancedFraudChecks", :default_value=>nil
|
1344
|
+
object_node :billToAddress, "billToAddress", :class=>Contact, :default_value=>nil
|
1345
|
+
object_node :shipToAddress, "shipToAddress", :class=>Contact, :default_value=>nil
|
1346
|
+
text_node :amount, "amount", :default_value=>nil
|
1347
|
+
end
|
1348
|
+
|
1349
|
+
class Wallet
|
1350
|
+
include XML::Mapping
|
1351
|
+
text_node :walletSourceType, "walletSourceType", :default_value=>nil
|
1352
|
+
text_node :walletSourceTypeId, "walletSourceTypeId", :default_value=>nil
|
1353
|
+
def self.from_hash(hash, name='wallet')
|
1354
|
+
base = hash[name]
|
1355
|
+
if(base)
|
1356
|
+
this = Wallet.new
|
1357
|
+
this.walletSourceType = base['walletSourceType']
|
1358
|
+
this.walletSourceTypeId = base['walletSourceTypeId']
|
1359
|
+
SchemaValidation.validate_enum(this.walletSourceType, false, ['MasterPass','VisaCheckout'], name, 'walletSourceType')
|
1360
|
+
SchemaValidation.validate_required(this.walletSourceTypeId,true,name,'walletSourceTypeId')
|
1361
|
+
this
|
1362
|
+
else
|
1363
|
+
nil
|
1364
|
+
end
|
1365
|
+
end
|
1366
|
+
end
|
1367
|
+
|
1368
|
+
class SepaDirectDebitType
|
1369
|
+
include XML::Mapping
|
1370
|
+
root_element_name "sepaDirectDebit"
|
1371
|
+
text_node :mandateProvider, "mandateProvider", :default_value=>nil
|
1372
|
+
text_node :sequenceType, "sequenceType", :default_value=>nil
|
1373
|
+
text_node :mandateReference, "mandateReference", :default_value=>nil
|
1374
|
+
text_node :mandateUrl, "mandateUrl", :default_value=>nil
|
1375
|
+
text_node :mandateSignatureDate, "mandateSignatureDate", :default_value=>nil
|
1376
|
+
text_node :iban, "iban", :default_value=>nil
|
1377
|
+
text_node :preferredLanguage, "preferredLanguage", :default_value=>nil
|
1378
|
+
def self.from_hash(hash, name='sepaDirectDebit')
|
1379
|
+
base = hash[name]
|
1380
|
+
if(base)
|
1381
|
+
this = SepaDirectDebitType.new
|
1382
|
+
this.mandateProvider = base['mandateProvider']
|
1383
|
+
this.sequenceType = base['sequenceType']
|
1384
|
+
this.mandateReference = base['mandateReference']
|
1385
|
+
this.mandateUrl = base['mandateUrl']
|
1386
|
+
this.mandateSignatureDate = base['mandateSignatureDate']
|
1387
|
+
this.iban = base['iban']
|
1388
|
+
this.preferredLanguage = base['preferredLanguage']
|
1389
|
+
this
|
1390
|
+
else
|
1391
|
+
nil
|
1392
|
+
end
|
1393
|
+
end
|
1394
|
+
end
|
1395
|
+
|
1396
|
+
class IdealType
|
1397
|
+
include XML::Mapping
|
1398
|
+
root_element_name "ideal"
|
1399
|
+
text_node :preferredLanguage, "preferredLanguage", :default_value=>nil
|
1400
|
+
def self.from_hash(hash, name='ideal')
|
1401
|
+
base = hash[name]
|
1402
|
+
if(base)
|
1403
|
+
this = IdealType.new
|
1404
|
+
this.preferredLanguage = base['preferredLanguage']
|
1405
|
+
this
|
1406
|
+
else
|
1407
|
+
nil
|
1408
|
+
end
|
1409
|
+
end
|
1410
|
+
end
|
1411
|
+
|
1412
|
+
class GiropayType
|
1413
|
+
include XML::Mapping
|
1414
|
+
root_element_name "giropay"
|
1415
|
+
text_node :preferredLanguage, "preferredLanguage", :default_value=>nil
|
1416
|
+
def self.from_hash(hash, name='giropay')
|
1417
|
+
base = hash[name]
|
1418
|
+
if(base)
|
1419
|
+
this = GiropayType.new
|
1420
|
+
this.preferredLanguage = base['preferredLanguage']
|
1421
|
+
this
|
1422
|
+
else
|
1423
|
+
nil
|
1424
|
+
end
|
1425
|
+
end
|
1426
|
+
end
|
1427
|
+
|
1428
|
+
class SofortType
|
1429
|
+
include XML::Mapping
|
1430
|
+
root_element_name "sofort"
|
1431
|
+
text_node :preferredLanguage, "preferredLanguage", :default_value=>nil
|
1432
|
+
def self.from_hash(hash, name='sofort')
|
1433
|
+
base = hash[name]
|
1434
|
+
if(base)
|
1435
|
+
this = SofortType.new
|
1436
|
+
this.preferredLanguage = base['preferredLanguage']
|
1437
|
+
this
|
1438
|
+
else
|
1439
|
+
nil
|
1440
|
+
end
|
1441
|
+
end
|
1442
|
+
end
|
1443
|
+
|
1316
1444
|
class Authorization
|
1317
1445
|
include XML::Mapping
|
1318
1446
|
root_element_name "authorization"
|
@@ -1352,9 +1480,11 @@ module LitleOnline
|
|
1352
1480
|
object_node :recurringRequest,"recurringRequest", :class=>RecurringRequest, :default_value=>nil
|
1353
1481
|
text_node :debtRepayment,"debtRepayment", :default_value=>nil
|
1354
1482
|
object_node :advancedFraudChecks, "advancedFraudChecks",:class=>AdvancedFraudChecks, :default_value=>nil
|
1355
|
-
|
1356
|
-
|
1357
|
-
text_node :
|
1483
|
+
#9.10
|
1484
|
+
object_node :wallet,"wallet", :class=>Wallet, :default_value=>nil
|
1485
|
+
text_node :processingType,"processingType", :default_value=>nil
|
1486
|
+
text_node :originalNetworkTransactionId,"originalNetworkTransactionId", :default_value=>nil
|
1487
|
+
text_node :originalTransactionAmount,"originalTransactionAmount", :default_value=>nil
|
1358
1488
|
end
|
1359
1489
|
|
1360
1490
|
class Sale
|
@@ -1378,7 +1508,13 @@ module LitleOnline
|
|
1378
1508
|
:elsif, 'token', :then, (object_node :token, "token", :class=>CardToken),
|
1379
1509
|
:elsif, 'paypage', :then, (object_node :paypage, "paypage", :class=>CardPaypage),
|
1380
1510
|
:elsif, 'mpos', :then, (object_node :mpos, "mpos", :class=>Mpos),
|
1381
|
-
:elsif, 'applepay', :then, (object_node :applepay, "applepay", :class=>Applepay)
|
1511
|
+
:elsif, 'applepay', :then, (object_node :applepay, "applepay", :class=>Applepay),
|
1512
|
+
:elsif, 'sepaDirectDebit', :then, (object_node :sepaDirectDebit, "sepaDirectDebit", :class=>SepaDirectDebitType),
|
1513
|
+
:elsif, 'ideal', :then, (object_node :ideal, "ideal", :class=>IdealType),
|
1514
|
+
#9.14 Begin
|
1515
|
+
:elsif, 'giropay', :then, (object_node :giropay, "giropay", :class=>GiropayType),
|
1516
|
+
:elsif, 'sofort', :then, (object_node :sofort, "sofort", :class=>SofortType)
|
1517
|
+
#9.14 End
|
1382
1518
|
object_node :billMeLaterRequest, "billMeLaterRequest", :class=>BillMeLaterRequest, :default_value=>nil
|
1383
1519
|
optional_choice_node :if, 'fraudCheck', :then, (object_node :fraudCheck, "fraudCheck", :class=>FraudCheck, :default_value=>nil),
|
1384
1520
|
:elsif, 'cardholderAuthentication', :then, (object_node :cardholderAuthentication, "cardholderAuthentication", :class=>FraudCheck, :default_value=>nil)
|
@@ -1400,9 +1536,11 @@ module LitleOnline
|
|
1400
1536
|
object_node :litleInternalRecurringRequest, "litleInternalRecurringRequest", :class=>LitleInternalRecurringRequest, :default_value=>nil
|
1401
1537
|
text_node :debtRepayment,"debtRepayment", :default_value=>nil
|
1402
1538
|
object_node :advancedFraudChecks, "advancedFraudChecks",:class=>AdvancedFraudChecks, :default_value=>nil
|
1403
|
-
|
1404
|
-
|
1405
|
-
text_node :
|
1539
|
+
#9.10
|
1540
|
+
object_node :wallet,"wallet", :class=>Wallet, :default_value=>nil
|
1541
|
+
text_node :processingType,"processingType", :default_value=>nil
|
1542
|
+
text_node :originalNetworkTransactionId,"originalNetworkTransactionId", :default_value=>nil
|
1543
|
+
text_node :originalTransactionAmount,"originalTransactionAmount", :default_value=>nil
|
1406
1544
|
end
|
1407
1545
|
|
1408
1546
|
class Credit
|
@@ -1430,6 +1568,9 @@ module LitleOnline
|
|
1430
1568
|
object_node :enhancedData, "enhancedData", :class=>EnhancedData, :default_value=>nil
|
1431
1569
|
object_node :processingInstructions, "processingInstructions", :class=>ProcessingInstructions, :default_value=>nil
|
1432
1570
|
object_node :pos, "pos", :class=>Pos, :default_value=>nil
|
1571
|
+
#9.10
|
1572
|
+
text_node :pin, "pin", :default_value=>nil
|
1573
|
+
#9.10 end
|
1433
1574
|
object_node :amexAggregatorData, "amexAggregatorData", :class=>AmexAggregatorData, :default_value=>nil
|
1434
1575
|
object_node :merchantData, "merchantData", :class=>MerchantData, :default_value=>nil
|
1435
1576
|
text_node :payPalNotes, "payPalNotes", :default_value=>nil
|
@@ -1478,9 +1619,10 @@ module LitleOnline
|
|
1478
1619
|
object_node :amexAggregatorData, "amexAggregatorData", :class=>AmexAggregatorData, :default_value=>nil
|
1479
1620
|
object_node :merchantData, "merchantData", :class=>MerchantData, :default_value=>nil
|
1480
1621
|
text_node :debtRepayment,"debtRepayment", :default_value=>nil
|
1481
|
-
|
1482
|
-
text_node :
|
1483
|
-
text_node :
|
1622
|
+
#9.10
|
1623
|
+
text_node :processingType,"processingType", :default_value=>nil
|
1624
|
+
text_node :originalNetworkTransactionId,"originalNetworkTransactionId", :default_value=>nil
|
1625
|
+
text_node :originalTransactionAmount,"originalTransactionAmount", :default_value=>nil
|
1484
1626
|
end
|
1485
1627
|
|
1486
1628
|
class ForceCapture
|
@@ -1508,7 +1650,8 @@ module LitleOnline
|
|
1508
1650
|
object_node :amexAggregatorData, "amexAggregatorData", :class=>AmexAggregatorData, :default_value=>nil
|
1509
1651
|
object_node :merchantData, "merchantData", :class=>MerchantData, :default_value=>nil
|
1510
1652
|
text_node :debtRepayment,"debtRepayment", :default_value=>nil
|
1511
|
-
|
1653
|
+
#9.10
|
1654
|
+
text_node :processingType,"processingType", :default_value=>nil
|
1512
1655
|
end
|
1513
1656
|
|
1514
1657
|
class AuthReversal
|
@@ -1541,7 +1684,9 @@ module LitleOnline
|
|
1541
1684
|
object_node :processingInstructions, "processingInstructions", :class=>ProcessingInstructions, :default_value=>nil
|
1542
1685
|
text_node :payPalOrderComplete, "payPalOrderComplete", :default_value=>nil
|
1543
1686
|
text_node :payPalNotes, "payPalNotes", :default_value=>nil
|
1687
|
+
#9.10
|
1544
1688
|
object_node :customBilling, "customBilling", :class=>CustomBilling, :default_value=>nil
|
1689
|
+
text_node :pin, "pin", :default_value=>nil
|
1545
1690
|
end
|
1546
1691
|
|
1547
1692
|
class Void
|
@@ -1696,6 +1841,162 @@ module LitleOnline
|
|
1696
1841
|
object_node :merchantData, "merchantData", :class=>MerchantData, :default_value=>nil
|
1697
1842
|
end
|
1698
1843
|
|
1844
|
+
class EcheckPreNoteSale
|
1845
|
+
include XML::Mapping
|
1846
|
+
root_element_name "echeckPreNoteSale"
|
1847
|
+
text_node :reportGroup, "@reportGroup", :default_value=>nil
|
1848
|
+
text_node :transactionId, "@id", :default_value=>nil
|
1849
|
+
text_node :customerId, "@customerId", :default_value=>nil
|
1850
|
+
|
1851
|
+
text_node :orderId, "orderId", :default_value=>nil
|
1852
|
+
text_node :orderSource, "orderSource", :default_value=>nil
|
1853
|
+
object_node :billToAddress, "billToAddress", :class=>Contact, :default_value=>nil
|
1854
|
+
object_node :echeck, "echeck", :class=>Echeck, :default_value=>nil
|
1855
|
+
object_node :merchantData, "merchantData", :class=>MerchantData, :default_value=>nil
|
1856
|
+
end
|
1857
|
+
|
1858
|
+
class EcheckPreNoteCredit
|
1859
|
+
include XML::Mapping
|
1860
|
+
root_element_name "echeckPreNoteCredit"
|
1861
|
+
text_node :reportGroup, "@reportGroup", :default_value=>nil
|
1862
|
+
text_node :transactionId, "@id", :default_value=>nil
|
1863
|
+
text_node :customerId, "@customerId", :default_value=>nil
|
1864
|
+
|
1865
|
+
text_node :orderId, "orderId", :default_value=>nil
|
1866
|
+
text_node :orderSource, "orderSource", :default_value=>nil
|
1867
|
+
object_node :billToAddress, "billToAddress", :class=>Contact, :default_value=>nil
|
1868
|
+
object_node :echeck, "echeck", :class=>Echeck, :default_value=>nil
|
1869
|
+
object_node :merchantData, "merchantData", :class=>MerchantData, :default_value=>nil
|
1870
|
+
end
|
1871
|
+
|
1872
|
+
class SubmerchantCredit
|
1873
|
+
include XML::Mapping
|
1874
|
+
root_element_name "submerchantCredit"
|
1875
|
+
text_node :reportGroup, "@reportGroup", :default_value=>nil
|
1876
|
+
text_node :transactionId, "@id", :default_value=>nil
|
1877
|
+
text_node :customerId, "@customerId", :default_value=>nil
|
1878
|
+
|
1879
|
+
text_node :fundingSubmerchantId, "fundingSubmerchantId", :default_value=>nil
|
1880
|
+
text_node :submerchantName, "submerchantName", :default_value=>nil
|
1881
|
+
text_node :fundsTransferId, "fundsTransferId", :default_value=>nil
|
1882
|
+
text_node :amount, "amount", :default_value=>nil
|
1883
|
+
object_node :accountInfo, "accountInfo", :class=>Echeck, :default_value=>nil
|
1884
|
+
end
|
1885
|
+
|
1886
|
+
class PayFacCredit
|
1887
|
+
include XML::Mapping
|
1888
|
+
root_element_name "payFacCredit"
|
1889
|
+
text_node :reportGroup, "@reportGroup", :default_value=>nil
|
1890
|
+
text_node :transactionId, "@id", :default_value=>nil
|
1891
|
+
text_node :customerId, "@customerId", :default_value=>nil
|
1892
|
+
|
1893
|
+
text_node :fundingSubmerchantId, "fundingSubmerchantId", :default_value=>nil
|
1894
|
+
text_node :fundsTransferId, "fundsTransferId", :default_value=>nil
|
1895
|
+
text_node :amount, "amount", :default_value=>nil
|
1896
|
+
end
|
1897
|
+
|
1898
|
+
class ReserveCredit
|
1899
|
+
include XML::Mapping
|
1900
|
+
root_element_name "reserveCredit"
|
1901
|
+
text_node :reportGroup, "@reportGroup", :default_value=>nil
|
1902
|
+
text_node :transactionId, "@id", :default_value=>nil
|
1903
|
+
text_node :customerId, "@customerId", :default_value=>nil
|
1904
|
+
|
1905
|
+
text_node :fundingSubmerchantId, "fundingSubmerchantId", :default_value=>nil
|
1906
|
+
text_node :fundsTransferId, "fundsTransferId", :default_value=>nil
|
1907
|
+
text_node :amount, "amount", :default_value=>nil
|
1908
|
+
end
|
1909
|
+
|
1910
|
+
class VendorCredit
|
1911
|
+
include XML::Mapping
|
1912
|
+
root_element_name "vendorCredit"
|
1913
|
+
text_node :reportGroup, "@reportGroup", :default_value=>nil
|
1914
|
+
text_node :transactionId, "@id", :default_value=>nil
|
1915
|
+
text_node :customerId, "@customerId", :default_value=>nil
|
1916
|
+
|
1917
|
+
text_node :fundingSubmerchantId, "fundingSubmerchantId", :default_value=>nil
|
1918
|
+
text_node :vendorName, "vendorName", :default_value=>nil
|
1919
|
+
text_node :fundsTransferId, "fundsTransferId", :default_value=>nil
|
1920
|
+
text_node :amount, "amount", :default_value=>nil
|
1921
|
+
object_node :accountInfo, "accountInfo", :class=>Echeck, :default_value=>nil
|
1922
|
+
end
|
1923
|
+
|
1924
|
+
class PhysicalCheckCredit
|
1925
|
+
include XML::Mapping
|
1926
|
+
root_element_name "physicalCheckCredit"
|
1927
|
+
text_node :reportGroup, "@reportGroup", :default_value=>nil
|
1928
|
+
text_node :transactionId, "@id", :default_value=>nil
|
1929
|
+
text_node :customerId, "@customerId", :default_value=>nil
|
1930
|
+
|
1931
|
+
text_node :fundingSubmerchantId, "fundingSubmerchantId", :default_value=>nil
|
1932
|
+
text_node :fundsTransferId, "fundsTransferId", :default_value=>nil
|
1933
|
+
text_node :amount, "amount", :default_value=>nil
|
1934
|
+
end
|
1935
|
+
|
1936
|
+
class SubmerchantDebit
|
1937
|
+
include XML::Mapping
|
1938
|
+
root_element_name "submerchantDebit"
|
1939
|
+
text_node :reportGroup, "@reportGroup", :default_value=>nil
|
1940
|
+
text_node :transactionId, "@id", :default_value=>nil
|
1941
|
+
text_node :customerId, "@customerId", :default_value=>nil
|
1942
|
+
|
1943
|
+
text_node :fundingSubmerchantId, "fundingSubmerchantId", :default_value=>nil
|
1944
|
+
text_node :submerchantName, "submerchantName", :default_value=>nil
|
1945
|
+
text_node :fundsTransferId, "fundsTransferId", :default_value=>nil
|
1946
|
+
text_node :amount, "amount", :default_value=>nil
|
1947
|
+
object_node :accountInfo, "accountInfo", :class=>Echeck, :default_value=>nil
|
1948
|
+
end
|
1949
|
+
|
1950
|
+
class PayFacDebit
|
1951
|
+
include XML::Mapping
|
1952
|
+
root_element_name "payFacDebit"
|
1953
|
+
text_node :reportGroup, "@reportGroup", :default_value=>nil
|
1954
|
+
text_node :transactionId, "@id", :default_value=>nil
|
1955
|
+
text_node :customerId, "@customerId", :default_value=>nil
|
1956
|
+
|
1957
|
+
text_node :fundingSubmerchantId, "fundingSubmerchantId", :default_value=>nil
|
1958
|
+
text_node :fundsTransferId, "fundsTransferId", :default_value=>nil
|
1959
|
+
text_node :amount, "amount", :default_value=>nil
|
1960
|
+
end
|
1961
|
+
|
1962
|
+
class ReserveDebit
|
1963
|
+
include XML::Mapping
|
1964
|
+
root_element_name "reserveDebit"
|
1965
|
+
text_node :reportGroup, "@reportGroup", :default_value=>nil
|
1966
|
+
text_node :transactionId, "@id", :default_value=>nil
|
1967
|
+
text_node :customerId, "@customerId", :default_value=>nil
|
1968
|
+
|
1969
|
+
text_node :fundingSubmerchantId, "fundingSubmerchantId", :default_value=>nil
|
1970
|
+
text_node :fundsTransferId, "fundsTransferId", :default_value=>nil
|
1971
|
+
text_node :amount, "amount", :default_value=>nil
|
1972
|
+
end
|
1973
|
+
|
1974
|
+
class VendorDebit
|
1975
|
+
include XML::Mapping
|
1976
|
+
root_element_name "vendorDebit"
|
1977
|
+
text_node :reportGroup, "@reportGroup", :default_value=>nil
|
1978
|
+
text_node :transactionId, "@id", :default_value=>nil
|
1979
|
+
text_node :customerId, "@customerId", :default_value=>nil
|
1980
|
+
|
1981
|
+
text_node :fundingSubmerchantId, "fundingSubmerchantId", :default_value=>nil
|
1982
|
+
text_node :vendorName, "vendorName", :default_value=>nil
|
1983
|
+
text_node :fundsTransferId, "fundsTransferId", :default_value=>nil
|
1984
|
+
text_node :amount, "amount", :default_value=>nil
|
1985
|
+
object_node :accountInfo, "accountInfo", :class=>Echeck, :default_value=>nil
|
1986
|
+
end
|
1987
|
+
|
1988
|
+
class PhysicalCheckDebit
|
1989
|
+
include XML::Mapping
|
1990
|
+
root_element_name "physicalCheckDebit"
|
1991
|
+
text_node :reportGroup, "@reportGroup", :default_value=>nil
|
1992
|
+
text_node :transactionId, "@id", :default_value=>nil
|
1993
|
+
text_node :customerId, "@customerId", :default_value=>nil
|
1994
|
+
|
1995
|
+
text_node :fundingSubmerchantId, "fundingSubmerchantId", :default_value=>nil
|
1996
|
+
text_node :fundsTransferId, "fundsTransferId", :default_value=>nil
|
1997
|
+
text_node :amount, "amount", :default_value=>nil
|
1998
|
+
end
|
1999
|
+
|
1699
2000
|
class UpdateCardValidationNumOnToken
|
1700
2001
|
include XML::Mapping
|
1701
2002
|
root_element_name "updateCardValidationNumOnToken"
|
@@ -1760,7 +2061,8 @@ module LitleOnline
|
|
1760
2061
|
:elsif, 'deactivateReversal', :then, (object_node :deactivateReversal,"deactivateReversal", :class=>DeactivateReversal),
|
1761
2062
|
:elsif, 'loadReversal', :then, (object_node :loadReversal,"loadReversal", :class=>LoadReversal),
|
1762
2063
|
:elsif, 'unloadReversal', :then, (object_node :unloadReversal,"unloadReversal", :class=>UnloadReversal),
|
1763
|
-
:elsif, 'advancedFraudResults', :then, (object_node :advancedFraudResults,"advancedFraudResults", :class=>AdvancedFraudResults)
|
2064
|
+
:elsif, 'advancedFraudResults', :then, (object_node :advancedFraudResults,"advancedFraudResults", :class=>AdvancedFraudResults),
|
2065
|
+
:elsif, 'fraudCheck', :then, (object_node :fraudCheck, "fraudCheck", :class=>FraudCheck)
|
1764
2066
|
def post_save(xml, options={:Mapping=>:_default})
|
1765
2067
|
xml.each_element() {|el|
|
1766
2068
|
if(el.name == 'captureTxn')
|
@@ -1793,6 +2095,28 @@ module LitleOnline
|
|
1793
2095
|
text_node :numEcheckSales, "@numEcheckSales", :default_value=>"0"
|
1794
2096
|
text_node :echeckSalesAmount, "@echeckSalesAmount", :default_value=>"0"
|
1795
2097
|
text_node :numEcheckRedeposit, "@numEcheckRedeposit", :default_value=>"0"
|
2098
|
+
text_node :numEcheckPreNoteSale, "@numEcheckPreNoteSale", :default_value=>"0"
|
2099
|
+
text_node :numEcheckPreNoteCredit, "@numEcheckPreNoteCredit", :default_value=>"0"
|
2100
|
+
text_node :numSubmerchantCredit , "@numSubmerchantCredit", :default_value=>"0"
|
2101
|
+
text_node :numPayFacCredit , "@numPayFacCredit", :default_value=>"0"
|
2102
|
+
text_node :numReserveCredit , "@numReserveCredit", :default_value=>"0"
|
2103
|
+
text_node :numVendorCredit , "@numVendorCredit", :default_value=>"0"
|
2104
|
+
text_node :numPhysicalCheckCredit , "@numPhysicalCheckCredit", :default_value=>"0"
|
2105
|
+
text_node :submerchantCreditAmount , "@submerchantCreditAmount", :default_value=>"0"
|
2106
|
+
text_node :payFacCreditAmount , "@payFacCreditAmount", :default_value=>"0"
|
2107
|
+
text_node :reserveCreditAmount , "@reserveCreditAmount", :default_value=>"0"
|
2108
|
+
text_node :vendorCreditAmount , "@vendorCreditAmount", :default_value=>"0"
|
2109
|
+
text_node :physicalCheckCreditAmount , "@physicalCheckCreditAmount", :default_value=>"0"
|
2110
|
+
text_node :numSubmerchantDebit , "@numSubmerchantDebit", :default_value=>"0"
|
2111
|
+
text_node :numPayFacDebit , "@numPayFacDebit", :default_value=>"0"
|
2112
|
+
text_node :numReserveDebit , "@numReserveDebit", :default_value=>"0"
|
2113
|
+
text_node :numVendorDebit , "@numVendorDebit", :default_value=>"0"
|
2114
|
+
text_node :numPhysicalCheckDebit , "@numPhysicalCheckDebit", :default_value=>"0"
|
2115
|
+
text_node :submerchantDebitAmount , "@submerchantDebitAmount", :default_value=>"0"
|
2116
|
+
text_node :payFacDebitAmount , "@payFacDebitAmount", :default_value=>"0"
|
2117
|
+
text_node :reserveDebitAmount , "@reserveDebitAmount", :default_value=>"0"
|
2118
|
+
text_node :vendorDebitAmount , "@vendorDebitAmount", :default_value=>"0"
|
2119
|
+
text_node :physicalCheckDebitAmount , "@physicalCheckDebitAmount", :default_value=>"0"
|
1796
2120
|
text_node :numEcheckCredit, "@numEcheckCredit", :default_value=>"0"
|
1797
2121
|
text_node :echeckCreditAmount, "@echeckCreditAmount", :default_value=>"0"
|
1798
2122
|
text_node :numEcheckVerification, "@numEcheckVerification", :default_value=>"0"
|
@@ -1818,11 +2142,6 @@ module LitleOnline
|
|
1818
2142
|
|
1819
2143
|
class LitleRequest
|
1820
2144
|
include XML::Mapping
|
1821
|
-
# version="6.0" xmlns="http://www.litle.com/schema" numBatchRequests = "1">
|
1822
|
-
# <authentication>
|
1823
|
-
# <user>XMLTESTV6ORG14</user>
|
1824
|
-
# <password>password</password>
|
1825
|
-
# </authentication>
|
1826
2145
|
root_element_name "litleRequest"
|
1827
2146
|
|
1828
2147
|
text_node :version, "@version", :default_value=>"0"
|
@@ -1857,7 +2176,7 @@ module LitleOnline
|
|
1857
2176
|
object_node :authentication, "authentication", :class=>Authentication
|
1858
2177
|
object_node :rfrRequest, 'RFRRequest', :class=>LitleRFRRequest
|
1859
2178
|
end
|
1860
|
-
|
2179
|
+
|
1861
2180
|
# begin
|
1862
2181
|
# class LitleOnlineResponse
|
1863
2182
|
# attr_accessor :message
|