globalpayments-api 1.4.8 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -1
- package/package.json +3 -4
- package/lib/src/Builders/AuthorizationBuilder.d.ts +0 -325
- package/lib/src/Builders/AuthorizationBuilder.js +0 -599
- package/lib/src/Builders/BaseBuilder/ValidationClause.d.ts +0 -14
- package/lib/src/Builders/BaseBuilder/ValidationClause.js +0 -61
- package/lib/src/Builders/BaseBuilder/ValidationTarget.d.ts +0 -16
- package/lib/src/Builders/BaseBuilder/ValidationTarget.js +0 -28
- package/lib/src/Builders/BaseBuilder/Validations.d.ts +0 -11
- package/lib/src/Builders/BaseBuilder/Validations.js +0 -56
- package/lib/src/Builders/BaseBuilder.d.ts +0 -11
- package/lib/src/Builders/BaseBuilder.js +0 -16
- package/lib/src/Builders/ManagementBuilder.d.ts +0 -103
- package/lib/src/Builders/ManagementBuilder.js +0 -227
- package/lib/src/Builders/RecurringBuilder.d.ts +0 -13
- package/lib/src/Builders/RecurringBuilder.js +0 -47
- package/lib/src/Builders/ReportBuilder.d.ts +0 -8
- package/lib/src/Builders/ReportBuilder.js +0 -36
- package/lib/src/Builders/TransactionBuilder.d.ts +0 -10
- package/lib/src/Builders/TransactionBuilder.js +0 -46
- package/lib/src/Builders/TransactionReportBuilder.d.ts +0 -15
- package/lib/src/Builders/TransactionReportBuilder.js +0 -79
- package/lib/src/Builders/index.d.ts +0 -7
- package/lib/src/Builders/index.js +0 -19
- package/lib/src/Entities/Address.d.ts +0 -13
- package/lib/src/Entities/Address.js +0 -19
- package/lib/src/Entities/BatchSummary.d.ts +0 -6
- package/lib/src/Entities/BatchSummary.js +0 -9
- package/lib/src/Entities/Customer.d.ts +0 -64
- package/lib/src/Entities/Customer.js +0 -47
- package/lib/src/Entities/EcommerceInfo.d.ts +0 -12
- package/lib/src/Entities/EcommerceInfo.js +0 -14
- package/lib/src/Entities/EncryptionData.d.ts +0 -6
- package/lib/src/Entities/EncryptionData.js +0 -9
- package/lib/src/Entities/Enums.d.ts +0 -230
- package/lib/src/Entities/Enums.js +0 -267
- package/lib/src/Entities/Errors.d.ts +0 -23
- package/lib/src/Entities/Errors.js +0 -106
- package/lib/src/Entities/HostedPaymentData.d.ts +0 -10
- package/lib/src/Entities/HostedPaymentData.js +0 -10
- package/lib/src/Entities/RecurringEntity.d.ts +0 -14
- package/lib/src/Entities/RecurringEntity.js +0 -86
- package/lib/src/Entities/Schedule.d.ts +0 -47
- package/lib/src/Entities/Schedule.js +0 -253
- package/lib/src/Entities/Transaction.d.ts +0 -76
- package/lib/src/Entities/Transaction.js +0 -108
- package/lib/src/Entities/TransactionSummary.d.ts +0 -61
- package/lib/src/Entities/TransactionSummary.js +0 -9
- package/lib/src/Entities/index.d.ts +0 -12
- package/lib/src/Entities/index.js +0 -24
- package/lib/src/Gateways/Gateway.d.ts +0 -10
- package/lib/src/Gateways/Gateway.js +0 -42
- package/lib/src/Gateways/IPaymentGateway.d.ts +0 -8
- package/lib/src/Gateways/IPaymentGateway.js +0 -2
- package/lib/src/Gateways/IRecurringService.d.ts +0 -6
- package/lib/src/Gateways/IRecurringService.js +0 -2
- package/lib/src/Gateways/PayPlanConnector.d.ts +0 -42
- package/lib/src/Gateways/PayPlanConnector.js +0 -552
- package/lib/src/Gateways/PorticoConnector.d.ts +0 -44
- package/lib/src/Gateways/PorticoConnector.js +0 -1018
- package/lib/src/Gateways/RealexConnector.d.ts +0 -30
- package/lib/src/Gateways/RealexConnector.js +0 -523
- package/lib/src/Gateways/RestGateway.d.ts +0 -6
- package/lib/src/Gateways/RestGateway.js +0 -31
- package/lib/src/Gateways/XmlGateway.d.ts +0 -6
- package/lib/src/Gateways/XmlGateway.js +0 -38
- package/lib/src/Gateways/https-wrapper.d.ts +0 -3
- package/lib/src/Gateways/https-wrapper.js +0 -35
- package/lib/src/Gateways/index.d.ts +0 -7
- package/lib/src/Gateways/index.js +0 -19
- package/lib/src/HostedPaymentConfig.d.ts +0 -12
- package/lib/src/HostedPaymentConfig.js +0 -9
- package/lib/src/PaymentMethods/Cash.d.ts +0 -8
- package/lib/src/PaymentMethods/Cash.js +0 -36
- package/lib/src/PaymentMethods/Credit.d.ts +0 -85
- package/lib/src/PaymentMethods/Credit.js +0 -106
- package/lib/src/PaymentMethods/CreditCardData.d.ts +0 -19
- package/lib/src/PaymentMethods/CreditCardData.js +0 -51
- package/lib/src/PaymentMethods/CreditTrackData.d.ts +0 -7
- package/lib/src/PaymentMethods/CreditTrackData.js +0 -27
- package/lib/src/PaymentMethods/Debit.d.ts +0 -40
- package/lib/src/PaymentMethods/Debit.js +0 -70
- package/lib/src/PaymentMethods/DebitTrackData.d.ts +0 -7
- package/lib/src/PaymentMethods/DebitTrackData.js +0 -27
- package/lib/src/PaymentMethods/EBT.d.ts +0 -48
- package/lib/src/PaymentMethods/EBT.js +0 -88
- package/lib/src/PaymentMethods/EBTCardData.d.ts +0 -16
- package/lib/src/PaymentMethods/EBTCardData.js +0 -32
- package/lib/src/PaymentMethods/EBTTrackData.d.ts +0 -8
- package/lib/src/PaymentMethods/EBTTrackData.js +0 -27
- package/lib/src/PaymentMethods/ECheck.d.ts +0 -32
- package/lib/src/PaymentMethods/ECheck.js +0 -40
- package/lib/src/PaymentMethods/GiftCard.d.ts +0 -131
- package/lib/src/PaymentMethods/GiftCard.js +0 -205
- package/lib/src/PaymentMethods/Interfaces.d.ts +0 -55
- package/lib/src/PaymentMethods/Interfaces.js +0 -2
- package/lib/src/PaymentMethods/PaymentMethod.d.ts +0 -19
- package/lib/src/PaymentMethods/PaymentMethod.js +0 -114
- package/lib/src/PaymentMethods/RecurringPaymentMethod.d.ts +0 -23
- package/lib/src/PaymentMethods/RecurringPaymentMethod.js +0 -77
- package/lib/src/PaymentMethods/TransactionReference.d.ts +0 -10
- package/lib/src/PaymentMethods/TransactionReference.js +0 -12
- package/lib/src/PaymentMethods/index.d.ts +0 -15
- package/lib/src/PaymentMethods/index.js +0 -27
- package/lib/src/Services/BatchService.d.ts +0 -4
- package/lib/src/Services/BatchService.js +0 -17
- package/lib/src/Services/CheckService.d.ts +0 -6
- package/lib/src/Services/CheckService.js +0 -20
- package/lib/src/Services/CreditService.d.ts +0 -12
- package/lib/src/Services/CreditService.js +0 -54
- package/lib/src/Services/DebitService.d.ts +0 -7
- package/lib/src/Services/DebitService.js +0 -28
- package/lib/src/Services/EBTService.d.ts +0 -8
- package/lib/src/Services/EBTService.js +0 -32
- package/lib/src/Services/GiftService.d.ts +0 -16
- package/lib/src/Services/GiftService.js +0 -54
- package/lib/src/Services/HostedService.d.ts +0 -9
- package/lib/src/Services/HostedService.js +0 -59
- package/lib/src/Services/RecurringService.d.ts +0 -8
- package/lib/src/Services/RecurringService.js +0 -27
- package/lib/src/Services/ReportingService.d.ts +0 -6
- package/lib/src/Services/ReportingService.js +0 -19
- package/lib/src/Services/index.d.ts +0 -9
- package/lib/src/Services/index.js +0 -21
- package/lib/src/ServicesConfig.d.ts +0 -23
- package/lib/src/ServicesConfig.js +0 -50
- package/lib/src/ServicesContainer.d.ts +0 -11
- package/lib/src/ServicesContainer.js +0 -73
- package/lib/src/Utils/GenerationUtils.d.ts +0 -5
- package/lib/src/Utils/GenerationUtils.js +0 -36
- package/lib/src/Utils/InputValidation.d.ts +0 -12
- package/lib/src/Utils/InputValidation.js +0 -72
- package/lib/src/Utils/Sha1.d.ts +0 -6
- package/lib/src/Utils/Sha1.js +0 -225
- package/lib/src/Utils/StringUtils.d.ts +0 -6
- package/lib/src/Utils/StringUtils.js +0 -53
- package/lib/src/Utils/index.d.ts +0 -2
- package/lib/src/Utils/index.js +0 -14
- package/lib/src/index.d.ts +0 -11
- package/lib/src/index.js +0 -27
- package/lib/test/Data/TestCards.d.ts +0 -24
- package/lib/test/Data/TestCards.js +0 -232
- package/lib/test/Data/TestChecks.d.ts +0 -4
- package/lib/test/Data/TestChecks.js +0 -32
- package/lib/test/Data/index.d.ts +0 -2
- package/lib/test/Data/index.js +0 -14
- package/lib/test/Integration/Gateways/PorticoConnector/AchTest.d.ts +0 -1
- package/lib/test/Integration/Gateways/PorticoConnector/AchTest.js +0 -112
- package/lib/test/Integration/Gateways/PorticoConnector/Certifications/CheckTest.d.ts +0 -1
- package/lib/test/Integration/Gateways/PorticoConnector/Certifications/CheckTest.js +0 -483
- package/lib/test/Integration/Gateways/PorticoConnector/Certifications/EcommerceCheckTest.d.ts +0 -1
- package/lib/test/Integration/Gateways/PorticoConnector/Certifications/EcommerceCheckTest.js +0 -83
- package/lib/test/Integration/Gateways/PorticoConnector/Certifications/EcommerceTest.d.ts +0 -1
- package/lib/test/Integration/Gateways/PorticoConnector/Certifications/EcommerceTest.js +0 -1720
- package/lib/test/Integration/Gateways/PorticoConnector/Certifications/MotoCheckTest.d.ts +0 -1
- package/lib/test/Integration/Gateways/PorticoConnector/Certifications/MotoCheckTest.js +0 -83
- package/lib/test/Integration/Gateways/PorticoConnector/Certifications/MotoTest.d.ts +0 -1
- package/lib/test/Integration/Gateways/PorticoConnector/Certifications/MotoTest.js +0 -1757
- package/lib/test/Integration/Gateways/PorticoConnector/Certifications/RecurringTest.d.ts +0 -1
- package/lib/test/Integration/Gateways/PorticoConnector/Certifications/RecurringTest.js +0 -682
- package/lib/test/Integration/Gateways/PorticoConnector/Certifications/RetailTest.d.ts +0 -1
- package/lib/test/Integration/Gateways/PorticoConnector/Certifications/RetailTest.js +0 -2218
- package/lib/test/Integration/Gateways/PorticoConnector/CreditTest.d.ts +0 -1
- package/lib/test/Integration/Gateways/PorticoConnector/CreditTest.js +0 -708
- package/lib/test/Integration/Gateways/PorticoConnector/DebitTest.d.ts +0 -1
- package/lib/test/Integration/Gateways/PorticoConnector/DebitTest.js +0 -151
- package/lib/test/Integration/Gateways/PorticoConnector/EbtTest.d.ts +0 -1
- package/lib/test/Integration/Gateways/PorticoConnector/EbtTest.js +0 -171
- package/lib/test/Integration/Gateways/PorticoConnector/EcommerceTest.d.ts +0 -1
- package/lib/test/Integration/Gateways/PorticoConnector/EcommerceTest.js +0 -192
- package/lib/test/Integration/Gateways/PorticoConnector/GiftTest.d.ts +0 -1
- package/lib/test/Integration/Gateways/PorticoConnector/GiftTest.js +0 -377
- package/lib/test/Integration/Gateways/PorticoConnector/RecurringTest.d.ts +0 -1
- package/lib/test/Integration/Gateways/PorticoConnector/RecurringTest.js +0 -196
- package/lib/test/Integration/Gateways/PorticoConnector/ReportingTest.d.ts +0 -1
- package/lib/test/Integration/Gateways/PorticoConnector/ReportingTest.js +0 -47
- package/lib/test/Integration/Gateways/RealexConnector/Certification/AuthTest.d.ts +0 -1
- package/lib/test/Integration/Gateways/RealexConnector/Certification/AuthTest.js +0 -4373
- package/lib/test/Integration/Gateways/RealexConnector/Certification/AvsTest.d.ts +0 -1
- package/lib/test/Integration/Gateways/RealexConnector/Certification/AvsTest.js +0 -758
- package/lib/test/Integration/Gateways/RealexConnector/Certification/CreditTest.d.ts +0 -1
- package/lib/test/Integration/Gateways/RealexConnector/Certification/CreditTest.js +0 -2399
- package/lib/test/Integration/Gateways/RealexConnector/Certification/HoldTest.d.ts +0 -1
- package/lib/test/Integration/Gateways/RealexConnector/Certification/HoldTest.js +0 -1656
- package/lib/test/Integration/Gateways/RealexConnector/Certification/ManualTest.d.ts +0 -1
- package/lib/test/Integration/Gateways/RealexConnector/Certification/ManualTest.js +0 -5650
- package/lib/test/Integration/Gateways/RealexConnector/Certification/OtbTest.d.ts +0 -1
- package/lib/test/Integration/Gateways/RealexConnector/Certification/OtbTest.js +0 -1985
- package/lib/test/Integration/Gateways/RealexConnector/Certification/RebateTest.d.ts +0 -1
- package/lib/test/Integration/Gateways/RealexConnector/Certification/RebateTest.js +0 -2369
- package/lib/test/Integration/Gateways/RealexConnector/Certification/ReleaseTest.d.ts +0 -1
- package/lib/test/Integration/Gateways/RealexConnector/Certification/ReleaseTest.js +0 -1703
- package/lib/test/Integration/Gateways/RealexConnector/Certification/SettleTest.d.ts +0 -1
- package/lib/test/Integration/Gateways/RealexConnector/Certification/SettleTest.js +0 -2053
- package/lib/test/Integration/Gateways/RealexConnector/Certification/ValidationTest.d.ts +0 -1
- package/lib/test/Integration/Gateways/RealexConnector/Certification/ValidationTest.js +0 -2469
- package/lib/test/Integration/Gateways/RealexConnector/Certification/VerifyEnrolledTest.d.ts +0 -1
- package/lib/test/Integration/Gateways/RealexConnector/Certification/VerifyEnrolledTest.js +0 -3116
- package/lib/test/Integration/Gateways/RealexConnector/Certification/VoidTest.d.ts +0 -1
- package/lib/test/Integration/Gateways/RealexConnector/Certification/VoidTest.js +0 -2031
- package/lib/test/Integration/Gateways/RealexConnector/CreditTest.d.ts +0 -1
- package/lib/test/Integration/Gateways/RealexConnector/CreditTest.js +0 -322
- package/lib/test/Integration/Gateways/RealexConnector/HppTest.d.ts +0 -1
- package/lib/test/Integration/Gateways/RealexConnector/HppTest.js +0 -98
- package/lib/test/Integration/Gateways/RealexConnector/RecurringTest.d.ts +0 -1
- package/lib/test/Integration/Gateways/RealexConnector/RecurringTest.js +0 -263
- package/lib/test/Integration/Services/CheckServiceTest.d.ts +0 -1
- package/lib/test/Integration/Services/CheckServiceTest.js +0 -98
- package/lib/test/Integration/Services/CreditServiceTest.d.ts +0 -1
- package/lib/test/Integration/Services/CreditServiceTest.js +0 -313
- package/lib/test/Integration/Services/DebitServiceTest.d.ts +0 -1
- package/lib/test/Integration/Services/DebitServiceTest.js +0 -154
- package/lib/test/Integration/Services/EBTServiceTest.d.ts +0 -1
- package/lib/test/Integration/Services/EBTServiceTest.js +0 -135
- package/lib/test/Unit/Builders/AuthorizationBuilder/ValidationTest.d.ts +0 -1
- package/lib/test/Unit/Builders/AuthorizationBuilder/ValidationTest.js +0 -161
- package/lib/test/Unit/Builders/ReportBuilder/ValidationTest.d.ts +0 -1
- package/lib/test/Unit/Builders/ReportBuilder/ValidationTest.js +0 -139
- package/lib/test/Unit/Gateways/PorticoConnector/InputValidationTest.d.ts +0 -1
- package/lib/test/Unit/Gateways/PorticoConnector/InputValidationTest.js +0 -202
- package/lib/test/Unit/Gateways/RealexConnector/CreditTest.d.ts +0 -1
- package/lib/test/Unit/Gateways/RealexConnector/CreditTest.js +0 -29
- package/logger.txt +0 -4
|
@@ -1,1018 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.PorticoConnector = void 0;
|
|
19
|
-
var elementtree_1 = require("@azz/elementtree");
|
|
20
|
-
// var pjson = require('package.json')
|
|
21
|
-
var __1 = require("../");
|
|
22
|
-
var InputValidation_1 = require("../Utils/InputValidation");
|
|
23
|
-
var XmlGateway_1 = require("./XmlGateway");
|
|
24
|
-
var PorticoConnector = /** @class */ (function (_super) {
|
|
25
|
-
__extends(PorticoConnector, _super);
|
|
26
|
-
function PorticoConnector() {
|
|
27
|
-
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
28
|
-
_this.supportsHostedPayments = false;
|
|
29
|
-
return _this;
|
|
30
|
-
}
|
|
31
|
-
PorticoConnector.prototype.processAuthorization = function (builder) {
|
|
32
|
-
var _this = this;
|
|
33
|
-
// build request
|
|
34
|
-
var transaction = elementtree_1.Element(this.mapRequestType(builder));
|
|
35
|
-
var block1 = elementtree_1.SubElement(transaction, "Block1");
|
|
36
|
-
var allowDuplicates;
|
|
37
|
-
if (builder.transactionType === __1.TransactionType.Sale ||
|
|
38
|
-
builder.transactionType === __1.TransactionType.Auth) {
|
|
39
|
-
if (builder.paymentMethod.paymentMethodType !== __1.PaymentMethodType.Gift &&
|
|
40
|
-
builder.paymentMethod.paymentMethodType !== __1.PaymentMethodType.ACH) {
|
|
41
|
-
allowDuplicates = elementtree_1.SubElement(block1, "AllowDup");
|
|
42
|
-
allowDuplicates.append(elementtree_1.CData(builder.allowDuplicates ? "Y" : "N"));
|
|
43
|
-
if (builder.transactionModifier === __1.TransactionModifier.None &&
|
|
44
|
-
builder.paymentMethod.paymentMethodType !== __1.PaymentMethodType.EBT &&
|
|
45
|
-
builder.paymentMethod.paymentMethodType !==
|
|
46
|
-
__1.PaymentMethodType.Recurring) {
|
|
47
|
-
elementtree_1.SubElement(block1, "AllowPartialAuth").append(elementtree_1.CData(builder.allowPartialAuth ? "Y" : "N"));
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
if (builder.amount !== undefined && builder.amount !== "") {
|
|
52
|
-
elementtree_1.SubElement(block1, "Amt").append(elementtree_1.CData(InputValidation_1.validateAmount("portico", builder.amount)));
|
|
53
|
-
}
|
|
54
|
-
if (builder.gratuity) {
|
|
55
|
-
elementtree_1.SubElement(block1, "GratuityAmtInfo").append(elementtree_1.CData(InputValidation_1.validateAmount("portico", builder.gratuity)));
|
|
56
|
-
}
|
|
57
|
-
if (builder.convenienceAmt) {
|
|
58
|
-
elementtree_1.SubElement(block1, "ConvenienceAmtInfo").append(elementtree_1.CData(InputValidation_1.validateAmount("portico", builder.convenienceAmt)));
|
|
59
|
-
}
|
|
60
|
-
if (builder.shippingAmt) {
|
|
61
|
-
elementtree_1.SubElement(block1, "ShippingAmtInfo").append(elementtree_1.CData(InputValidation_1.validateAmount("portico", builder.shippingAmt)));
|
|
62
|
-
}
|
|
63
|
-
if (builder.cashBackAmount !== undefined && builder.cashBackAmount !== "") {
|
|
64
|
-
elementtree_1.SubElement(block1,
|
|
65
|
-
// because plano
|
|
66
|
-
builder.paymentMethod.paymentMethodType === __1.PaymentMethodType.Debit
|
|
67
|
-
? "CashbackAmtInfo"
|
|
68
|
-
: "CashBackAmount").append(elementtree_1.CData(InputValidation_1.validateAmount("portico", builder.cashBackAmount)));
|
|
69
|
-
}
|
|
70
|
-
if (builder.offlineAuthCode) {
|
|
71
|
-
elementtree_1.SubElement(block1, "OfflineAuthCode").append(elementtree_1.CData(builder.offlineAuthCode));
|
|
72
|
-
}
|
|
73
|
-
if (builder.transactionType === __1.TransactionType.Alias) {
|
|
74
|
-
elementtree_1.SubElement(block1, "Action").append(elementtree_1.CData(builder.aliasAction.toString()));
|
|
75
|
-
elementtree_1.SubElement(block1, "Alias").append(elementtree_1.CData(builder.alias));
|
|
76
|
-
}
|
|
77
|
-
var isCheck = builder.paymentMethod.paymentMethodType === __1.PaymentMethodType.ACH;
|
|
78
|
-
var property = isCheck ? "checkHolderName" : "cardHolderName";
|
|
79
|
-
if (builder.transactionType !== __1.TransactionType.Reversal && (isCheck || builder.billingAddress || builder.paymentMethod[property])) {
|
|
80
|
-
var holder = elementtree_1.SubElement(block1, isCheck ? "ConsumerInfo" : "CardHolderData");
|
|
81
|
-
var pm = builder.paymentMethod;
|
|
82
|
-
if (pm[property]) {
|
|
83
|
-
var names = pm[property].split(" ", 2);
|
|
84
|
-
elementtree_1.SubElement(holder, isCheck ? "FirstName" : "CardHolderFirstName").append(elementtree_1.CData(InputValidation_1.validateInput("portico", "firstName", names[0])));
|
|
85
|
-
if (names[1]) {
|
|
86
|
-
elementtree_1.SubElement(holder, isCheck ? "LastName" : "CardHolderLastName").append(elementtree_1.CData(InputValidation_1.validateInput("portico", "lastName", names[1])));
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
if (builder.billingAddress) {
|
|
90
|
-
elementtree_1.SubElement(holder, isCheck ? "Address1" : "CardHolderAddr").append(elementtree_1.CData(builder.billingAddress.streetAddress1));
|
|
91
|
-
elementtree_1.SubElement(holder, isCheck ? "City" : "CardHolderCity").append(elementtree_1.CData(InputValidation_1.validateInput("portico", "city", builder.billingAddress.city)));
|
|
92
|
-
elementtree_1.SubElement(holder, isCheck ? "State" : "CardHolderState").append(elementtree_1.CData(InputValidation_1.validateInput("portico", "province", builder.billingAddress.province || builder.billingAddress.state)));
|
|
93
|
-
elementtree_1.SubElement(holder, isCheck ? "Zip" : "CardHolderZip").append(elementtree_1.CData(InputValidation_1.validateInput("portico", "postalCode", builder.billingAddress.postalCode)));
|
|
94
|
-
}
|
|
95
|
-
if (isCheck) {
|
|
96
|
-
var check = builder.paymentMethod;
|
|
97
|
-
elementtree_1.SubElement(holder, "CheckName").append(elementtree_1.CData(check.checkName || check.checkHolderName));
|
|
98
|
-
elementtree_1.SubElement(holder, "PhoneNumber").append(elementtree_1.CData(InputValidation_1.validateInput("portico", "phoneNumber", check.phoneNumber)));
|
|
99
|
-
elementtree_1.SubElement(holder, "DLNumber").append(elementtree_1.CData(check.driversLicenseNumber));
|
|
100
|
-
elementtree_1.SubElement(holder, "DLState").append(elementtree_1.CData(check.driversLicenseState));
|
|
101
|
-
if (check.ssnLast4 || check.birthYear) {
|
|
102
|
-
var identity = elementtree_1.SubElement(holder, "IdentityInfo");
|
|
103
|
-
elementtree_1.SubElement(identity, "SSNL4").append(elementtree_1.CData(check.ssnLast4));
|
|
104
|
-
elementtree_1.SubElement(identity, "DOBYear").append(elementtree_1.CData(check.birthYear));
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
var _a = this.hasToken(builder.paymentMethod), hasToken = _a.hasToken, tokenValue = _a.tokenValue;
|
|
109
|
-
var cardData;
|
|
110
|
-
if (builder.paymentMethod.paymentMethodType === __1.PaymentMethodType.Debit ||
|
|
111
|
-
builder.paymentMethod.paymentMethodType === __1.PaymentMethodType.ACH) {
|
|
112
|
-
cardData = block1;
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
cardData = elementtree_1.Element("CardData");
|
|
116
|
-
}
|
|
117
|
-
if (builder.paymentMethod.isCardData) {
|
|
118
|
-
var card = builder.paymentMethod;
|
|
119
|
-
var manualEntry = elementtree_1.SubElement(cardData, hasToken ? "TokenData" : "ManualEntry");
|
|
120
|
-
if (this.shouldIncludeCredentialOnFile(builder) && (builder.cardBrandTransactionId || builder.transactionInitiator)) {
|
|
121
|
-
block1.append(this.hydrateCredentialOnFile(builder));
|
|
122
|
-
}
|
|
123
|
-
elementtree_1.SubElement(manualEntry, hasToken ? "TokenValue" : "CardNbr").append(elementtree_1.CData(tokenValue || card.number));
|
|
124
|
-
if (card.expMonth) {
|
|
125
|
-
elementtree_1.SubElement(manualEntry, "ExpMonth").append(elementtree_1.CData(card.expMonth.toString()));
|
|
126
|
-
}
|
|
127
|
-
if (card.expYear) {
|
|
128
|
-
elementtree_1.SubElement(manualEntry, "ExpYear").append(elementtree_1.CData(card.expYear.toString()));
|
|
129
|
-
}
|
|
130
|
-
if (card.cvn) {
|
|
131
|
-
elementtree_1.SubElement(manualEntry, "CVV2").append(elementtree_1.CData(card.cvn));
|
|
132
|
-
}
|
|
133
|
-
elementtree_1.SubElement(manualEntry, "ReaderPresent").append(elementtree_1.CData(card.readerPresent ? "Y" : "N"));
|
|
134
|
-
elementtree_1.SubElement(manualEntry, "CardPresent").append(elementtree_1.CData(card.cardPresent ? "Y" : "N"));
|
|
135
|
-
block1.append(cardData);
|
|
136
|
-
if (card instanceof __1.CreditCardData) {
|
|
137
|
-
var creditCardData = card;
|
|
138
|
-
// WalletData Element
|
|
139
|
-
if ((creditCardData.mobileType == __1.MobilePaymentMethodType.APPLEPAY
|
|
140
|
-
|| creditCardData.mobileType == __1.MobilePaymentMethodType.GOOGLEPAY)
|
|
141
|
-
&& typeof creditCardData.paymentSource != "undefined"
|
|
142
|
-
&& this.isAppleOrGooglePay(creditCardData.paymentSource)) {
|
|
143
|
-
var walletData = elementtree_1.SubElement(block1, "WalletData");
|
|
144
|
-
elementtree_1.SubElement(walletData, "PaymentSource").append(elementtree_1.CData(creditCardData.paymentSource.trim()));
|
|
145
|
-
if (typeof creditCardData.mobileType != "undefined") {
|
|
146
|
-
elementtree_1.SubElement(walletData, "DigitalPaymentToken").append(elementtree_1.CData(creditCardData.token));
|
|
147
|
-
block1.remove(cardData);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
if (builder.transactionModifier === __1.TransactionModifier.Recurring) {
|
|
152
|
-
var recurring = elementtree_1.SubElement(block1, "RecurringData");
|
|
153
|
-
elementtree_1.SubElement(recurring, "ScheduleID").append(elementtree_1.CData(builder.scheduleId));
|
|
154
|
-
elementtree_1.SubElement(recurring, "OneTime").append(elementtree_1.CData(builder.oneTimePayment ? "Y" : "N"));
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
else if (builder.paymentMethod.isTrackData) {
|
|
158
|
-
var track = builder.paymentMethod;
|
|
159
|
-
var trackData = elementtree_1.SubElement(cardData, hasToken ? "TokenData" : "TrackData");
|
|
160
|
-
if (!hasToken) {
|
|
161
|
-
trackData.append(elementtree_1.CData(track.value));
|
|
162
|
-
if (builder.paymentMethod.paymentMethodType !== __1.PaymentMethodType.Debit) {
|
|
163
|
-
trackData.set("method", track.entryMethod === __1.EntryMethod.Swipe ? "swipe" : "proximity");
|
|
164
|
-
block1.append(cardData);
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
else if (tokenValue) {
|
|
168
|
-
elementtree_1.SubElement(trackData, "TokenValue").append(elementtree_1.CData(tokenValue));
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
else if (builder.paymentMethod instanceof __1.GiftCard) {
|
|
172
|
-
var card = builder.paymentMethod;
|
|
173
|
-
if (builder.currency) {
|
|
174
|
-
elementtree_1.SubElement(block1, "Currency").append(elementtree_1.CData(builder.currency.toUpperCase()));
|
|
175
|
-
}
|
|
176
|
-
// if it's replace, add the new card, and change the card data name to be old card data
|
|
177
|
-
if (builder.transactionType === __1.TransactionType.Replace) {
|
|
178
|
-
var newCardData = elementtree_1.SubElement(block1, "NewCardData");
|
|
179
|
-
elementtree_1.SubElement(newCardData, builder.replacementCard.valueType).append(elementtree_1.CData(builder.replacementCard.value));
|
|
180
|
-
elementtree_1.SubElement(newCardData, "PIN").append(elementtree_1.CData(builder.replacementCard.pin));
|
|
181
|
-
cardData = elementtree_1.Element("OldCardData");
|
|
182
|
-
}
|
|
183
|
-
elementtree_1.SubElement(cardData, card.valueType).append(elementtree_1.CData(card.value));
|
|
184
|
-
if (card.pin) {
|
|
185
|
-
elementtree_1.SubElement(cardData, "PIN").append(elementtree_1.CData(card.pin));
|
|
186
|
-
}
|
|
187
|
-
if (builder.aliasAction !== __1.AliasAction.Create) {
|
|
188
|
-
block1.append(cardData);
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
else if (builder.paymentMethod instanceof __1.ECheck) {
|
|
192
|
-
var check = builder.paymentMethod;
|
|
193
|
-
elementtree_1.SubElement(block1, "CheckAction").append(elementtree_1.CData("SALE"));
|
|
194
|
-
if (!hasToken) {
|
|
195
|
-
var accountInfo = elementtree_1.SubElement(block1, "AccountInfo");
|
|
196
|
-
elementtree_1.SubElement(accountInfo, "RoutingNumber").append(elementtree_1.CData(check.routingNumber));
|
|
197
|
-
elementtree_1.SubElement(accountInfo, "AccountNumber").append(elementtree_1.CData(check.accountNumber));
|
|
198
|
-
elementtree_1.SubElement(accountInfo, "CheckNumber").append(elementtree_1.CData(check.checkNumber));
|
|
199
|
-
elementtree_1.SubElement(accountInfo, "MICRData").append(elementtree_1.CData(check.micrNumber));
|
|
200
|
-
elementtree_1.SubElement(accountInfo, "AccountType").append(elementtree_1.CData(check.accountType.toString()));
|
|
201
|
-
}
|
|
202
|
-
else if (tokenValue) {
|
|
203
|
-
elementtree_1.SubElement(block1, "TokenValue").append(elementtree_1.CData(tokenValue));
|
|
204
|
-
}
|
|
205
|
-
elementtree_1.SubElement(block1, "DataEntryMode").append(elementtree_1.CData(check.entryMode.toString().toUpperCase()));
|
|
206
|
-
elementtree_1.SubElement(block1, "CheckType").append(elementtree_1.CData(check.checkType.toString()));
|
|
207
|
-
elementtree_1.SubElement(block1, "SECCode").append(elementtree_1.CData(check.secCode.toString()));
|
|
208
|
-
var verify = elementtree_1.SubElement(block1, "VerifyInfo");
|
|
209
|
-
elementtree_1.SubElement(verify, "CheckVerify").append(elementtree_1.CData(check.checkVerify ? "Y" : "N"));
|
|
210
|
-
elementtree_1.SubElement(verify, "ACHVerify").append(elementtree_1.CData(check.achVerify ? "Y" : "N"));
|
|
211
|
-
}
|
|
212
|
-
if (builder.paymentMethod instanceof __1.TransactionReference) {
|
|
213
|
-
var reference = builder.paymentMethod;
|
|
214
|
-
if (reference.transactionId) {
|
|
215
|
-
elementtree_1.SubElement(block1, "GatewayTxnId").append(elementtree_1.CData(reference.transactionId));
|
|
216
|
-
}
|
|
217
|
-
if (reference.clientTransactionId) {
|
|
218
|
-
elementtree_1.SubElement(block1, "ClientTxnId").append(elementtree_1.CData(reference.clientTransactionId));
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
if (builder.paymentMethod instanceof __1.RecurringPaymentMethod) {
|
|
222
|
-
var method = builder.paymentMethod;
|
|
223
|
-
if (method.paymentType === "ACH") {
|
|
224
|
-
if (allowDuplicates) {
|
|
225
|
-
block1.remove(allowDuplicates);
|
|
226
|
-
}
|
|
227
|
-
elementtree_1.SubElement(block1, "CheckAction").append(elementtree_1.CData("SALE"));
|
|
228
|
-
}
|
|
229
|
-
elementtree_1.SubElement(block1, "PaymentMethodKey").append(elementtree_1.CData(method.key));
|
|
230
|
-
if (method.paymentMethod &&
|
|
231
|
-
method.paymentMethod instanceof __1.CreditCardData) {
|
|
232
|
-
var card = method.paymentMethod;
|
|
233
|
-
var data = elementtree_1.SubElement(block1, "PaymentMethodKeyData");
|
|
234
|
-
elementtree_1.SubElement(data, "ExpMonth").append(elementtree_1.CData(card.expMonth));
|
|
235
|
-
elementtree_1.SubElement(data, "ExpYear").append(elementtree_1.CData(card.expYear));
|
|
236
|
-
elementtree_1.SubElement(data, "CVV2").append(elementtree_1.CData(card.cvn));
|
|
237
|
-
if (this.shouldIncludeCredentialOnFile(builder) && (builder.cardBrandTransactionId || builder.transactionInitiator)) {
|
|
238
|
-
block1.append(this.hydrateCredentialOnFile(builder));
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
var recurring = elementtree_1.SubElement(block1, "RecurringData");
|
|
242
|
-
elementtree_1.SubElement(recurring, "ScheduleID").append(elementtree_1.CData(builder.scheduleId));
|
|
243
|
-
elementtree_1.SubElement(recurring, "OneTime").append(elementtree_1.CData(builder.oneTimePayment ? "Y" : "N"));
|
|
244
|
-
}
|
|
245
|
-
if (builder.paymentMethod.isPinProtected &&
|
|
246
|
-
builder.transactionType !== __1.TransactionType.Reversal) {
|
|
247
|
-
elementtree_1.SubElement(block1, "PinBlock").append(elementtree_1.CData(builder.paymentMethod.pinBlock));
|
|
248
|
-
}
|
|
249
|
-
if (builder.paymentMethod.isEncryptable) {
|
|
250
|
-
var encryptionData = builder.paymentMethod
|
|
251
|
-
.encryptionData;
|
|
252
|
-
if (encryptionData) {
|
|
253
|
-
var enc = elementtree_1.SubElement(cardData, "EncryptionData");
|
|
254
|
-
if (encryptionData.version) {
|
|
255
|
-
elementtree_1.SubElement(enc, "Version").append(elementtree_1.CData(encryptionData.version));
|
|
256
|
-
}
|
|
257
|
-
if (encryptionData.trackNumber) {
|
|
258
|
-
elementtree_1.SubElement(enc, "EncryptedTrackNumber").append(elementtree_1.CData(encryptionData.trackNumber));
|
|
259
|
-
}
|
|
260
|
-
if (encryptionData.ktb) {
|
|
261
|
-
elementtree_1.SubElement(enc, "KTB").append(elementtree_1.CData(encryptionData.ktb));
|
|
262
|
-
}
|
|
263
|
-
if (encryptionData.ksn) {
|
|
264
|
-
elementtree_1.SubElement(enc, "KSN").append(elementtree_1.CData(encryptionData.ksn));
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
if (builder.paymentMethod.isTokenizable &&
|
|
269
|
-
builder.paymentMethod.paymentMethodType !== __1.PaymentMethodType.ACH) {
|
|
270
|
-
elementtree_1.SubElement(cardData, "TokenRequest").append(elementtree_1.CData(builder.requestMultiUseToken ? "Y" : "N"));
|
|
271
|
-
}
|
|
272
|
-
if (builder.paymentMethod.isBalanceable && builder.balanceInquiryType) {
|
|
273
|
-
elementtree_1.SubElement(block1, "BalanceInquiryType").append(elementtree_1.CData(builder.balanceInquiryType.toString()));
|
|
274
|
-
}
|
|
275
|
-
if (builder.level2Request) {
|
|
276
|
-
elementtree_1.SubElement(block1, "CPCReq").append(elementtree_1.CData("Y"));
|
|
277
|
-
}
|
|
278
|
-
if (builder.customerId || builder.description || builder.invoiceNumber) {
|
|
279
|
-
var fields = elementtree_1.SubElement(block1, "AdditionalTxnFields");
|
|
280
|
-
elementtree_1.SubElement(fields, "CustomerID").append(elementtree_1.CData(builder.customerId));
|
|
281
|
-
elementtree_1.SubElement(fields, "Description").append(elementtree_1.CData(builder.description));
|
|
282
|
-
elementtree_1.SubElement(fields, "InvoiceNbr").append(elementtree_1.CData(builder.invoiceNumber));
|
|
283
|
-
}
|
|
284
|
-
if (builder.ecommerceInfo) {
|
|
285
|
-
if (builder.ecommerceInfo.channel) {
|
|
286
|
-
elementtree_1.SubElement(block1, "Ecommerce").append(elementtree_1.CData(builder.ecommerceInfo.channel.toString()));
|
|
287
|
-
}
|
|
288
|
-
if (builder.invoiceNumber || builder.ecommerceInfo.shipMonth) {
|
|
289
|
-
var direct = elementtree_1.SubElement(block1, "DirectMktData");
|
|
290
|
-
elementtree_1.SubElement(direct, "DirectMktInvoiceNbr").append(elementtree_1.CData(builder.invoiceNumber));
|
|
291
|
-
elementtree_1.SubElement(direct, "DirectMktShipDay").append(elementtree_1.CData(builder.ecommerceInfo.shipDay));
|
|
292
|
-
elementtree_1.SubElement(direct, "DirectMktShipMonth").append(elementtree_1.CData(builder.ecommerceInfo.shipMonth));
|
|
293
|
-
}
|
|
294
|
-
if (builder.ecommerceInfo.cavv ||
|
|
295
|
-
builder.ecommerceInfo.eci ||
|
|
296
|
-
builder.ecommerceInfo.xid) {
|
|
297
|
-
var secure = elementtree_1.SubElement(block1, "SecureECommerce");
|
|
298
|
-
elementtree_1.SubElement(secure, "PaymentDataSource").append(elementtree_1.CData(builder.ecommerceInfo.paymentDataSource));
|
|
299
|
-
elementtree_1.SubElement(secure, "TypeOfPaymentData").append(elementtree_1.CData(builder.ecommerceInfo.paymentDataType));
|
|
300
|
-
elementtree_1.SubElement(secure, "PaymentData").append(elementtree_1.CData(builder.ecommerceInfo.cavv));
|
|
301
|
-
elementtree_1.SubElement(secure, "ECommerceIndicator").append(elementtree_1.CData(builder.ecommerceInfo.eci));
|
|
302
|
-
elementtree_1.SubElement(secure, "XID").append(elementtree_1.CData(builder.ecommerceInfo.xid));
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
if (builder.dynamicDescriptor) {
|
|
306
|
-
elementtree_1.SubElement(block1, "TxnDescriptor").append(elementtree_1.CData(builder.dynamicDescriptor));
|
|
307
|
-
}
|
|
308
|
-
return this.doTransaction(this.buildEnvelope(transaction, builder.clientTransactionId)).then(function (response) { return _this.mapResponse(response, builder); });
|
|
309
|
-
};
|
|
310
|
-
PorticoConnector.prototype.serializeRequest = function (_builder) {
|
|
311
|
-
throw new __1.UnsupportedTransactionError("Portico does not support hosted payments.");
|
|
312
|
-
};
|
|
313
|
-
PorticoConnector.prototype.manageTransaction = function (builder) {
|
|
314
|
-
var _this = this;
|
|
315
|
-
// build request
|
|
316
|
-
var transaction = elementtree_1.Element(this.mapRequestType(builder));
|
|
317
|
-
if (builder.transactionType !== __1.TransactionType.BatchClose) {
|
|
318
|
-
var root = void 0;
|
|
319
|
-
if (builder.transactionType === __1.TransactionType.Reversal ||
|
|
320
|
-
builder.transactionType === __1.TransactionType.Refund ||
|
|
321
|
-
builder.paymentMethod.paymentMethodType === __1.PaymentMethodType.Gift ||
|
|
322
|
-
builder.paymentMethod.paymentMethodType === __1.PaymentMethodType.ACH) {
|
|
323
|
-
root = new elementtree_1.Element("Block1");
|
|
324
|
-
}
|
|
325
|
-
else {
|
|
326
|
-
root = transaction;
|
|
327
|
-
}
|
|
328
|
-
// amount
|
|
329
|
-
if (builder.amount) {
|
|
330
|
-
elementtree_1.SubElement(root, "Amt").append(elementtree_1.CData(builder.amount.toString()));
|
|
331
|
-
}
|
|
332
|
-
// auth amount
|
|
333
|
-
if (builder.authAmount) {
|
|
334
|
-
elementtree_1.SubElement(root, "AuthAmt").append(elementtree_1.CData(builder.authAmount.toString()));
|
|
335
|
-
}
|
|
336
|
-
// gratuity
|
|
337
|
-
if (builder.gratuity) {
|
|
338
|
-
elementtree_1.SubElement(root, "GratuityAmtInfo").append(elementtree_1.CData(builder.gratuity.toString()));
|
|
339
|
-
}
|
|
340
|
-
if (builder.clientTransactionId) {
|
|
341
|
-
elementtree_1.SubElement(root, "ClientTxnId").append(elementtree_1.CData(builder.clientTransactionId));
|
|
342
|
-
}
|
|
343
|
-
// transaction ID
|
|
344
|
-
if (builder.paymentMethod &&
|
|
345
|
-
builder.paymentMethod
|
|
346
|
-
.transactionId) {
|
|
347
|
-
var ref = builder.paymentMethod;
|
|
348
|
-
elementtree_1.SubElement(root, "GatewayTxnId").append(elementtree_1.CData(ref.transactionId));
|
|
349
|
-
}
|
|
350
|
-
// level II Data
|
|
351
|
-
if (builder.transactionType === __1.TransactionType.Edit &&
|
|
352
|
-
builder.transactionModifier === __1.TransactionModifier.LevelII) {
|
|
353
|
-
var cpc = elementtree_1.SubElement(root, "CPCData");
|
|
354
|
-
if (builder.poNumber) {
|
|
355
|
-
elementtree_1.SubElement(cpc, "CardHolderPONbr").append(elementtree_1.CData(builder.poNumber));
|
|
356
|
-
}
|
|
357
|
-
if (builder.taxType) {
|
|
358
|
-
elementtree_1.SubElement(cpc, "TaxType").append(elementtree_1.CData(this.hydrateTaxType(builder.taxType)));
|
|
359
|
-
}
|
|
360
|
-
if (builder.taxAmount) {
|
|
361
|
-
elementtree_1.SubElement(cpc, "TaxAmt").append(elementtree_1.CData(builder.taxAmount.toString()));
|
|
362
|
-
}
|
|
363
|
-
}
|
|
364
|
-
if (builder.transactionType === __1.TransactionType.Reversal ||
|
|
365
|
-
builder.transactionType === __1.TransactionType.Refund ||
|
|
366
|
-
builder.paymentMethod.paymentMethodType === __1.PaymentMethodType.Gift ||
|
|
367
|
-
builder.paymentMethod.paymentMethodType === __1.PaymentMethodType.ACH) {
|
|
368
|
-
transaction.append(root);
|
|
369
|
-
}
|
|
370
|
-
}
|
|
371
|
-
return this.doTransaction(this.buildEnvelope(transaction, builder.clientTransactionId)).then(function (response) { return _this.mapResponse(response, builder); });
|
|
372
|
-
};
|
|
373
|
-
PorticoConnector.prototype.processReport = function (builder) {
|
|
374
|
-
var _this = this;
|
|
375
|
-
var transaction = elementtree_1.Element(this.mapReportRequestType(builder));
|
|
376
|
-
if (builder.timeZoneConversion) {
|
|
377
|
-
elementtree_1.SubElement(transaction, "TzConversion").append(elementtree_1.CData(builder.timeZoneConversion.toString()));
|
|
378
|
-
}
|
|
379
|
-
if (builder instanceof __1.TransactionReportBuilder) {
|
|
380
|
-
var trb = builder;
|
|
381
|
-
if (trb.deviceId) {
|
|
382
|
-
elementtree_1.SubElement(transaction, "DeviceId").append(elementtree_1.CData(trb.deviceId));
|
|
383
|
-
}
|
|
384
|
-
if (trb.startDate) {
|
|
385
|
-
elementtree_1.SubElement(transaction, "RptStartUtcDT").append(elementtree_1.CData(trb.startDate.toISOString()));
|
|
386
|
-
}
|
|
387
|
-
if (trb.endDate) {
|
|
388
|
-
elementtree_1.SubElement(transaction, "RptEndUtcDT").append(elementtree_1.CData(trb.endDate.toISOString()));
|
|
389
|
-
}
|
|
390
|
-
if (trb.transactionId) {
|
|
391
|
-
elementtree_1.SubElement(transaction, "TxnId").append(elementtree_1.CData(trb.transactionId));
|
|
392
|
-
}
|
|
393
|
-
if (trb.searchCriteria) {
|
|
394
|
-
var criteriaNode = elementtree_1.Element("Criteria");
|
|
395
|
-
for (var property in trb.searchCriteria) {
|
|
396
|
-
elementtree_1.SubElement(criteriaNode, property).append(elementtree_1.CData(trb.searchCriteria[property]));
|
|
397
|
-
}
|
|
398
|
-
transaction.append(criteriaNode);
|
|
399
|
-
}
|
|
400
|
-
}
|
|
401
|
-
return this.doTransaction(this.buildEnvelope(transaction)).then(function (response) { return _this.mapReportResponse(response, builder); });
|
|
402
|
-
};
|
|
403
|
-
PorticoConnector.prototype.buildEnvelope = function (transaction, clientTransactionId) {
|
|
404
|
-
var envelope = elementtree_1.Element("soap:Envelope", {
|
|
405
|
-
"xmlns:soap": "http://schemas.xmlsoap.org/soap/envelope/",
|
|
406
|
-
});
|
|
407
|
-
var body = elementtree_1.SubElement(envelope, "soap:Body");
|
|
408
|
-
var request = elementtree_1.SubElement(body, "PosRequest", {
|
|
409
|
-
xmlns: PorticoConnector.XmlNamespace,
|
|
410
|
-
});
|
|
411
|
-
var version1 = elementtree_1.SubElement(request, "Ver1.0");
|
|
412
|
-
// header
|
|
413
|
-
var header = elementtree_1.SubElement(version1, "Header");
|
|
414
|
-
if (this.secretApiKey) {
|
|
415
|
-
elementtree_1.SubElement(header, "SecretAPIKey").append(elementtree_1.CData(this.secretApiKey));
|
|
416
|
-
}
|
|
417
|
-
if (this.siteId) {
|
|
418
|
-
elementtree_1.SubElement(header, "SiteId").append(elementtree_1.CData(this.siteId));
|
|
419
|
-
}
|
|
420
|
-
if (this.licenseId) {
|
|
421
|
-
elementtree_1.SubElement(header, "LicenseId").append(elementtree_1.CData(this.licenseId));
|
|
422
|
-
}
|
|
423
|
-
if (this.deviceId) {
|
|
424
|
-
elementtree_1.SubElement(header, "DeviceId").append(elementtree_1.CData(this.deviceId));
|
|
425
|
-
}
|
|
426
|
-
if (this.username) {
|
|
427
|
-
elementtree_1.SubElement(header, "UserName").append(elementtree_1.CData(this.username));
|
|
428
|
-
}
|
|
429
|
-
if (this.password) {
|
|
430
|
-
elementtree_1.SubElement(header, "Password").append(elementtree_1.CData(this.password));
|
|
431
|
-
}
|
|
432
|
-
if (this.developerId) {
|
|
433
|
-
elementtree_1.SubElement(header, "DeveloperID").append(elementtree_1.CData(this.developerId));
|
|
434
|
-
}
|
|
435
|
-
if (this.versionNumber) {
|
|
436
|
-
elementtree_1.SubElement(header, "VersionNbr").append(elementtree_1.CData(this.versionNumber));
|
|
437
|
-
}
|
|
438
|
-
if (clientTransactionId) {
|
|
439
|
-
elementtree_1.SubElement(header, "ClientTxnId").append(elementtree_1.CData(clientTransactionId));
|
|
440
|
-
}
|
|
441
|
-
if (this.sdkNameVersion) {
|
|
442
|
-
elementtree_1.SubElement(header, "SDKNameVersion").append(elementtree_1.CData(this.sdkNameVersion));
|
|
443
|
-
}
|
|
444
|
-
else {
|
|
445
|
-
elementtree_1.SubElement(header, "SDKNameVersion").append(elementtree_1.CData("nodejs-version:" + process.env.npm_package_version));
|
|
446
|
-
}
|
|
447
|
-
// transaction
|
|
448
|
-
elementtree_1.SubElement(version1, "Transaction").append(transaction);
|
|
449
|
-
return new elementtree_1.ElementTree(envelope).write();
|
|
450
|
-
};
|
|
451
|
-
PorticoConnector.prototype.mapRequestType = function (builder) {
|
|
452
|
-
switch (builder.transactionType) {
|
|
453
|
-
case __1.TransactionType.BatchClose:
|
|
454
|
-
return "BatchClose";
|
|
455
|
-
case __1.TransactionType.Decline:
|
|
456
|
-
if (builder.transactionModifier === __1.TransactionModifier.ChipDecline) {
|
|
457
|
-
return "ChipCardDecline";
|
|
458
|
-
}
|
|
459
|
-
else if (builder.transactionModifier === __1.TransactionModifier.FraudDecline) {
|
|
460
|
-
return "OverrideFraudDecline";
|
|
461
|
-
}
|
|
462
|
-
throw new __1.UnsupportedTransactionError();
|
|
463
|
-
case __1.TransactionType.Verify:
|
|
464
|
-
if (builder.transactionModifier === __1.TransactionModifier.EncryptedMobile) {
|
|
465
|
-
throw new __1.UnsupportedTransactionError();
|
|
466
|
-
}
|
|
467
|
-
return "CreditAccountVerify";
|
|
468
|
-
case __1.TransactionType.Capture:
|
|
469
|
-
return "CreditAddToBatch";
|
|
470
|
-
case __1.TransactionType.Auth:
|
|
471
|
-
if (builder.paymentMethod.paymentMethodType === __1.PaymentMethodType.Credit) {
|
|
472
|
-
if (builder.transactionModifier === __1.TransactionModifier.Additional) {
|
|
473
|
-
return "CreditAdditionalAuth";
|
|
474
|
-
}
|
|
475
|
-
else if (builder.transactionModifier === __1.TransactionModifier.Incremental) {
|
|
476
|
-
return "CreditIncrementalAuth";
|
|
477
|
-
}
|
|
478
|
-
else if (builder.paymentMethod.paymentMethodType ===
|
|
479
|
-
__1.PaymentMethodType.Recurring) {
|
|
480
|
-
return "RecurringBillingAuth";
|
|
481
|
-
}
|
|
482
|
-
else if (builder.transactionModifier === __1.TransactionModifier.EncryptedMobile) {
|
|
483
|
-
throw new __1.UnsupportedTransactionError();
|
|
484
|
-
}
|
|
485
|
-
else if (builder.transactionModifier === __1.TransactionModifier.Offline) {
|
|
486
|
-
return "CreditOfflineAuth";
|
|
487
|
-
}
|
|
488
|
-
return "CreditAuth";
|
|
489
|
-
}
|
|
490
|
-
else if (builder.paymentMethod.paymentMethodType ===
|
|
491
|
-
__1.PaymentMethodType.Recurring) {
|
|
492
|
-
return "RecurringBillingAuth";
|
|
493
|
-
}
|
|
494
|
-
throw new __1.UnsupportedTransactionError();
|
|
495
|
-
case __1.TransactionType.Sale:
|
|
496
|
-
if (builder.paymentMethod.paymentMethodType === __1.PaymentMethodType.Credit) {
|
|
497
|
-
if (builder.transactionModifier === __1.TransactionModifier.Offline) {
|
|
498
|
-
return "CreditOfflineSale";
|
|
499
|
-
}
|
|
500
|
-
else if (builder.transactionModifier === __1.TransactionModifier.Recurring) {
|
|
501
|
-
return "RecurringBilling";
|
|
502
|
-
}
|
|
503
|
-
else if (builder.transactionModifier === __1.TransactionModifier.EncryptedMobile) {
|
|
504
|
-
throw new __1.UnsupportedTransactionError();
|
|
505
|
-
}
|
|
506
|
-
else {
|
|
507
|
-
return "CreditSale";
|
|
508
|
-
}
|
|
509
|
-
}
|
|
510
|
-
else if (builder.paymentMethod.paymentMethodType ===
|
|
511
|
-
__1.PaymentMethodType.Recurring) {
|
|
512
|
-
if (builder.paymentMethod.paymentType === "ACH") {
|
|
513
|
-
return "CheckSale";
|
|
514
|
-
}
|
|
515
|
-
return "RecurringBilling";
|
|
516
|
-
}
|
|
517
|
-
else if (builder.paymentMethod.paymentMethodType === __1.PaymentMethodType.Debit) {
|
|
518
|
-
return "DebitSale";
|
|
519
|
-
}
|
|
520
|
-
else if (builder.paymentMethod.paymentMethodType === __1.PaymentMethodType.Cash) {
|
|
521
|
-
return "CashSale";
|
|
522
|
-
}
|
|
523
|
-
else if (builder.paymentMethod.paymentMethodType === __1.PaymentMethodType.ACH) {
|
|
524
|
-
return "CheckSale";
|
|
525
|
-
}
|
|
526
|
-
else if (builder.paymentMethod.paymentMethodType === __1.PaymentMethodType.EBT) {
|
|
527
|
-
if (builder.transactionModifier === __1.TransactionModifier.CashBack) {
|
|
528
|
-
return "EBTCashBackPurchase";
|
|
529
|
-
}
|
|
530
|
-
else if (builder.transactionModifier === __1.TransactionModifier.Voucher) {
|
|
531
|
-
return "EBTVoucherPurchase";
|
|
532
|
-
}
|
|
533
|
-
else {
|
|
534
|
-
return "EBTFSPurchase";
|
|
535
|
-
}
|
|
536
|
-
}
|
|
537
|
-
else if (builder.paymentMethod.paymentMethodType === __1.PaymentMethodType.Gift) {
|
|
538
|
-
return "GiftCardSale";
|
|
539
|
-
}
|
|
540
|
-
throw new __1.UnsupportedTransactionError();
|
|
541
|
-
case __1.TransactionType.Refund:
|
|
542
|
-
if (builder.paymentMethod.paymentMethodType === __1.PaymentMethodType.Credit) {
|
|
543
|
-
return "CreditReturn";
|
|
544
|
-
}
|
|
545
|
-
else if (builder.paymentMethod.paymentMethodType === __1.PaymentMethodType.Debit) {
|
|
546
|
-
if (builder.paymentMethod instanceof __1.TransactionReference) {
|
|
547
|
-
throw new __1.UnsupportedTransactionError();
|
|
548
|
-
}
|
|
549
|
-
return "DebitReturn";
|
|
550
|
-
}
|
|
551
|
-
else if (builder.paymentMethod.paymentMethodType === __1.PaymentMethodType.Cash) {
|
|
552
|
-
return "CashReturn";
|
|
553
|
-
}
|
|
554
|
-
else if (builder.paymentMethod.paymentMethodType === __1.PaymentMethodType.EBT) {
|
|
555
|
-
if (builder.paymentMethod instanceof __1.TransactionReference) {
|
|
556
|
-
throw new __1.UnsupportedTransactionError();
|
|
557
|
-
}
|
|
558
|
-
return "EBTFSReturn";
|
|
559
|
-
}
|
|
560
|
-
throw new __1.UnsupportedTransactionError();
|
|
561
|
-
case __1.TransactionType.Reversal:
|
|
562
|
-
if (builder.paymentMethod.paymentMethodType === __1.PaymentMethodType.Credit) {
|
|
563
|
-
return "CreditReversal";
|
|
564
|
-
}
|
|
565
|
-
else if (builder.paymentMethod.paymentMethodType === __1.PaymentMethodType.Debit) {
|
|
566
|
-
if (builder.paymentMethod instanceof __1.TransactionReference) {
|
|
567
|
-
throw new __1.UnsupportedTransactionError();
|
|
568
|
-
}
|
|
569
|
-
return "DebitReversal";
|
|
570
|
-
}
|
|
571
|
-
else if (builder.paymentMethod.paymentMethodType === __1.PaymentMethodType.Gift) {
|
|
572
|
-
return "GiftCardReversal";
|
|
573
|
-
}
|
|
574
|
-
throw new __1.UnsupportedTransactionError();
|
|
575
|
-
case __1.TransactionType.Edit:
|
|
576
|
-
if (builder.transactionModifier === __1.TransactionModifier.LevelII) {
|
|
577
|
-
return "CreditCPCEdit";
|
|
578
|
-
}
|
|
579
|
-
return "CreditTxnEdit";
|
|
580
|
-
case __1.TransactionType.Void:
|
|
581
|
-
if (builder.paymentMethod.paymentMethodType === __1.PaymentMethodType.Credit) {
|
|
582
|
-
return "CreditVoid";
|
|
583
|
-
}
|
|
584
|
-
else if (builder.paymentMethod.paymentMethodType === __1.PaymentMethodType.ACH) {
|
|
585
|
-
return "CheckVoid";
|
|
586
|
-
}
|
|
587
|
-
else if (builder.paymentMethod.paymentMethodType === __1.PaymentMethodType.Gift) {
|
|
588
|
-
return "GiftCardVoid";
|
|
589
|
-
}
|
|
590
|
-
throw new __1.UnsupportedTransactionError();
|
|
591
|
-
case __1.TransactionType.AddValue:
|
|
592
|
-
if (builder.paymentMethod.paymentMethodType === __1.PaymentMethodType.Credit) {
|
|
593
|
-
return "PrePaidAddValue";
|
|
594
|
-
}
|
|
595
|
-
else if (builder.paymentMethod.paymentMethodType === __1.PaymentMethodType.Debit) {
|
|
596
|
-
return "DebitAddValue";
|
|
597
|
-
}
|
|
598
|
-
else if (builder.paymentMethod.paymentMethodType === __1.PaymentMethodType.Gift) {
|
|
599
|
-
return "GiftCardAddValue";
|
|
600
|
-
}
|
|
601
|
-
throw new __1.UnsupportedTransactionError();
|
|
602
|
-
case __1.TransactionType.Balance:
|
|
603
|
-
if (builder.paymentMethod.paymentMethodType === __1.PaymentMethodType.Credit) {
|
|
604
|
-
return "PrePaidBalanceInquiry";
|
|
605
|
-
}
|
|
606
|
-
else if (builder.paymentMethod.paymentMethodType === __1.PaymentMethodType.EBT) {
|
|
607
|
-
return "EBTBalanceInquiry";
|
|
608
|
-
}
|
|
609
|
-
else if (builder.paymentMethod.paymentMethodType === __1.PaymentMethodType.Gift) {
|
|
610
|
-
return "GiftCardBalance";
|
|
611
|
-
}
|
|
612
|
-
throw new __1.UnsupportedTransactionError();
|
|
613
|
-
case __1.TransactionType.BenefitWithDrawal:
|
|
614
|
-
return "EBTCashBenefitWithdrawal";
|
|
615
|
-
case __1.TransactionType.Activate:
|
|
616
|
-
return "GiftCardActivate";
|
|
617
|
-
case __1.TransactionType.Alias:
|
|
618
|
-
return "GiftCardAlias";
|
|
619
|
-
case __1.TransactionType.Deactivate:
|
|
620
|
-
return "GiftCardDeactivate";
|
|
621
|
-
case __1.TransactionType.Replace:
|
|
622
|
-
return "GiftCardReplace";
|
|
623
|
-
case __1.TransactionType.Reward:
|
|
624
|
-
return "GiftCardReward";
|
|
625
|
-
default:
|
|
626
|
-
break;
|
|
627
|
-
}
|
|
628
|
-
throw new __1.NotImplementedError();
|
|
629
|
-
};
|
|
630
|
-
PorticoConnector.prototype.mapReportRequestType = function (builder) {
|
|
631
|
-
switch (builder.reportType) {
|
|
632
|
-
case __1.ReportType.Activity:
|
|
633
|
-
return "ReportActivity";
|
|
634
|
-
case __1.ReportType.TransactionDetail:
|
|
635
|
-
return "ReportTxnDetail";
|
|
636
|
-
case __1.ReportType.FindTransactions:
|
|
637
|
-
return "FindTransactions";
|
|
638
|
-
default:
|
|
639
|
-
throw new __1.UnsupportedTransactionError();
|
|
640
|
-
}
|
|
641
|
-
};
|
|
642
|
-
PorticoConnector.prototype.mapResponse = function (rawResponse, builder) {
|
|
643
|
-
var result = new __1.Transaction();
|
|
644
|
-
var root = elementtree_1.XML(rawResponse).find(".//PosResponse");
|
|
645
|
-
var acceptedCodes = ["00", "0", "85", "10"];
|
|
646
|
-
var gatewayRspCode = this.normalizeResponse(root.findtext(".//GatewayRspCode"));
|
|
647
|
-
var gatewayRspText = root.findtext(".//GatewayRspMsg");
|
|
648
|
-
if (acceptedCodes.indexOf(gatewayRspCode) === -1) {
|
|
649
|
-
throw new __1.GatewayError("Unexpected Gateway Response: " + gatewayRspCode + " - " + gatewayRspText);
|
|
650
|
-
}
|
|
651
|
-
result.responseCode = root.findtext(".//RspCode")
|
|
652
|
-
? this.normalizeResponse(root.findtext(".//RspCode"))
|
|
653
|
-
: gatewayRspCode;
|
|
654
|
-
result.responseMessage = root.findtext(".//RspText")
|
|
655
|
-
? root.findtext(".//RspText")
|
|
656
|
-
: gatewayRspText;
|
|
657
|
-
result.authorizedAmount = root.findtext(".//AuthAmt");
|
|
658
|
-
result.availableBalance = root.findtext(".//AvailableBalance");
|
|
659
|
-
result.avsResponseCode = root.findtext(".//AVSRsltCode");
|
|
660
|
-
result.avsResponseMessage = root.findtext(".//AVSRsltText");
|
|
661
|
-
result.balanceAmount = root.findtext(".//BalanceAmt");
|
|
662
|
-
result.cardType = root.findtext(".//CardType");
|
|
663
|
-
result.cardLast4 = root.findtext(".//TokenPANLast4");
|
|
664
|
-
result.cavvResponseCode = root.findtext(".//CAVVResultCode");
|
|
665
|
-
result.commercialIndicator = root.findtext(".//CPCInd");
|
|
666
|
-
result.cvnResponseCode = root.findtext(".//CVVRsltCode");
|
|
667
|
-
result.cvnResponseMessage = root.findtext(".//CVVRsltText");
|
|
668
|
-
result.pointsBalanceAmount = root.findtext(".//PointsBalanceAmt");
|
|
669
|
-
result.recurringDataCode = root.findtext(".//RecurringDataCode");
|
|
670
|
-
result.referenceNumber = root.findtext(".//RefNbr");
|
|
671
|
-
result.transactionDescriptor = root.findtext(".//TxnDescriptor");
|
|
672
|
-
result.cardBrandTransactionId = root.findtext(".//CardBrandTxnId");
|
|
673
|
-
if (builder.paymentMethod) {
|
|
674
|
-
result.transactionReference = new __1.TransactionReference(root.findtext(".//GatewayTxnId"));
|
|
675
|
-
result.transactionReference.paymentMethodType =
|
|
676
|
-
builder.paymentMethod.paymentMethodType;
|
|
677
|
-
}
|
|
678
|
-
if (root.findtext(".//AuthCode")) {
|
|
679
|
-
result.transactionReference =
|
|
680
|
-
result.transactionReference || new __1.TransactionReference();
|
|
681
|
-
result.transactionReference.authCode = root.findtext(".//AuthCode");
|
|
682
|
-
}
|
|
683
|
-
if (root.find(".//TokenData") &&
|
|
684
|
-
root.find(".//TokenData").findtext(".//TokenValue")) {
|
|
685
|
-
var tokenData = root.find(".//TokenData");
|
|
686
|
-
result.token = tokenData.findtext(".//TokenValue");
|
|
687
|
-
}
|
|
688
|
-
if (root.find(".//CardData")) {
|
|
689
|
-
var cardData = root.find(".//CardData");
|
|
690
|
-
result.giftCard = new __1.GiftCard();
|
|
691
|
-
result.giftCard.number = cardData.findtext(".//CardNbr");
|
|
692
|
-
result.giftCard.alias = cardData.findtext(".//Alias");
|
|
693
|
-
result.giftCard.pin = cardData.findtext(".//PIN");
|
|
694
|
-
}
|
|
695
|
-
if (root.find(".//BatchId")) {
|
|
696
|
-
result.batchId = root.findtext(".//BatchId");
|
|
697
|
-
result.batchSeqNbr = root.findtext(".//BatchSeqNbr");
|
|
698
|
-
}
|
|
699
|
-
return result;
|
|
700
|
-
};
|
|
701
|
-
PorticoConnector.prototype.mapReportResponse = function (rawResponse, builder) {
|
|
702
|
-
// todo: handle non-200 responses
|
|
703
|
-
var posResponse = elementtree_1.XML(rawResponse).find(".//PosResponse");
|
|
704
|
-
var doc = posResponse.find(".//" + this.mapReportRequestType(builder));
|
|
705
|
-
var result;
|
|
706
|
-
if (builder.reportType === __1.ReportType.Activity) {
|
|
707
|
-
result = doc
|
|
708
|
-
.findall(".//Details")
|
|
709
|
-
.map(this.hydrateTransactionSummary.bind(this));
|
|
710
|
-
}
|
|
711
|
-
if (builder.reportType === __1.ReportType.FindTransactions) {
|
|
712
|
-
result = doc
|
|
713
|
-
.findall(".//Transactions")
|
|
714
|
-
.map(this.hydrateTransactionSummary.bind(this));
|
|
715
|
-
}
|
|
716
|
-
else if (builder.reportType === __1.ReportType.TransactionDetail) {
|
|
717
|
-
result = this.hydrateTransactionSummary(doc);
|
|
718
|
-
}
|
|
719
|
-
return result;
|
|
720
|
-
};
|
|
721
|
-
PorticoConnector.prototype.normalizeResponse = function (input) {
|
|
722
|
-
if (["0", "85"].indexOf(input) !== -1) {
|
|
723
|
-
input = "00";
|
|
724
|
-
}
|
|
725
|
-
return input;
|
|
726
|
-
};
|
|
727
|
-
PorticoConnector.prototype.hasToken = function (paymentMethod) {
|
|
728
|
-
var tokenizable = paymentMethod;
|
|
729
|
-
if (tokenizable.token) {
|
|
730
|
-
return {
|
|
731
|
-
hasToken: true,
|
|
732
|
-
tokenValue: tokenizable.token,
|
|
733
|
-
};
|
|
734
|
-
}
|
|
735
|
-
return {
|
|
736
|
-
hasToken: false,
|
|
737
|
-
tokenValue: "",
|
|
738
|
-
};
|
|
739
|
-
};
|
|
740
|
-
PorticoConnector.prototype.hydrateAccountType = function (type) {
|
|
741
|
-
switch (type) {
|
|
742
|
-
case __1.AccountType.Checking:
|
|
743
|
-
return "CHECKING";
|
|
744
|
-
case __1.AccountType.Savings:
|
|
745
|
-
return "SAVINGS";
|
|
746
|
-
default:
|
|
747
|
-
return "";
|
|
748
|
-
}
|
|
749
|
-
};
|
|
750
|
-
PorticoConnector.prototype.hydrateCheckType = function (type) {
|
|
751
|
-
switch (type) {
|
|
752
|
-
case __1.CheckType.Business:
|
|
753
|
-
return "BUSINESS";
|
|
754
|
-
case __1.CheckType.Payroll:
|
|
755
|
-
return "PAYROLL";
|
|
756
|
-
case __1.CheckType.Personal:
|
|
757
|
-
return "PERSONAL";
|
|
758
|
-
default:
|
|
759
|
-
return "";
|
|
760
|
-
}
|
|
761
|
-
};
|
|
762
|
-
PorticoConnector.prototype.hydrateCredentialOnFile = function (builder) {
|
|
763
|
-
var cof = new elementtree_1.Element("CardOnFileData");
|
|
764
|
-
if (builder.transactionInitiator) {
|
|
765
|
-
elementtree_1.SubElement(cof, "CardOnFile").append(elementtree_1.CData(builder.transactionInitiator));
|
|
766
|
-
}
|
|
767
|
-
if (builder.cardBrandTransactionId) {
|
|
768
|
-
elementtree_1.SubElement(cof, "CardBrandTxnId").append(elementtree_1.CData(builder.cardBrandTransactionId));
|
|
769
|
-
}
|
|
770
|
-
return cof;
|
|
771
|
-
};
|
|
772
|
-
PorticoConnector.prototype.hydrateEncryptionData = function (builder) {
|
|
773
|
-
var enc = new elementtree_1.Element("EncryptionData");
|
|
774
|
-
var data = builder.paymentMethod
|
|
775
|
-
.encryptionData;
|
|
776
|
-
if (data.version) {
|
|
777
|
-
elementtree_1.SubElement(enc, "Version").append(elementtree_1.CData(data.version));
|
|
778
|
-
}
|
|
779
|
-
if (data.trackNumber) {
|
|
780
|
-
elementtree_1.SubElement(enc, "TrackNumber").append(elementtree_1.CData(data.trackNumber));
|
|
781
|
-
}
|
|
782
|
-
if (data.ktb) {
|
|
783
|
-
elementtree_1.SubElement(enc, "KTB").append(elementtree_1.CData(data.ktb));
|
|
784
|
-
}
|
|
785
|
-
if (data.ksn) {
|
|
786
|
-
elementtree_1.SubElement(enc, "KSN").append(elementtree_1.CData(data.ksn));
|
|
787
|
-
}
|
|
788
|
-
return enc;
|
|
789
|
-
};
|
|
790
|
-
PorticoConnector.prototype.hydrateEntryMethod = function (method) {
|
|
791
|
-
switch (method) {
|
|
792
|
-
case __1.EntryMethod.Manual:
|
|
793
|
-
return "Manual";
|
|
794
|
-
case __1.EntryMethod.Proximity:
|
|
795
|
-
return "Proximity";
|
|
796
|
-
case __1.EntryMethod.Swipe:
|
|
797
|
-
return "Swipe";
|
|
798
|
-
default:
|
|
799
|
-
return "";
|
|
800
|
-
}
|
|
801
|
-
};
|
|
802
|
-
PorticoConnector.prototype.hydrateHolder = function (builder, isCheck) {
|
|
803
|
-
var holder = new elementtree_1.Element(isCheck ? "ConsumerInfo" : "CardHolderData");
|
|
804
|
-
elementtree_1.SubElement(holder, isCheck ? "Address1" : "CardHolderAddr").append(elementtree_1.CData(builder.billingAddress.streetAddress1));
|
|
805
|
-
elementtree_1.SubElement(holder, isCheck ? "City" : "CardHolderCity").append(elementtree_1.CData(builder.billingAddress.city));
|
|
806
|
-
elementtree_1.SubElement(holder, isCheck ? "State" : "CardHolderState").append(elementtree_1.CData(builder.billingAddress.province));
|
|
807
|
-
elementtree_1.SubElement(holder, isCheck ? "Zip" : "CardHolderZip").append(elementtree_1.CData(builder.billingAddress.postalCode));
|
|
808
|
-
if (isCheck) {
|
|
809
|
-
var check = builder.paymentMethod;
|
|
810
|
-
if (check.checkName) {
|
|
811
|
-
var names = check.checkName.split(" ", 2);
|
|
812
|
-
elementtree_1.SubElement(holder, "FirstName").append(elementtree_1.CData(names[0]));
|
|
813
|
-
if (names[1]) {
|
|
814
|
-
elementtree_1.SubElement(holder, "LastName").append(elementtree_1.CData(names[1]));
|
|
815
|
-
}
|
|
816
|
-
elementtree_1.SubElement(holder, "CheckName").append(elementtree_1.CData(check.checkName));
|
|
817
|
-
}
|
|
818
|
-
if (check.phoneNumber) {
|
|
819
|
-
elementtree_1.SubElement(holder, "PhoneNumber").append(elementtree_1.CData(check.phoneNumber));
|
|
820
|
-
}
|
|
821
|
-
if (check.driversLicenseNumber) {
|
|
822
|
-
elementtree_1.SubElement(holder, "DLNumber").append(elementtree_1.CData(check.driversLicenseNumber));
|
|
823
|
-
}
|
|
824
|
-
if (check.driversLicenseState) {
|
|
825
|
-
elementtree_1.SubElement(holder, "DLState").append(elementtree_1.CData(check.driversLicenseState));
|
|
826
|
-
}
|
|
827
|
-
if (check.ssnLast4 || check.birthYear) {
|
|
828
|
-
var identity = elementtree_1.SubElement(holder, "IdentityInfo");
|
|
829
|
-
elementtree_1.SubElement(identity, "SSNL4").append(elementtree_1.CData(check.ssnLast4));
|
|
830
|
-
elementtree_1.SubElement(identity, "DOBYear").append(elementtree_1.CData(check.birthYear));
|
|
831
|
-
}
|
|
832
|
-
}
|
|
833
|
-
return holder;
|
|
834
|
-
};
|
|
835
|
-
PorticoConnector.prototype.hydrateInquiryType = function (type) {
|
|
836
|
-
switch (type) {
|
|
837
|
-
case __1.InquiryType.Cash:
|
|
838
|
-
return "CASH";
|
|
839
|
-
case __1.InquiryType.Foodstamp:
|
|
840
|
-
return "FOODSTAMP";
|
|
841
|
-
case __1.InquiryType.Points:
|
|
842
|
-
return "POINTS";
|
|
843
|
-
case __1.InquiryType.Standard:
|
|
844
|
-
return "STANDARD";
|
|
845
|
-
default:
|
|
846
|
-
return "";
|
|
847
|
-
}
|
|
848
|
-
};
|
|
849
|
-
PorticoConnector.prototype.hydrateManualEntry = function (block1, builder, hasToken, tokenValue) {
|
|
850
|
-
var me = new elementtree_1.Element(hasToken ? "TokenData" : "ManualEntry");
|
|
851
|
-
var card;
|
|
852
|
-
if (builder.paymentMethod instanceof __1.CreditCardData) {
|
|
853
|
-
card = builder.paymentMethod;
|
|
854
|
-
}
|
|
855
|
-
else {
|
|
856
|
-
card = builder.paymentMethod;
|
|
857
|
-
}
|
|
858
|
-
if (builder.cardBrandTransactionId || builder.transactionInitiator) {
|
|
859
|
-
block1.append(this.hydrateCredentialOnFile(builder));
|
|
860
|
-
}
|
|
861
|
-
if (card.number || hasToken) {
|
|
862
|
-
elementtree_1.SubElement(me, hasToken ? "TokenValue" : "CardNbr").append(elementtree_1.CData(hasToken ? tokenValue : card.number));
|
|
863
|
-
}
|
|
864
|
-
if (card.expMonth) {
|
|
865
|
-
elementtree_1.SubElement(me, "ExpMonth").append(elementtree_1.CData(card.expMonth));
|
|
866
|
-
}
|
|
867
|
-
if (card.expYear) {
|
|
868
|
-
elementtree_1.SubElement(me, "ExpYear").append(elementtree_1.CData(card.expYear));
|
|
869
|
-
}
|
|
870
|
-
if (card.cvn) {
|
|
871
|
-
elementtree_1.SubElement(me, "CVV2").append(elementtree_1.CData(card.cvn));
|
|
872
|
-
}
|
|
873
|
-
elementtree_1.SubElement(me, "ReaderPresent").append(elementtree_1.CData(card.readerPresent ? "Y" : "N"));
|
|
874
|
-
elementtree_1.SubElement(me, "CardPresent").append(elementtree_1.CData(card.cardPresent ? "Y" : "N"));
|
|
875
|
-
if (builder.transactionModifier === __1.TransactionModifier.Recurring) {
|
|
876
|
-
var recurring = elementtree_1.SubElement(block1, "RecurringData");
|
|
877
|
-
elementtree_1.SubElement(recurring, "ScheduleID").append(elementtree_1.CData(builder.scheduleId));
|
|
878
|
-
elementtree_1.SubElement(recurring, "OneTime").append(elementtree_1.CData(builder.oneTimePayment ? "Y" : "N"));
|
|
879
|
-
}
|
|
880
|
-
return me;
|
|
881
|
-
};
|
|
882
|
-
PorticoConnector.prototype.hydrateSecCode = function (code) {
|
|
883
|
-
switch (code) {
|
|
884
|
-
case __1.SecCode.CCD:
|
|
885
|
-
return "CCD";
|
|
886
|
-
case __1.SecCode.PPD:
|
|
887
|
-
return "PPD";
|
|
888
|
-
case __1.SecCode.POP:
|
|
889
|
-
return "POP";
|
|
890
|
-
case __1.SecCode.WEB:
|
|
891
|
-
return "WEB";
|
|
892
|
-
case __1.SecCode.TEL:
|
|
893
|
-
return "TEL";
|
|
894
|
-
case __1.SecCode.EBronze:
|
|
895
|
-
return "EBRONZE";
|
|
896
|
-
default:
|
|
897
|
-
return "";
|
|
898
|
-
}
|
|
899
|
-
};
|
|
900
|
-
PorticoConnector.prototype.hydrateTaxType = function (type) {
|
|
901
|
-
switch (type) {
|
|
902
|
-
case __1.TaxType.NotUsed:
|
|
903
|
-
return "NOTUSED";
|
|
904
|
-
case __1.TaxType.SalesTax:
|
|
905
|
-
return "SALESTAX";
|
|
906
|
-
case __1.TaxType.TaxExempt:
|
|
907
|
-
return "TAXEXEMPT";
|
|
908
|
-
default:
|
|
909
|
-
return "";
|
|
910
|
-
}
|
|
911
|
-
};
|
|
912
|
-
PorticoConnector.prototype.hydrateTrackData = function (builder, hasToken, tokenValue) {
|
|
913
|
-
var trackData = new elementtree_1.Element(hasToken ? "TokenValue" : "TrackData");
|
|
914
|
-
if (hasToken) {
|
|
915
|
-
elementtree_1.SubElement(trackData, "TokenValue").append(elementtree_1.CData(tokenValue));
|
|
916
|
-
return trackData;
|
|
917
|
-
}
|
|
918
|
-
var track;
|
|
919
|
-
if (builder.paymentMethod instanceof __1.CreditTrackData) {
|
|
920
|
-
track = builder.paymentMethod;
|
|
921
|
-
}
|
|
922
|
-
else if (builder.paymentMethod instanceof __1.DebitTrackData) {
|
|
923
|
-
track = builder.paymentMethod;
|
|
924
|
-
}
|
|
925
|
-
else {
|
|
926
|
-
track = builder.paymentMethod;
|
|
927
|
-
}
|
|
928
|
-
trackData.append(elementtree_1.CData(track.value));
|
|
929
|
-
if (track.paymentMethodType !== __1.PaymentMethodType.Debit) {
|
|
930
|
-
trackData.set("method", track.entryMethod === __1.EntryMethod.Swipe ? "swipe" : "proximity");
|
|
931
|
-
}
|
|
932
|
-
return trackData;
|
|
933
|
-
};
|
|
934
|
-
PorticoConnector.prototype.hydrateTransactionSummary = function (root) {
|
|
935
|
-
var result = new __1.TransactionSummary();
|
|
936
|
-
result.accountDataSource = root.findtext(".//AcctDataSrc");
|
|
937
|
-
result.amount = root.findtext(".//Amt");
|
|
938
|
-
result.authorizedAmount = root.findtext(".//AuthAmt");
|
|
939
|
-
result.authCode = root.findtext(".//AuthCode");
|
|
940
|
-
result.batchCloseDate = new Date(root.findtext(".//BatchCloseDT"));
|
|
941
|
-
result.batchSequenceNumber = root.findtext(".//BatchSeqNbr");
|
|
942
|
-
result.cardSwiped = root.findtext(".//CardSwiped");
|
|
943
|
-
result.cardType = root.findtext(".//CardType");
|
|
944
|
-
result.clerkId = root.findtext(".//ClerkID");
|
|
945
|
-
result.clientTransactionId = root.findtext(".//ClientTxnId");
|
|
946
|
-
result.convenienceAmt = root.findtext(".//ConvenienceAmtInfo");
|
|
947
|
-
result.deviceId = root.findtext(".//DeviceId");
|
|
948
|
-
result.gratuityAmount = root.findtext(".//GratuityAmtInfo");
|
|
949
|
-
result.issuerResponseCode = this.normalizeResponse(root.findtext(".//IssuerRspCode"));
|
|
950
|
-
result.issuerResponseMessage = root.findtext(".//IssuerRspText");
|
|
951
|
-
result.issuerTransactionId = root.findtext(".//IssTxnId");
|
|
952
|
-
result.maskedCardNumber = root.findtext(".//MaskedCardNbr");
|
|
953
|
-
result.gatewayResponseCode = this.normalizeResponse(root.findtext(".//GatewayRspCode"));
|
|
954
|
-
result.gatewayResponseMessage = root.findtext(".//GatewayRspMsg");
|
|
955
|
-
result.originalTransactionId = root.findtext(".//OriginalGatewayTxnId");
|
|
956
|
-
result.paymentType = root.findtext(".//PaymentType");
|
|
957
|
-
result.poNumber = root.findtext(".//CardHolderPONbr");
|
|
958
|
-
result.referenceNumber = root.findtext(".//RefNbr");
|
|
959
|
-
result.responseDate = new Date(root.findtext(".//RspDT"));
|
|
960
|
-
result.serviceName = root.findtext(".//ServiceName");
|
|
961
|
-
result.settlementAmount = root.findtext(".//SettlementAmt");
|
|
962
|
-
result.shippingAmt = root.findtext(".//ShippingAmtInfo");
|
|
963
|
-
result.siteTrace = root.findtext(".//SiteTrace");
|
|
964
|
-
result.status = root.findtext(".//TxnStatus");
|
|
965
|
-
result.taxAmount = root.findtext(".//TaxAmtInfo");
|
|
966
|
-
result.taxType = root.findtext(".//TaxType");
|
|
967
|
-
result.transactionDate = new Date(root.findtext(".//TxnUtcDT"));
|
|
968
|
-
result.transactionId = root.findtext(".//GatewayTxnId");
|
|
969
|
-
result.username = root.findtext(".//UserName");
|
|
970
|
-
result.description = root.findtext(".//Description");
|
|
971
|
-
result.invoiceNumber = root.findtext(".//InvoiceNbr");
|
|
972
|
-
result.customerId = root.findtext(".//CustomerID");
|
|
973
|
-
result.uniqueDeviceId = root.findtext(".//UniqueDeviceId");
|
|
974
|
-
result.transactionDescriptor = root.findtext(".//TxnDescriptor");
|
|
975
|
-
result.giftCurrency = root.findtext(".//GiftCurrency");
|
|
976
|
-
result.maskedAlias = root.findtext(".//GiftMaskedAlias");
|
|
977
|
-
result.paymentMethodKey = root.findtext(".//PaymentMethodKey");
|
|
978
|
-
result.scheduleId = root.findtext(".//ScheduleID");
|
|
979
|
-
result.oneTimePayment = root.findtext(".//OneTime");
|
|
980
|
-
result.recurringDataCode = root.findtext(".//RecurringDataCode");
|
|
981
|
-
result.surchargeAmount = root.findtext(".//SurchargeAmtInfo");
|
|
982
|
-
result.fraudRuleInfo = root.findtext(".//FraudInfoRule");
|
|
983
|
-
result.repeatCount = root.findtext(".//RepeatCount");
|
|
984
|
-
result.emvChipCondition = root.findtext(".//EMVChipCondition");
|
|
985
|
-
result.hasEmvTags = root.findtext(".//HasEMVTag");
|
|
986
|
-
result.hasEcomPaymentData = root.findtext(".//HasEComPaymentData");
|
|
987
|
-
result.cavvResponseCode = root.findtext(".//CAVVResultCode");
|
|
988
|
-
result.tokenPanLastFour = root.findtext(".//TokenPANLast4");
|
|
989
|
-
result.companyName = root.findtext(".//Company");
|
|
990
|
-
result.customerFirstName = root.findtext(".//CustomerFirstname");
|
|
991
|
-
result.customerLastName = root.findtext(".//CustomerLastname");
|
|
992
|
-
result.debtRepaymentIndicator = root.findtext(".//DebtRepaymentIndicator");
|
|
993
|
-
result.captureAmount = root.findtext(".//CaptureAmtInfo");
|
|
994
|
-
result.fullyCaptured = root.findtext(".//FullyCapturedInd");
|
|
995
|
-
return result;
|
|
996
|
-
};
|
|
997
|
-
PorticoConnector.prototype.shouldIncludeCredentialOnFile = function (builder) {
|
|
998
|
-
if ([
|
|
999
|
-
__1.TransactionType.Auth,
|
|
1000
|
-
__1.TransactionType.Refund,
|
|
1001
|
-
__1.TransactionType.Sale,
|
|
1002
|
-
__1.TransactionType.Verify,
|
|
1003
|
-
].indexOf(builder.transactionType) !== -1) {
|
|
1004
|
-
return true;
|
|
1005
|
-
}
|
|
1006
|
-
return false;
|
|
1007
|
-
};
|
|
1008
|
-
PorticoConnector.prototype.isAppleOrGooglePay = function (paymentDataSource) {
|
|
1009
|
-
return paymentDataSource == __1.PaymentDataSourceType.APPLEPAY
|
|
1010
|
-
|| paymentDataSource == __1.PaymentDataSourceType.APPLEPAYAPP
|
|
1011
|
-
|| paymentDataSource == __1.PaymentDataSourceType.APPLEPAYWEB
|
|
1012
|
-
|| paymentDataSource == __1.PaymentDataSourceType.GOOGLEPAYAPP
|
|
1013
|
-
|| paymentDataSource == __1.PaymentDataSourceType.GOOGLEPAYWEB;
|
|
1014
|
-
};
|
|
1015
|
-
PorticoConnector.XmlNamespace = "http://Hps.Exchange.PosGateway";
|
|
1016
|
-
return PorticoConnector;
|
|
1017
|
-
}(XmlGateway_1.XmlGateway));
|
|
1018
|
-
exports.PorticoConnector = PorticoConnector;
|