@aptos-scp/scp-component-rn-device-services 0.0.4-hm → 0.1.1
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/android/src/main/java/com/aptos/scp/paymentterminal/adyen/AdyenPaymentTerminal.java +0 -69
- package/ios/AurusEnterpriseSDK.framework/AurusEnterpriseSDK +0 -0
- package/ios/AurusEnterpriseSDK.framework/Headers/AurusEnterpriseSDK.h +95 -97
- package/ios/SCPRNDeviceServices/AdyenPaymentTerminal.h +0 -19
- package/ios/SCPRNDeviceServices/AdyenPaymentTerminal.m +22 -457
- package/ios/SCPRNDeviceServices/AurusPaymentTerminal.m +29 -83
- package/ios/SCPRNDeviceServices/VendorPaymentTerminal.m +1 -1
- package/ios/SCPRNDeviceServices.xcodeproj/project.pbxproj +0 -56
- package/lib/AurusDevice/AurusDevice.d.ts +26 -34
- package/lib/AurusDevice/AurusDevice.js +251 -379
- package/lib/AurusDevice/AurusDevice.js.map +1 -1
- package/lib/AurusDevice/constants.d.ts +33 -84
- package/lib/AurusDevice/constants.js +37 -114
- package/lib/AurusDevice/constants.js.map +1 -1
- package/lib/AurusDevice/sdk-interface/AESDKRegistration.d.ts +9 -10
- package/lib/AurusDevice/sdk-interface/AESDKRegistration.js +6 -0
- package/lib/AurusDevice/sdk-interface/AESDKRegistration.js.map +1 -1
- package/lib/AurusDevice/sdk-interface/AurusPaymentSupport.d.ts +5 -5
- package/lib/AurusDevice/sdk-interface/AurusPaymentSupport.js +70 -88
- package/lib/AurusDevice/sdk-interface/AurusPaymentSupport.js.map +1 -1
- package/lib/AurusDevice/sdk-interface/Barcode.d.ts +4 -5
- package/lib/AurusDevice/sdk-interface/Barcode.js +6 -0
- package/lib/AurusDevice/sdk-interface/Barcode.js.map +1 -1
- package/lib/AurusDevice/sdk-interface/CancelTransaction.d.ts +10 -11
- package/lib/AurusDevice/sdk-interface/CancelTransaction.js +6 -0
- package/lib/AurusDevice/sdk-interface/CancelTransaction.js.map +1 -1
- package/lib/AurusDevice/sdk-interface/GetCardBinRequest.d.ts +12 -14
- package/lib/AurusDevice/sdk-interface/PLCCApplication.d.ts +11 -12
- package/lib/AurusDevice/sdk-interface/PLCCApplication.js +6 -0
- package/lib/AurusDevice/sdk-interface/PLCCApplication.js.map +1 -1
- package/lib/AurusDevice/sdk-interface/TransactionRequest.d.ts +46 -42
- package/lib/AurusDevice/sdk-interface/TransactionRequest.js +6 -0
- package/lib/AurusDevice/sdk-interface/TransactionRequest.js.map +1 -1
- package/lib/AurusDevice/sdk-interface/index.d.ts +0 -2
- package/lib/PaymentDeviceFactory.d.ts +5 -5
- package/lib/PaymentDeviceFactory.js +4 -4
- package/lib/PaymentDeviceFactory.js.map +1 -1
- package/lib/PaymentDeviceService.d.ts +3 -4
- package/lib/PaymentDeviceService.js +33 -47
- package/lib/PaymentDeviceService.js.map +1 -1
- package/lib/ScannerDeviceFactory.d.ts +5 -5
- package/lib/ScannerDeviceFactory.js +5 -5
- package/lib/ScannerDeviceFactory.js.map +1 -1
- package/lib/ScannerDeviceService.d.ts +2 -2
- package/lib/ScannerDeviceService.js +6 -6
- package/lib/ScannerDeviceService.js.map +1 -1
- package/lib/configs/inversify/inversify.config.js +7 -4
- package/lib/configs/inversify/inversify.config.js.map +1 -1
- package/lib/constants/constants.d.ts +38 -61
- package/lib/constants/constants.js +41 -62
- package/lib/constants/constants.js.map +1 -1
- package/lib/interfaces/IDeviceStatus.d.ts +0 -1
- package/lib/interfaces/payment/IPayment.d.ts +9 -4
- package/lib/interfaces/payment/messages/requests.d.ts +3 -2
- package/lib/interfaces/payment/messages/responses.d.ts +6 -13
- package/lib/interfaces/scanner/IScanner.d.ts +8 -2
- package/package.json +9 -11
- package/types/es-symbol/index.d.ts +4 -0
- package/types/money-works/index.d.ts +49 -0
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/AdyenToolkit +0 -0
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/AdyenToolkit.bundle/Info.plist +0 -0
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/AdyenToolkit.bundle/adyentoolkit.momd/VersionInfo.plist +0 -0
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/AdyenToolkit.bundle/adyentoolkit.momd/adyentoolkit v1.10.2.mom +0 -0
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/AdyenToolkit.bundle/adyentoolkit.momd/adyentoolkit v1.10.3.mom +0 -0
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/AdyenToolkit.bundle/adyentoolkit.momd/adyentoolkit v1.10.4.mom +0 -0
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/AdyenToolkit.bundle/adyentoolkit.momd/adyentoolkit v1.10.4.omo +0 -0
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/AdyenToolkit.bundle/adyentoolkit.momd/adyentoolkit v1.10.mom +0 -0
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/AdyenToolkit.bundle/adyentoolkit.momd/adyentoolkit v1.8.6.mom +0 -0
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/AdyenToolkit.bundle/adyentoolkit.momd/adyentoolkit v1.9.mom +0 -0
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/AdyenToolkit.bundle/adyentoolkit.momd/adyentoolkit.mom +0 -0
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYAccountData.h +0 -26
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYAdditionalDataRequest.h +0 -38
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYAmount.h +0 -16
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYAppData.h +0 -26
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYBalance.h +0 -13
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYCashTransactionRequest.h +0 -35
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYConstants.h +0 -688
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYCurrency.h +0 -33
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYDevice.h +0 -308
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYDeviceData.h +0 -52
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYDeviceManagerDelegate.h +0 -66
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYDeviceRegistry.h +0 -125
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYDynamicCurrencyConversionData.h +0 -22
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYErrors.h +0 -153
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYGiftCard.h +0 -41
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYGiftCardBalanceRequest.h +0 -50
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYGiftCardBalanceResponse.h +0 -38
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYGiftCardLoadRequest.h +0 -78
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYGiftCardLoadRequestDelegate.h +0 -25
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYGiftCardLoadResponse.h +0 -31
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYGiftCardMask.h +0 -31
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYGiftCardRequest.h +0 -13
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYLocationManager.h +0 -14
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYLoginDelegate.h +0 -80
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYPrintReceiptRequest.h +0 -57
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYReceipt.h +0 -33
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYReceiptLine.h +0 -92
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYReferralRequest.h +0 -16
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYRefundData.h +0 -54
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYServerSynchronization.h +0 -18
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYSignatureRequest.h +0 -117
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYSpecialTransactionRequest.h +0 -63
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYToneGenerator.h +0 -45
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYTransactionData.h +0 -416
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYTransactionDetails.h +0 -45
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYTransactionProcessorDelegate.h +0 -279
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYTransactionRequest.h +0 -108
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/ADYUIKit.h +0 -30
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/Adyen.h +0 -591
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/AdyenToolkit-umbrella.h +0 -59
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/AdyenToolkit.h +0 -79
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/NSData+ADY.h +0 -31
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/NSString+ADY.h +0 -19
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Headers/adylog.h +0 -176
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Info.plist +0 -0
- package/ios/Frameworks/Adyen/AdyenToolkit.framework/Modules/module.modulemap +0 -6
- package/ios/SCPRNDeviceServices/Adyen/AdyenConstants.h +0 -40
- package/ios/SCPRNDeviceServices/Adyen/AdyenConstants.m +0 -28
- package/ios/SCPRNDeviceServices/Adyen/AdyenDelegate.h +0 -23
- package/ios/SCPRNDeviceServices/Adyen/AdyenDelegate.m +0 -15
- package/ios/SCPRNDeviceServices/Adyen/AdyenDeviceManagerDelegate.h +0 -19
- package/ios/SCPRNDeviceServices/Adyen/AdyenDeviceManagerDelegate.m +0 -31
- package/ios/SCPRNDeviceServices/Adyen/AdyenLoginDelegate.h +0 -19
- package/ios/SCPRNDeviceServices/Adyen/AdyenLoginDelegate.m +0 -26
- package/ios/SCPRNDeviceServices/Adyen/AdyenTransactionProcessorDelegate.h +0 -26
- package/ios/SCPRNDeviceServices/Adyen/AdyenTransactionProcessorDelegate.m +0 -148
- package/lib/AdyenDevice/AdyenDevice.d.ts +0 -56
- package/lib/AdyenDevice/AdyenDevice.js +0 -349
- package/lib/AdyenDevice/AdyenDevice.js.map +0 -1
- package/lib/AdyenDevice/constants.d.ts +0 -12
- package/lib/AdyenDevice/constants.js +0 -228
- package/lib/AdyenDevice/constants.js.map +0 -1
- package/lib/AdyenDevice/index.d.ts +0 -1
- package/lib/AdyenDevice/index.js +0 -7
- package/lib/AdyenDevice/index.js.map +0 -1
- package/lib/AdyenDevice/interfaces.d.ts +0 -175
- package/lib/AdyenDevice/interfaces.js +0 -3
- package/lib/AdyenDevice/interfaces.js.map +0 -1
- package/lib/AurusDevice/sdk-interface/ByPassScreen.d.ts +0 -25
- package/lib/AurusDevice/sdk-interface/ByPassScreen.js +0 -9
- package/lib/AurusDevice/sdk-interface/ByPassScreen.js.map +0 -1
- package/lib/AurusDevice/sdk-interface/Upgrade.d.ts +0 -23
- package/lib/AurusDevice/sdk-interface/Upgrade.js +0 -9
- package/lib/AurusDevice/sdk-interface/Upgrade.js.map +0 -1
- package/lib/AurusDevice/sdk-interface/XmlElementString.d.ts +0 -3
- package/lib/AurusDevice/sdk-interface/XmlElementString.js +0 -3
- package/lib/AurusDevice/sdk-interface/XmlElementString.js.map +0 -1
|
@@ -23,26 +23,18 @@ const react_native_1 = require("react-native");
|
|
|
23
23
|
const _1 = require("../");
|
|
24
24
|
const constants_1 = require("./constants");
|
|
25
25
|
const sdk_interface_1 = require("./sdk-interface");
|
|
26
|
-
const
|
|
26
|
+
const xml2js = require("react-native-xml2js");
|
|
27
27
|
const logger = scp_component_logging_1.LogManager.getLogger("com.aptos.deviceservices.AurusDevice");
|
|
28
28
|
const native_onAESDKResponse = react_native_1.NativeModules.AurusPaymentTerminal.native_onAESDKResponse;
|
|
29
|
-
const
|
|
30
|
-
const native_onAESDKLogResponse = react_native_1.NativeModules.AurusPaymentTerminal.native_onAESDKLogResponse;
|
|
31
|
-
const NotificationEvent = react_native_1.NativeModules.AurusPaymentTerminal.NotificationEvent;
|
|
29
|
+
const native_onBarcodeDataReceived = react_native_1.NativeModules.AurusPaymentTerminal.native_onBarcodeDataReceived;
|
|
32
30
|
let AurusDevice = class AurusDevice {
|
|
33
31
|
/**
|
|
34
32
|
* To avoid pushing native component awareness onto the rest of the app, the native objects
|
|
35
33
|
* are created in the constructor, which only accepts JavaScript parameters.
|
|
36
34
|
*/
|
|
37
35
|
constructor() {
|
|
38
|
-
this.
|
|
39
|
-
this.
|
|
40
|
-
this._registrationInProgress = false; // EMV Config now happens during registration
|
|
41
|
-
this._waitingForDeviceConnected = false;
|
|
42
|
-
this._scannerEnabled = false;
|
|
43
|
-
this._paymentEnvironment = "Aurus"; // string representation of payment environment for trans object
|
|
44
|
-
this._requestInProgress = false;
|
|
45
|
-
this._requestQueue = [];
|
|
36
|
+
this._initialized = false;
|
|
37
|
+
this._scannerEnabled = true; //todo: once enable/disable is implemented in client, defaulting to false.
|
|
46
38
|
const entryMessage = logger.traceEntry("constructor");
|
|
47
39
|
this._devicePaymentTerminal = react_native_1.NativeModules.AurusPaymentTerminal;
|
|
48
40
|
this._nativeEventEmitter = new react_native_1.NativeEventEmitter(react_native_1.NativeModules.AurusPaymentTerminal);
|
|
@@ -53,22 +45,8 @@ let AurusDevice = class AurusDevice {
|
|
|
53
45
|
const entryMessage = logger.traceEntry("configurePaymentDevice", emitter, config);
|
|
54
46
|
this._paymentEmitter = emitter;
|
|
55
47
|
this._paymentConfig = config;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
let corpId = "";
|
|
59
|
-
let hostUrl = "";
|
|
60
|
-
if (config && config.vendorConfiguration) {
|
|
61
|
-
storeType = config.vendorConfiguration.storeType;
|
|
62
|
-
corpId = config.vendorConfiguration.corpId;
|
|
63
|
-
hostUrl = config.vendorConfiguration.hostUrl;
|
|
64
|
-
if (storeType === "PROD") {
|
|
65
|
-
payEnvDesc = "Aurus Production";
|
|
66
|
-
}
|
|
67
|
-
else if (storeType === "UAT") {
|
|
68
|
-
payEnvDesc = "Aurus UAT Sandbox";
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
this._paymentEnvironment = `${payEnvDesc} (StoreType: ${storeType}, CorpID: ${corpId}, HostUrl: ${hostUrl})`;
|
|
48
|
+
sdk_interface_1.AurusSupport.authRequest = Object.assign({}, this._paymentConfig);
|
|
49
|
+
sdk_interface_1.AurusSupport.productionEnv = this._paymentConfig.productionEnv;
|
|
72
50
|
logger.traceExit(entryMessage);
|
|
73
51
|
});
|
|
74
52
|
}
|
|
@@ -77,13 +55,16 @@ let AurusDevice = class AurusDevice {
|
|
|
77
55
|
const entryMessage = logger.traceEntry("configureScannerDevice", emitter, config);
|
|
78
56
|
this._scannerEmitter = emitter;
|
|
79
57
|
this._scannerConfig = config;
|
|
80
|
-
this._scannerEnabled = config.initiallyEnabled;
|
|
81
58
|
logger.traceExit(entryMessage);
|
|
82
59
|
});
|
|
83
60
|
}
|
|
84
61
|
startPaymentDevice() {
|
|
85
62
|
return __awaiter(this, void 0, void 0, function* () {
|
|
86
63
|
const entryMessage = logger.traceEntry("startPaymentDevice");
|
|
64
|
+
let context = {};
|
|
65
|
+
this._paymentSubscriptions = [
|
|
66
|
+
this._nativeEventEmitter.addListener(native_onAESDKResponse, this.onAESDKResponse.bind(this), context)
|
|
67
|
+
];
|
|
87
68
|
this.initializeNative();
|
|
88
69
|
logger.traceExit(entryMessage);
|
|
89
70
|
});
|
|
@@ -91,6 +72,10 @@ let AurusDevice = class AurusDevice {
|
|
|
91
72
|
startScannerDevice() {
|
|
92
73
|
return __awaiter(this, void 0, void 0, function* () {
|
|
93
74
|
const entryMessage = logger.traceEntry("startScannerDevice");
|
|
75
|
+
let context = {};
|
|
76
|
+
this._scannerSubscriptions = [
|
|
77
|
+
this._nativeEventEmitter.addListener(native_onBarcodeDataReceived, this.onBarcodeDataReceived.bind(this), context)
|
|
78
|
+
];
|
|
94
79
|
this.initializeNative();
|
|
95
80
|
logger.traceExit(entryMessage);
|
|
96
81
|
});
|
|
@@ -98,21 +83,14 @@ let AurusDevice = class AurusDevice {
|
|
|
98
83
|
captureSale(authRequest) {
|
|
99
84
|
return __awaiter(this, void 0, void 0, function* () {
|
|
100
85
|
const entryMessage = logger.traceEntry("captureSale", authRequest);
|
|
101
|
-
|
|
86
|
+
this.authorize(Object.assign({}, authRequest, { requestType: _1.PaymentRequestType.Sale }));
|
|
102
87
|
logger.traceExit(entryMessage);
|
|
103
88
|
});
|
|
104
89
|
}
|
|
105
90
|
captureRefund(authRequest) {
|
|
106
91
|
return __awaiter(this, void 0, void 0, function* () {
|
|
107
92
|
const entryMessage = logger.traceEntry("captureRefund", authRequest);
|
|
108
|
-
|
|
109
|
-
logger.traceExit(entryMessage);
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
captureVoid(authRequest) {
|
|
113
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
114
|
-
const entryMessage = logger.traceEntry("captureVoid", authRequest);
|
|
115
|
-
yield this.authorize(Object.assign({}, authRequest, { requestType: _1.PaymentRequestType.Void }));
|
|
93
|
+
this.authorize(Object.assign({}, authRequest, { requestType: _1.PaymentRequestType.Refund }));
|
|
116
94
|
logger.traceExit(entryMessage);
|
|
117
95
|
});
|
|
118
96
|
}
|
|
@@ -120,7 +98,6 @@ let AurusDevice = class AurusDevice {
|
|
|
120
98
|
return __awaiter(this, void 0, void 0, function* () {
|
|
121
99
|
const entryMessage = logger.traceEntry("enableScannerDevice");
|
|
122
100
|
this._scannerEnabled = true;
|
|
123
|
-
this.sendUpgradeRequest(constants_1.UpgradeType.ENABLE_SCANNER);
|
|
124
101
|
logger.traceExit(entryMessage);
|
|
125
102
|
});
|
|
126
103
|
}
|
|
@@ -128,75 +105,84 @@ let AurusDevice = class AurusDevice {
|
|
|
128
105
|
return __awaiter(this, void 0, void 0, function* () {
|
|
129
106
|
const entryMessage = logger.traceEntry("disableScannerDevice");
|
|
130
107
|
this._scannerEnabled = false;
|
|
131
|
-
this.sendUpgradeRequest(constants_1.UpgradeType.DISABLE_SCANNER);
|
|
132
108
|
logger.traceExit(entryMessage);
|
|
133
109
|
});
|
|
134
110
|
}
|
|
135
111
|
giftcardActivate(authRequest) {
|
|
136
112
|
return __awaiter(this, void 0, void 0, function* () {
|
|
137
113
|
const entryMessage = logger.traceEntry("giftcardActivate", authRequest);
|
|
138
|
-
|
|
114
|
+
this.authorize(Object.assign({}, authRequest, { requestType: _1.PaymentRequestType.GiftCardActivate }));
|
|
139
115
|
logger.traceExit(entryMessage);
|
|
140
116
|
});
|
|
141
117
|
}
|
|
142
118
|
giftcardBalance(authRequest) {
|
|
143
119
|
return __awaiter(this, void 0, void 0, function* () {
|
|
144
120
|
const entryMessage = logger.traceEntry("giftcardBalance", authRequest);
|
|
145
|
-
|
|
121
|
+
this.authorize(Object.assign({}, authRequest, { requestType: _1.PaymentRequestType.GiftCardBalanceInquiry }));
|
|
146
122
|
logger.traceExit(entryMessage);
|
|
147
123
|
});
|
|
148
124
|
}
|
|
149
125
|
giftcardIssue(authRequest) {
|
|
150
126
|
return __awaiter(this, void 0, void 0, function* () {
|
|
151
127
|
const entryMessage = logger.traceEntry("giftcardIssue", authRequest);
|
|
152
|
-
|
|
128
|
+
this.authorize(Object.assign({}, authRequest, { requestType: _1.PaymentRequestType.GiftCardIssue }));
|
|
153
129
|
logger.traceExit(entryMessage);
|
|
154
130
|
});
|
|
155
131
|
}
|
|
156
132
|
giftcardRedeem(authRequest) {
|
|
157
133
|
return __awaiter(this, void 0, void 0, function* () {
|
|
158
134
|
const entryMessage = logger.traceEntry("giftcardRedeem", authRequest);
|
|
159
|
-
|
|
135
|
+
this.authorize(Object.assign({}, authRequest, { requestType: _1.PaymentRequestType.GiftCardRedeem }));
|
|
160
136
|
logger.traceExit(entryMessage);
|
|
161
137
|
});
|
|
162
138
|
}
|
|
163
|
-
|
|
139
|
+
void(authRequest) {
|
|
164
140
|
return __awaiter(this, void 0, void 0, function* () {
|
|
165
|
-
const entryMessage = logger.traceEntry("
|
|
166
|
-
|
|
141
|
+
const entryMessage = logger.traceEntry("void", authRequest);
|
|
142
|
+
this.authorize(Object.assign({}, authRequest, { requestType: _1.PaymentRequestType.Void }));
|
|
167
143
|
logger.traceExit(entryMessage);
|
|
168
144
|
});
|
|
169
145
|
}
|
|
170
146
|
stopPaymentDevice() {
|
|
171
147
|
return __awaiter(this, void 0, void 0, function* () {
|
|
172
148
|
const entryMessage = logger.traceEntry("stopPaymentDevice");
|
|
149
|
+
if (this._paymentSubscriptions) {
|
|
150
|
+
while (this._paymentSubscriptions.length > 0) {
|
|
151
|
+
this._paymentSubscriptions.pop().remove();
|
|
152
|
+
}
|
|
153
|
+
}
|
|
173
154
|
logger.traceExit(entryMessage);
|
|
174
155
|
});
|
|
175
156
|
}
|
|
176
157
|
stopScannerDevice() {
|
|
177
158
|
return __awaiter(this, void 0, void 0, function* () {
|
|
178
159
|
const entryMessage = logger.traceEntry("stopScannerDevice");
|
|
160
|
+
if (this._scannerSubscriptions) {
|
|
161
|
+
while (this._scannerSubscriptions.length > 0) {
|
|
162
|
+
this._scannerSubscriptions.pop().remove();
|
|
163
|
+
}
|
|
164
|
+
}
|
|
179
165
|
logger.traceExit(entryMessage);
|
|
180
166
|
});
|
|
181
167
|
}
|
|
182
168
|
tearDownPaymentDevice() {
|
|
183
169
|
return __awaiter(this, void 0, void 0, function* () {
|
|
184
170
|
const entryMessage = logger.traceEntry("tearDownPaymentDevice");
|
|
185
|
-
yield this.tearDownNative();
|
|
186
171
|
logger.traceExit(entryMessage);
|
|
187
172
|
});
|
|
188
173
|
}
|
|
189
174
|
tearDownScannerDevice() {
|
|
190
175
|
return __awaiter(this, void 0, void 0, function* () {
|
|
191
176
|
const entryMessage = logger.traceEntry("tearDownScannerDevice");
|
|
192
|
-
yield this.tearDownNative();
|
|
193
177
|
logger.traceExit(entryMessage);
|
|
194
178
|
});
|
|
195
179
|
}
|
|
196
180
|
processTimeout() {
|
|
197
181
|
return __awaiter(this, void 0, void 0, function* () {
|
|
198
182
|
const entryMessage = logger.traceEntry("processTimeout");
|
|
199
|
-
|
|
183
|
+
sdk_interface_1.AurusSupport.authResponse.responseCode = _1.ResponseCodes.Timeout;
|
|
184
|
+
sdk_interface_1.AurusSupport.authResponse.status = "TIMEOUT WAITING FOR RESPONSE";
|
|
185
|
+
this._paymentEmitter.emit(_1.EventResponseTypes.Authorization, sdk_interface_1.AurusSupport.authResponse);
|
|
200
186
|
//Send cancel to aurus
|
|
201
187
|
this.sendCancelTranRequest();
|
|
202
188
|
logger.traceExit(entryMessage);
|
|
@@ -206,16 +192,25 @@ let AurusDevice = class AurusDevice {
|
|
|
206
192
|
return __awaiter(this, void 0, void 0, function* () {
|
|
207
193
|
const entryMessage = logger.traceEntry("authorize", authRequest);
|
|
208
194
|
sdk_interface_1.AurusSupport.authRequest = authRequest;
|
|
209
|
-
sdk_interface_1.AurusSupport.authResponse = Object.assign({
|
|
210
|
-
if (this._registrationInProgress) {
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
195
|
+
sdk_interface_1.AurusSupport.authResponse = Object.assign({}, authRequest);
|
|
196
|
+
if (!this._initInProgress && !this._registrationInProgress) {
|
|
197
|
+
if (sdk_interface_1.AurusSupport.requireGetCard(authRequest)) {
|
|
198
|
+
this.sendGetCardBin(authRequest);
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
this.sendCardTransRequest();
|
|
202
|
+
}
|
|
216
203
|
}
|
|
217
204
|
else {
|
|
218
|
-
|
|
205
|
+
sdk_interface_1.AurusSupport.authResponse.responseCode = _1.ResponseCodes.Error;
|
|
206
|
+
if (this._initInProgress) {
|
|
207
|
+
sdk_interface_1.AurusSupport.authResponse.status = "EMV INIT IN PROGRESS";
|
|
208
|
+
}
|
|
209
|
+
else if (this._registrationInProgress) {
|
|
210
|
+
sdk_interface_1.AurusSupport.authResponse.status = "DEVICE REGISTRATION IN PROGRESS";
|
|
211
|
+
}
|
|
212
|
+
logger.debug(() => `Payment not initialized. Sending response: ${JSON.stringify(sdk_interface_1.AurusSupport.authResponse)}`);
|
|
213
|
+
this._paymentEmitter.emit(_1.EventResponseTypes.Authorization, sdk_interface_1.AurusSupport.authResponse);
|
|
219
214
|
}
|
|
220
215
|
logger.traceExit(entryMessage);
|
|
221
216
|
});
|
|
@@ -223,35 +218,13 @@ let AurusDevice = class AurusDevice {
|
|
|
223
218
|
initializeNative() {
|
|
224
219
|
return __awaiter(this, void 0, void 0, function* () {
|
|
225
220
|
const entryMessage = logger.traceEntry("initializeNative");
|
|
226
|
-
if (!this.
|
|
227
|
-
this._listenersAdded = true;
|
|
228
|
-
let context = {};
|
|
229
|
-
this._nativeSubscriptions = [
|
|
230
|
-
this._nativeEventEmitter.addListener(native_onAESDKResponse, this.onAESDKResponse.bind(this), context),
|
|
231
|
-
this._nativeEventEmitter.addListener(native_onNotificationReceived, this.onNotificationReceived.bind(this), context),
|
|
232
|
-
this._nativeEventEmitter.addListener(native_onAESDKLogResponse, this.onAESDKLogResponse.bind(this), context)
|
|
233
|
-
];
|
|
234
|
-
}
|
|
235
|
-
if (!this._initializeCalled) {
|
|
236
|
-
this._initializeCalled = true;
|
|
237
|
-
this._waitingForDeviceConnected = true;
|
|
221
|
+
if (!this._initialized) {
|
|
238
222
|
this._devicePaymentTerminal.initialize();
|
|
223
|
+
this._initialized = true;
|
|
239
224
|
}
|
|
240
225
|
logger.traceExit(entryMessage);
|
|
241
226
|
});
|
|
242
227
|
}
|
|
243
|
-
tearDownNative() {
|
|
244
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
245
|
-
const entryMessage = logger.traceEntry("tearDownNative");
|
|
246
|
-
if (this._nativeSubscriptions) {
|
|
247
|
-
while (this._nativeSubscriptions.length > 0) {
|
|
248
|
-
this._nativeSubscriptions.pop().remove();
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
this._listenersAdded = false;
|
|
252
|
-
logger.traceExit(entryMessage);
|
|
253
|
-
});
|
|
254
|
-
}
|
|
255
228
|
/**
|
|
256
229
|
* This method handles events published by the native components. This is an adapter between the native and JavaScript
|
|
257
230
|
* components for asynchronous events from the native layer.
|
|
@@ -262,11 +235,21 @@ let AurusDevice = class AurusDevice {
|
|
|
262
235
|
// Note: This could check that it received the correct type of argument using a guard function, if multiple types
|
|
263
236
|
// of events can be sent or just for safety.
|
|
264
237
|
let withResponse = args[0];
|
|
265
|
-
logger.debug(`In onAESDKResponse, withResponse: ${JSON.stringify(withResponse)}`);
|
|
266
|
-
// update in-progress and check queue
|
|
267
|
-
this.receiveResponse();
|
|
238
|
+
logger.debug(() => `In onAESDKResponse, withResponse: ${JSON.stringify(withResponse)}`);
|
|
268
239
|
// Parse xml and determine next steps. Call back into native if needed.
|
|
269
|
-
this.handleAESDKResponse(withResponse)
|
|
240
|
+
this.handleAESDKResponse(withResponse).then((returnServer) => {
|
|
241
|
+
if (returnServer & constants_1.ResponseType.PaymentStatus) {
|
|
242
|
+
// If returnServer has PaymentStatus, send IPaymentStatus to POS.
|
|
243
|
+
logger.debug(() => `In onAESDKResponse, publishing paymentStatus: ${JSON.stringify(sdk_interface_1.AurusSupport.paymentStatus)}`);
|
|
244
|
+
this._paymentEmitter.emit(_1.EventResponseTypes.PaymentDeviceStatus, sdk_interface_1.AurusSupport.paymentStatus);
|
|
245
|
+
sdk_interface_1.AurusSupport.paymentStatus = { deviceAvailable: false };
|
|
246
|
+
}
|
|
247
|
+
if (returnServer & constants_1.ResponseType.AuthResponse) {
|
|
248
|
+
// If returnServer has AuthResponse, send IAuthorizationResponse to POS.
|
|
249
|
+
logger.debug(() => `In onAESDKResponse, publishing authResponse: ${JSON.stringify(sdk_interface_1.AurusSupport.authResponse)}`);
|
|
250
|
+
this._paymentEmitter.emit(_1.EventResponseTypes.Authorization, sdk_interface_1.AurusSupport.authResponse);
|
|
251
|
+
}
|
|
252
|
+
});
|
|
270
253
|
}
|
|
271
254
|
else {
|
|
272
255
|
throw logger.throwing(new Error("Empty event received. withResponse data is missing"), entryMessage);
|
|
@@ -277,28 +260,28 @@ let AurusDevice = class AurusDevice {
|
|
|
277
260
|
const entryMessage = logger.traceEntry("sendCancelTranRequest");
|
|
278
261
|
sdk_interface_1.AurusSupport.requestType = constants_1.RequestTypes.CancelTransaction;
|
|
279
262
|
let xmlreq = sdk_interface_1.AurusSupport.createCancelTranRequest();
|
|
280
|
-
this.
|
|
263
|
+
this._devicePaymentTerminal.OnAESDKProcessRequest(xmlreq);
|
|
281
264
|
logger.traceExit(entryMessage);
|
|
282
265
|
}
|
|
283
266
|
sendCancelLastTranRequest() {
|
|
284
267
|
const entryMessage = logger.traceEntry("sendCancelLastTranRequest");
|
|
285
268
|
sdk_interface_1.AurusSupport.requestType = constants_1.RequestTypes.CancelTransaction;
|
|
286
269
|
let xmlreq = sdk_interface_1.AurusSupport.createCancelLastTranRequest();
|
|
287
|
-
this.
|
|
270
|
+
this._devicePaymentTerminal.OnAESDKProcessRequest(xmlreq);
|
|
288
271
|
logger.traceExit(entryMessage);
|
|
289
272
|
}
|
|
290
273
|
sendTransRequest(getCardBinResp) {
|
|
291
274
|
const entryMessage = logger.traceEntry("sendTransRequest", getCardBinResp);
|
|
292
275
|
sdk_interface_1.AurusSupport.requestType = constants_1.RequestTypes.Transaction;
|
|
293
276
|
let xmlreq = sdk_interface_1.AurusSupport.createCardTranRequest(getCardBinResp);
|
|
294
|
-
this.
|
|
277
|
+
this._devicePaymentTerminal.OnAESDKProcessRequest(xmlreq);
|
|
295
278
|
logger.traceExit(entryMessage);
|
|
296
279
|
}
|
|
297
280
|
sendCardTransRequest() {
|
|
298
281
|
const entryMessage = logger.traceEntry("sendCardTransRequest");
|
|
299
282
|
sdk_interface_1.AurusSupport.requestType = constants_1.RequestTypes.Transaction;
|
|
300
283
|
let xmlreq = sdk_interface_1.AurusSupport.createCardTranRequest();
|
|
301
|
-
this.
|
|
284
|
+
this._devicePaymentTerminal.OnAESDKProcessRequest(xmlreq);
|
|
302
285
|
logger.traceExit(entryMessage);
|
|
303
286
|
}
|
|
304
287
|
/**
|
|
@@ -309,164 +292,171 @@ let AurusDevice = class AurusDevice {
|
|
|
309
292
|
const entryMessage = logger.traceEntry("sendGetCardBin", authRequest);
|
|
310
293
|
sdk_interface_1.AurusSupport.requestType = constants_1.RequestTypes.GetCardBin;
|
|
311
294
|
let xmlreq = sdk_interface_1.AurusSupport.createGetCardBinRequest();
|
|
312
|
-
this.
|
|
295
|
+
this._devicePaymentTerminal.OnAESDKProcessRequest(xmlreq);
|
|
313
296
|
logger.traceExit(entryMessage);
|
|
314
297
|
}
|
|
315
298
|
/**
|
|
316
299
|
* Sends an AESDKRegistrationRequest to register the device
|
|
300
|
+
* @param authRequest
|
|
317
301
|
*/
|
|
318
|
-
sendAESDKRegistration() {
|
|
319
|
-
const entryMessage = logger.traceEntry("sendAESDKRegistration");
|
|
302
|
+
sendAESDKRegistration(authRequest) {
|
|
303
|
+
const entryMessage = logger.traceEntry("sendAESDKRegistration", authRequest);
|
|
320
304
|
sdk_interface_1.AurusSupport.requestType = constants_1.RequestTypes.Registration;
|
|
321
|
-
let xmlreq = sdk_interface_1.AurusSupport.createAESDKRegistrationRequest(
|
|
305
|
+
let xmlreq = sdk_interface_1.AurusSupport.createAESDKRegistrationRequest();
|
|
322
306
|
this._registrationInProgress = true;
|
|
323
|
-
this.
|
|
324
|
-
logger.traceExit(entryMessage);
|
|
325
|
-
}
|
|
326
|
-
sendUpgradeRequest(upgradeType) {
|
|
327
|
-
const entryMessage = logger.traceEntry("sendUpgradeRequest");
|
|
328
|
-
if (upgradeType !== constants_1.UpgradeType.ENABLE_SCANNER && upgradeType !== constants_1.UpgradeType.DISABLE_SCANNER) {
|
|
329
|
-
// Enable/Disable scanner is fire and forget and may interrupt other calls. Don't update the request type.
|
|
330
|
-
sdk_interface_1.AurusSupport.requestType = constants_1.RequestTypes.Upgrade;
|
|
331
|
-
}
|
|
332
|
-
let xmlreq = sdk_interface_1.AurusSupport.createUpgradeRequest(this._paymentConfig.storeNumber, this._paymentConfig.terminalNumber, upgradeType);
|
|
333
|
-
this.sendRequest(xmlreq);
|
|
334
|
-
logger.traceExit(entryMessage);
|
|
335
|
-
}
|
|
336
|
-
sendByPassScreen(reason) {
|
|
337
|
-
const entryMessage = logger.traceEntry("sendByPassScreen");
|
|
338
|
-
let xmlreq = sdk_interface_1.AurusSupport.createByPassScreenRequest(this._paymentConfig.storeNumber, this._paymentConfig.terminalNumber, reason);
|
|
339
|
-
this.sendRequest(xmlreq);
|
|
307
|
+
this._devicePaymentTerminal.OnAESDKProcessRequest(xmlreq);
|
|
340
308
|
logger.traceExit(entryMessage);
|
|
341
309
|
}
|
|
342
310
|
handleAESDKResponse(xml) {
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
311
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
312
|
+
const entryMessage = logger.traceEntry("handleAESDKResponse", xml);
|
|
313
|
+
let returnServer = constants_1.ResponseType.None;
|
|
314
|
+
let xmlResponse = yield this.convertXmlToJs(xml);
|
|
315
|
+
if (!xmlResponse) {
|
|
316
|
+
returnServer = this.processResponse(xml);
|
|
317
|
+
}
|
|
318
|
+
else if (constants_1.AesdkResponseTypes.Registration in xmlResponse) {
|
|
319
|
+
returnServer = this.processAESDKRegistration(xmlResponse[constants_1.AesdkResponseTypes.Registration]);
|
|
320
|
+
}
|
|
321
|
+
else if (constants_1.AesdkResponseTypes.GetCardBin in xmlResponse) {
|
|
322
|
+
returnServer = this.processGetCardBin(xmlResponse[constants_1.AesdkResponseTypes.GetCardBin]);
|
|
323
|
+
}
|
|
324
|
+
else if (constants_1.AesdkResponseTypes.Transaction in xmlResponse) {
|
|
325
|
+
returnServer = this.processTrans(xmlResponse[constants_1.AesdkResponseTypes.Transaction]);
|
|
326
|
+
}
|
|
327
|
+
else if (constants_1.AesdkResponseTypes.AESDK in xmlResponse) {
|
|
328
|
+
returnServer = this.processAESDK(xmlResponse[constants_1.AesdkResponseTypes.AESDK]);
|
|
329
|
+
}
|
|
330
|
+
else if (constants_1.AesdkResponseTypes.CancelTransaction in xmlResponse) {
|
|
331
|
+
returnServer = this.processCancelTrans(xmlResponse[constants_1.AesdkResponseTypes.CancelTransaction]);
|
|
332
|
+
}
|
|
333
|
+
return logger.traceExit(entryMessage, returnServer);
|
|
334
|
+
});
|
|
364
335
|
}
|
|
365
336
|
convertXmlToJs(xml) {
|
|
366
337
|
const entryMessage = logger.traceEntry("convertXmlToJs", xml);
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
}
|
|
373
|
-
|
|
338
|
+
return logger.traceExit(entryMessage, new Promise(resolve => {
|
|
339
|
+
let parser = new xml2js.Parser({ explicitArray: false });
|
|
340
|
+
parser.parseString(xml, (err, results) => {
|
|
341
|
+
resolve(results);
|
|
342
|
+
});
|
|
343
|
+
}));
|
|
344
|
+
}
|
|
345
|
+
processResponse(response) {
|
|
346
|
+
const entryMessage = logger.traceEntry("processResponse", response);
|
|
347
|
+
let responseType = constants_1.ResponseType.None;
|
|
348
|
+
if (response === constants_1.InitializationResponses.DeviceNotRegistered ||
|
|
349
|
+
response === constants_1.InitializationResponses.DeviceAlreadyConfigured ||
|
|
350
|
+
response === constants_1.InitializationResponses.DeviceConfigurationComplete) {
|
|
351
|
+
logger.debug("Sending registration request: " + response);
|
|
352
|
+
this.sendAESDKRegistration(sdk_interface_1.AurusSupport.authRequest);
|
|
353
|
+
}
|
|
354
|
+
if (response === constants_1.InitializationResponses.EmvStarted) {
|
|
355
|
+
this._initInProgress = true;
|
|
356
|
+
}
|
|
357
|
+
else if (response === constants_1.InitializationResponses.DeviceConfigurationComplete) {
|
|
358
|
+
this._initInProgress = false;
|
|
359
|
+
}
|
|
360
|
+
// The response string is a status mesage from Aurus.
|
|
361
|
+
sdk_interface_1.AurusSupport.authResponse.status = response;
|
|
362
|
+
return logger.traceExit(entryMessage, responseType);
|
|
374
363
|
}
|
|
375
364
|
processTrans(response) {
|
|
376
365
|
const entryMessage = logger.traceEntry("processTrans", response);
|
|
366
|
+
let responseType = constants_1.ResponseType.AuthResponse;
|
|
377
367
|
let tranDetails = response.TransDetailsData.TransDetailData;
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
sdk_interface_1.AurusSupport.authResponse.
|
|
382
|
-
sdk_interface_1.AurusSupport.authResponse.
|
|
383
|
-
sdk_interface_1.AurusSupport.authResponse.
|
|
384
|
-
sdk_interface_1.AurusSupport.authResponse.
|
|
385
|
-
sdk_interface_1.AurusSupport.authResponse.
|
|
386
|
-
sdk_interface_1.AurusSupport.authResponse.
|
|
387
|
-
sdk_interface_1.AurusSupport.authResponse.EMVData = this.parseEMVData(tranDetails.EMVData
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
// FIXME: AdditionalReceiptInfo should be parsed based on the format of the aurus response.
|
|
391
|
-
// Resolve when we receive next sdk with correct format
|
|
392
|
-
sdk_interface_1.AurusSupport.authResponse.receiptData =
|
|
393
|
-
tranDetails.AdditionalReceiptInfo && [tranDetails.AdditionalReceiptInfo.value];
|
|
394
|
-
sdk_interface_1.AurusSupport.authResponse.entryMethod = this.mapAurusEntryMethod(tranDetails.CardEntryMode.value);
|
|
395
|
-
sdk_interface_1.AurusSupport.authResponse.signatureRequired =
|
|
396
|
-
this.mapAurusSignatureRequired(tranDetails.SignatureReceiptFlag.value);
|
|
397
|
-
sdk_interface_1.AurusSupport.authResponse.pinCaptured = this.mapAurusPinCaptured(tranDetails.SignatureReceiptFlag.value);
|
|
398
|
-
}
|
|
399
|
-
this.emitAuthorizationResponse(responseCode, tranDetails.TransactionResponseText.value);
|
|
400
|
-
logger.traceExit(entryMessage);
|
|
368
|
+
sdk_interface_1.AurusSupport.authResponse.responseCode = this.mapAurusResponseCode(tranDetails.ResponseCode);
|
|
369
|
+
sdk_interface_1.AurusSupport.authResponse.status = tranDetails.TransactionResponseText;
|
|
370
|
+
if (sdk_interface_1.AurusSupport.authResponse.responseCode === _1.ResponseCodes.Approved) {
|
|
371
|
+
sdk_interface_1.AurusSupport.authResponse.approvedAmount = sdk_interface_1.AurusSupport.stringToMoney(tranDetails.TransactionAmount);
|
|
372
|
+
sdk_interface_1.AurusSupport.authResponse.cardNumber = tranDetails.CardNumber;
|
|
373
|
+
sdk_interface_1.AurusSupport.authResponse.cardType = this.mapAurusCardType(tranDetails.CardType);
|
|
374
|
+
sdk_interface_1.AurusSupport.authResponse.tenderType = this.mapAurusTenderType(tranDetails.CardType);
|
|
375
|
+
sdk_interface_1.AurusSupport.authResponse.referenceNumber = response.AurusPayTicketNum;
|
|
376
|
+
sdk_interface_1.AurusSupport.authResponse.balance = tranDetails.BalanceAmount;
|
|
377
|
+
sdk_interface_1.AurusSupport.authResponse.EMVData = this.parseEMVData(tranDetails.EMVData);
|
|
378
|
+
}
|
|
379
|
+
return logger.traceExit(entryMessage, responseType);
|
|
401
380
|
}
|
|
402
381
|
processGetCardBin(response) {
|
|
403
382
|
const entryMessage = logger.traceEntry("processGetCardBin", response);
|
|
383
|
+
let responseType = constants_1.ResponseType.None;
|
|
404
384
|
if (sdk_interface_1.AurusSupport.requestType === constants_1.RequestTypes.GetCardBin) {
|
|
405
|
-
if (response.ResponseCode
|
|
385
|
+
if (response.ResponseCode === constants_1.ResponseValues.Approved) {
|
|
406
386
|
this.sendTransRequest(response);
|
|
407
387
|
}
|
|
408
388
|
else {
|
|
409
|
-
|
|
389
|
+
responseType |= constants_1.ResponseType.AuthResponse;
|
|
390
|
+
sdk_interface_1.AurusSupport.authResponse.responseCode = this.mapAurusResponseCode(response.ResponseCode);
|
|
391
|
+
sdk_interface_1.AurusSupport.authResponse.status = response.ResponseText;
|
|
410
392
|
}
|
|
411
393
|
}
|
|
412
394
|
else {
|
|
413
395
|
//handle additional request types with getcardbinresponses
|
|
414
|
-
|
|
396
|
+
responseType |= constants_1.ResponseType.AuthResponse;
|
|
397
|
+
sdk_interface_1.AurusSupport.authResponse.responseCode = _1.ResponseCodes.Error;
|
|
398
|
+
sdk_interface_1.AurusSupport.authResponse.status = response.ResponseText;
|
|
415
399
|
}
|
|
416
|
-
logger.traceExit(entryMessage);
|
|
400
|
+
return logger.traceExit(entryMessage, responseType);
|
|
417
401
|
}
|
|
418
402
|
processCancelTrans(response) {
|
|
419
403
|
const entryMessage = logger.traceEntry("processCancelTrans", response);
|
|
420
|
-
|
|
421
|
-
|
|
404
|
+
let responseType = constants_1.ResponseType.None;
|
|
405
|
+
if (response.ResponseCode === constants_1.ResponseValues.Approved) {
|
|
406
|
+
logger.debug(() => `processCancelTrans success: ${sdk_interface_1.AurusSupport.authResponse.posReference}`);
|
|
422
407
|
}
|
|
423
408
|
else {
|
|
424
409
|
sdk_interface_1.AurusSupport.requestType = "";
|
|
425
|
-
logger.debug(`processCancelTrans failed, attempting CancelLastTrans: ${sdk_interface_1.AurusSupport.authRequest.transactionNumber}`);
|
|
410
|
+
logger.debug(() => `processCancelTrans failed, attempting CancelLastTrans: ${sdk_interface_1.AurusSupport.authRequest.transactionNumber}`);
|
|
426
411
|
this.sendCancelLastTranRequest();
|
|
427
412
|
}
|
|
428
|
-
logger.traceExit(entryMessage);
|
|
413
|
+
return logger.traceExit(entryMessage, responseType);
|
|
429
414
|
}
|
|
430
415
|
processAESDKRegistration(response) {
|
|
431
416
|
const entryMessage = logger.traceEntry("processAESDKRegistration", response);
|
|
417
|
+
let responseType = constants_1.ResponseType.None;
|
|
432
418
|
if (sdk_interface_1.AurusSupport.requestType === constants_1.RequestTypes.GetCardBin) {
|
|
433
|
-
|
|
434
|
-
|
|
419
|
+
responseType |= constants_1.ResponseType.AuthResponse;
|
|
420
|
+
sdk_interface_1.AurusSupport.authResponse.responseCode = _1.ResponseCodes.Error;
|
|
421
|
+
sdk_interface_1.AurusSupport.authResponse.status = response.ResponseText;
|
|
422
|
+
if (response.ResponseText === constants_1.InitializationResponses.DeviceNotRegistered) {
|
|
423
|
+
this.sendAESDKRegistration(sdk_interface_1.AurusSupport.authRequest);
|
|
435
424
|
}
|
|
436
|
-
this.emitAuthorizationResponse(_1.ResponseCodes.Error, response.ResponseText.value);
|
|
437
425
|
}
|
|
438
426
|
if (sdk_interface_1.AurusSupport.requestType === constants_1.RequestTypes.Registration) {
|
|
427
|
+
responseType |= constants_1.ResponseType.PaymentStatus;
|
|
428
|
+
sdk_interface_1.AurusSupport.paymentStatus.deviceAvailable = true;
|
|
429
|
+
sdk_interface_1.AurusSupport.paymentStatus.status = response.ResponseText;
|
|
430
|
+
sdk_interface_1.AurusSupport.paymentStatus.statusCode = _1.StatusCode.InitializationComplete;
|
|
439
431
|
this._registrationInProgress = false;
|
|
440
|
-
this.emitPaymentStatus(true, _1.StatusCode.InitializationComplete);
|
|
441
|
-
//enable/disable scanner
|
|
442
|
-
this._scannerEnabled ? this.enableScannerDevice() : this.disableScannerDevice();
|
|
443
432
|
}
|
|
444
|
-
logger.traceExit(entryMessage);
|
|
433
|
+
return logger.traceExit(entryMessage, responseType);
|
|
445
434
|
}
|
|
446
435
|
processAESDK(response) {
|
|
447
436
|
const entryMessage = logger.traceEntry("processAESDK", response);
|
|
437
|
+
let responseType = constants_1.ResponseType.None;
|
|
448
438
|
if (sdk_interface_1.AurusSupport.requestType === constants_1.RequestTypes.GetCardBin) {
|
|
449
|
-
|
|
439
|
+
responseType |= constants_1.ResponseType.AuthResponse;
|
|
440
|
+
sdk_interface_1.AurusSupport.authResponse.responseCode = _1.ResponseCodes.Error;
|
|
441
|
+
sdk_interface_1.AurusSupport.authResponse.status = response.ResponseText;
|
|
450
442
|
}
|
|
451
|
-
// this scenario could happen if the registration request fails
|
|
452
443
|
if (sdk_interface_1.AurusSupport.requestType === constants_1.RequestTypes.Registration) {
|
|
444
|
+
responseType |= constants_1.ResponseType.PaymentStatus;
|
|
445
|
+
sdk_interface_1.AurusSupport.paymentStatus.deviceAvailable = true;
|
|
446
|
+
sdk_interface_1.AurusSupport.paymentStatus.status = response.ResponseText;
|
|
447
|
+
sdk_interface_1.AurusSupport.paymentStatus.statusCode = _1.StatusCode.InitializationComplete;
|
|
453
448
|
this._registrationInProgress = false;
|
|
454
|
-
// enable payment button or it will be permanately disabled without the user knowing why
|
|
455
|
-
// registration can be re-attempted when clicked and/or an error given to the user
|
|
456
|
-
this.emitPaymentStatus(true, _1.StatusCode.InitializationComplete);
|
|
457
|
-
//enable/disable scanner
|
|
458
|
-
this._scannerEnabled ? this.enableScannerDevice() : this.disableScannerDevice();
|
|
459
449
|
}
|
|
460
|
-
logger.traceExit(entryMessage);
|
|
450
|
+
return logger.traceExit(entryMessage, responseType);
|
|
461
451
|
}
|
|
462
452
|
mapAurusResponseCode(responseCode) {
|
|
463
453
|
const entryMessage = logger.traceEntry("mapAurusResponseCode", responseCode);
|
|
464
454
|
let retVal = _1.ResponseCodes.Error;
|
|
465
455
|
switch (responseCode) {
|
|
466
|
-
case constants_1.
|
|
456
|
+
case constants_1.ResponseValues.Approved:
|
|
467
457
|
retVal = _1.ResponseCodes.Approved;
|
|
468
458
|
break;
|
|
469
|
-
case constants_1.
|
|
459
|
+
case constants_1.ResponseValues.Timeout:
|
|
470
460
|
retVal = _1.ResponseCodes.Timeout;
|
|
471
461
|
break;
|
|
472
462
|
default:
|
|
@@ -493,63 +483,6 @@ let AurusDevice = class AurusDevice {
|
|
|
493
483
|
}
|
|
494
484
|
return logger.traceExit(entryMessage, retVal);
|
|
495
485
|
}
|
|
496
|
-
mapAurusEntryMethod(entryMethod) {
|
|
497
|
-
const entryMessage = logger.traceEntry("mapAurusEntryMethod", entryMethod);
|
|
498
|
-
let retVal = _1.EntryMethod.Unknown;
|
|
499
|
-
switch (entryMethod) {
|
|
500
|
-
case constants_1.EntryMode.INSERT:
|
|
501
|
-
retVal = _1.EntryMethod.Insert;
|
|
502
|
-
break;
|
|
503
|
-
case constants_1.EntryMode.SWIPE:
|
|
504
|
-
retVal = _1.EntryMethod.Swipe;
|
|
505
|
-
break;
|
|
506
|
-
case constants_1.EntryMode.MOBILE:
|
|
507
|
-
retVal = _1.EntryMethod.Mobile;
|
|
508
|
-
break;
|
|
509
|
-
case constants_1.EntryMode.TAP:
|
|
510
|
-
retVal = _1.EntryMethod.Tap;
|
|
511
|
-
break;
|
|
512
|
-
case constants_1.EntryMode.KEYED:
|
|
513
|
-
retVal = _1.EntryMethod.Keyed;
|
|
514
|
-
break;
|
|
515
|
-
case constants_1.EntryMode.FALLBACK:
|
|
516
|
-
retVal = _1.EntryMethod.Fallback;
|
|
517
|
-
break;
|
|
518
|
-
default:
|
|
519
|
-
retVal = _1.EntryMethod.Unknown;
|
|
520
|
-
break;
|
|
521
|
-
}
|
|
522
|
-
return logger.traceExit(entryMessage, retVal);
|
|
523
|
-
}
|
|
524
|
-
mapAurusSignatureRequired(signatureReceiptFlag) {
|
|
525
|
-
const entryMessage = logger.traceEntry("mapAurusSignatureRequired", signatureReceiptFlag);
|
|
526
|
-
let retVal = false;
|
|
527
|
-
switch (signatureReceiptFlag) {
|
|
528
|
-
case constants_1.SignatureReceiptFlag.PinCapSignatureNeeded:
|
|
529
|
-
case constants_1.SignatureReceiptFlag.SignatureNeeded:
|
|
530
|
-
retVal = true;
|
|
531
|
-
break;
|
|
532
|
-
default:
|
|
533
|
-
retVal = false;
|
|
534
|
-
break;
|
|
535
|
-
}
|
|
536
|
-
return logger.traceExit(entryMessage, retVal);
|
|
537
|
-
}
|
|
538
|
-
mapAurusPinCaptured(signatureReceiptFlag) {
|
|
539
|
-
const entryMessage = logger.traceEntry("mapAurusPinCaptured", signatureReceiptFlag);
|
|
540
|
-
let retVal = false;
|
|
541
|
-
switch (signatureReceiptFlag) {
|
|
542
|
-
case constants_1.SignatureReceiptFlag.PinCapSignatureNeeded:
|
|
543
|
-
case constants_1.SignatureReceiptFlag.PinCaptured:
|
|
544
|
-
case constants_1.SignatureReceiptFlag.PinSigCaptured:
|
|
545
|
-
retVal = true;
|
|
546
|
-
break;
|
|
547
|
-
default:
|
|
548
|
-
retVal = false;
|
|
549
|
-
break;
|
|
550
|
-
}
|
|
551
|
-
return logger.traceExit(entryMessage, retVal);
|
|
552
|
-
}
|
|
553
486
|
parseEMVData(data) {
|
|
554
487
|
const entryMessage = logger.traceEntry("parseEMVData", data);
|
|
555
488
|
let emvData = {};
|
|
@@ -559,167 +492,106 @@ let AurusDevice = class AurusDevice {
|
|
|
559
492
|
let kvpEmv = data.split("[FS]");
|
|
560
493
|
let kvp;
|
|
561
494
|
for (kvp of kvpEmv) {
|
|
562
|
-
|
|
563
|
-
emvData
|
|
495
|
+
//split the pair on "~"
|
|
496
|
+
emvData = this.parseEMVField(kvp.split("~"), emvData);
|
|
564
497
|
}
|
|
565
498
|
}
|
|
566
499
|
catch (e) {
|
|
567
500
|
logger.error(e);
|
|
568
501
|
}
|
|
502
|
+
;
|
|
503
|
+
return logger.traceExit(entryMessage, emvData);
|
|
504
|
+
}
|
|
505
|
+
parseEMVField(field, emvData) {
|
|
506
|
+
const entryMessage = logger.traceEntry("parseEMVField", field, emvData);
|
|
507
|
+
try {
|
|
508
|
+
switch (field[0].toString().toUpperCase()) {
|
|
509
|
+
case "AID":
|
|
510
|
+
emvData.AID = field[1];
|
|
511
|
+
break;
|
|
512
|
+
case "CEM":
|
|
513
|
+
emvData.CEM = field[1];
|
|
514
|
+
break;
|
|
515
|
+
case "CVM":
|
|
516
|
+
emvData.CVM = field[1];
|
|
517
|
+
break;
|
|
518
|
+
case "TVR":
|
|
519
|
+
emvData.TVR = field[1];
|
|
520
|
+
break;
|
|
521
|
+
case "TSI":
|
|
522
|
+
emvData.TSI = field[1];
|
|
523
|
+
break;
|
|
524
|
+
case "IAD":
|
|
525
|
+
emvData.IAD = field[1];
|
|
526
|
+
break;
|
|
527
|
+
case "APP PREF NAME":
|
|
528
|
+
emvData.appPreferredName = field[1];
|
|
529
|
+
break;
|
|
530
|
+
case "APP LABEL":
|
|
531
|
+
emvData.appLabel = field[1];
|
|
532
|
+
break;
|
|
533
|
+
default:
|
|
534
|
+
break;
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
catch (e) {
|
|
538
|
+
logger.error(e);
|
|
539
|
+
}
|
|
540
|
+
;
|
|
569
541
|
return logger.traceExit(entryMessage, emvData);
|
|
570
542
|
}
|
|
571
543
|
/**
|
|
572
544
|
* This method handles events published by the native components. This is an adapter between the native and JavaScript
|
|
573
545
|
* components for asynchronous events from the native layer.
|
|
546
|
+
*
|
|
547
|
+
* @param args
|
|
548
|
+
* @return {any}
|
|
574
549
|
*/
|
|
575
|
-
|
|
576
|
-
const entryMessage = logger.traceEntry("
|
|
550
|
+
onBarcodeDataReceived(...args) {
|
|
551
|
+
const entryMessage = logger.traceEntry("onBarcodeDataReceived", args);
|
|
577
552
|
if (args.length >= 1 && args[0]) {
|
|
578
|
-
|
|
579
|
-
logger.debug(`In
|
|
580
|
-
this.
|
|
553
|
+
let notificationObject = args[0];
|
|
554
|
+
logger.debug(() => `In onBarcodeDataReceived, notificationObject: ${JSON.stringify(notificationObject)}`);
|
|
555
|
+
if (!this._scannerEnabled) {
|
|
556
|
+
logger.debug(() => "Scanning is not enabled, not processing the scan.");
|
|
557
|
+
// todo: make a sound to indicate the scan failed due to not being enabled.
|
|
558
|
+
}
|
|
559
|
+
else {
|
|
560
|
+
this.handleBarcodeDataReceived(notificationObject).then((scanData) => {
|
|
561
|
+
if (scanData) {
|
|
562
|
+
this._scannerEmitter.emit(_1.EventResponseTypes.Scan, scanData);
|
|
563
|
+
}
|
|
564
|
+
});
|
|
565
|
+
}
|
|
581
566
|
}
|
|
582
567
|
else {
|
|
583
|
-
throw logger.throwing(new Error("Empty event received.
|
|
568
|
+
throw logger.throwing(new Error("Empty event received. notificationObject data is missing"), entryMessage);
|
|
584
569
|
}
|
|
585
570
|
logger.traceExit(entryMessage);
|
|
586
571
|
}
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
(
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
[NotificationEvent.DeviceConnected]: () => { this.handleDeviceConnectedEvent(); },
|
|
593
|
-
[NotificationEvent.DeviceConfigurationStarted]: () => { this.handleDeviceConfigurationStartedEvent(); },
|
|
594
|
-
[NotificationEvent.DeviceConfigurationCompleted]: () => { this.handleDeviceConfigurationCompletedEvent(); },
|
|
595
|
-
[NotificationEvent.DeviceConfigurationFailed]: () => { this.handleDeviceConfigurationFailedEvent(); },
|
|
596
|
-
[NotificationEvent.DeviceAlreadyConfigured]: () => { this.handleDeviceAlreadyConfiguredEvent(); }
|
|
597
|
-
})[userInfo.CODE] || (() => { this.handleDefaultEvent(userInfo.CODE); }))();
|
|
598
|
-
}
|
|
599
|
-
}
|
|
600
|
-
handleBarcodeInformationEvent(xmlBarcodeInfo) {
|
|
601
|
-
const entryMessage = logger.traceEntry("handleBarcodeInformationEvent", xmlBarcodeInfo);
|
|
602
|
-
if (!this._scannerEnabled) {
|
|
603
|
-
logger.debug("Scanning is not enabled, not processing the scan.");
|
|
604
|
-
// todo: make a sound to indicate the scan failed due to not being enabled.
|
|
605
|
-
}
|
|
606
|
-
else {
|
|
607
|
-
let xmlResponse = this.convertXmlToJs(xmlBarcodeInfo);
|
|
572
|
+
handleBarcodeDataReceived(xml) {
|
|
573
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
574
|
+
const entryMessage = logger.traceEntry("handleBarcodeDataReceived", xml);
|
|
575
|
+
let scanDataNotification;
|
|
576
|
+
let xmlResponse = yield this.convertXmlToJs(xml);
|
|
608
577
|
if (!xmlResponse) {
|
|
609
|
-
logger.warn(`In
|
|
578
|
+
logger.warn(() => `In handleBarcodeDataReceived, unable to convert to JSON: ${xml}`);
|
|
610
579
|
}
|
|
611
580
|
else if (constants_1.AesdkResponseTypes.Barcode in xmlResponse) {
|
|
612
|
-
this.processBarcodeData(xmlResponse[constants_1.AesdkResponseTypes.Barcode]);
|
|
581
|
+
scanDataNotification = this.processBarcodeData(xmlResponse[constants_1.AesdkResponseTypes.Barcode]);
|
|
613
582
|
}
|
|
614
583
|
else {
|
|
615
|
-
logger.warn(`In
|
|
584
|
+
logger.warn(() => `In handleBarcodeDataReceived, unexpected root element received, ignoring xml: ${xml}`);
|
|
616
585
|
}
|
|
617
|
-
|
|
618
|
-
|
|
586
|
+
return logger.traceExit(entryMessage, scanDataNotification);
|
|
587
|
+
});
|
|
619
588
|
}
|
|
620
589
|
processBarcodeData(barcode) {
|
|
621
590
|
const entryMessage = logger.traceEntry("processBarcodeData", barcode);
|
|
622
|
-
|
|
623
|
-
data: barcode.Barcode
|
|
624
|
-
encoding:
|
|
625
|
-
};
|
|
626
|
-
logger.debug(`In processBarcodeData, publishing scanDataNotification: ${JSON.stringify(scanDataNotification)}`);
|
|
627
|
-
this._scannerEmitter.emit(_1.EventResponseTypes.Scan, scanDataNotification);
|
|
628
|
-
logger.traceExit(entryMessage);
|
|
629
|
-
}
|
|
630
|
-
handleDeviceNotConnectedEvent() {
|
|
631
|
-
const entryMessage = logger.traceEntry("handleDeviceNotConnectedEvent");
|
|
632
|
-
this.emitPaymentStatus(false, _1.StatusCode.DeviceDisconnected);
|
|
633
|
-
// FIXME: This is added as a workaround and will need to be removed in the future.
|
|
634
|
-
// If the device disconnects during a payment, we will never get a response and the app will hang.
|
|
635
|
-
if (sdk_interface_1.AurusSupport.requestType === constants_1.RequestTypes.GetCardBin || sdk_interface_1.AurusSupport.requestType === constants_1.RequestTypes.Transaction) {
|
|
636
|
-
this.emitAuthorizationResponse(_1.ResponseCodes.Error, "Device disconnected. Please try again."); // send to POS
|
|
637
|
-
}
|
|
638
|
-
logger.traceExit(entryMessage);
|
|
639
|
-
}
|
|
640
|
-
handleDeviceConnectedEvent() {
|
|
641
|
-
const entryMessage = logger.traceEntry("handleDeviceConnectedEvent");
|
|
642
|
-
if (this._waitingForDeviceConnected) {
|
|
643
|
-
this._waitingForDeviceConnected = false;
|
|
644
|
-
this.sendAESDKRegistration();
|
|
645
|
-
}
|
|
646
|
-
else {
|
|
647
|
-
// FIXME: This is added as a workaround and will need to be removed in the future.
|
|
648
|
-
// If the device disconnects during a payment, Aurus will always return AESDK is busy.
|
|
649
|
-
this.receiveResponse(); // pretend we received response
|
|
650
|
-
this.sendByPassScreen("Device disconnected"); // send request to clear any errors
|
|
651
|
-
if (this._registrationInProgress) {
|
|
652
|
-
this.sendAESDKRegistration();
|
|
653
|
-
}
|
|
654
|
-
else {
|
|
655
|
-
this.emitPaymentStatus(true, _1.StatusCode.DeviceReconnected);
|
|
656
|
-
//enable/disable scanner
|
|
657
|
-
this._scannerEnabled ? this.enableScannerDevice() : this.disableScannerDevice();
|
|
658
|
-
}
|
|
659
|
-
}
|
|
660
|
-
logger.traceExit(entryMessage);
|
|
661
|
-
}
|
|
662
|
-
handleDeviceConfigurationStartedEvent() {
|
|
663
|
-
const entryMessage = logger.traceEntry("handleDeviceConfigurationStartedEvent");
|
|
664
|
-
logger.traceExit(entryMessage);
|
|
665
|
-
}
|
|
666
|
-
handleDeviceConfigurationCompletedEvent() {
|
|
667
|
-
const entryMessage = logger.traceEntry("handleDeviceConfigurationCompletedEvent");
|
|
668
|
-
logger.traceExit(entryMessage);
|
|
669
|
-
}
|
|
670
|
-
handleDeviceConfigurationFailedEvent() {
|
|
671
|
-
const entryMessage = logger.traceEntry("handleDeviceConfigurationFailedEvent");
|
|
672
|
-
logger.traceExit(entryMessage);
|
|
673
|
-
}
|
|
674
|
-
handleDeviceAlreadyConfiguredEvent() {
|
|
675
|
-
const entryMessage = logger.traceEntry("handleDeviceAlreadyConfiguredEvent");
|
|
676
|
-
logger.traceExit(entryMessage);
|
|
677
|
-
}
|
|
678
|
-
handleDefaultEvent(userInfoCode) {
|
|
679
|
-
// Should we log this? If we do, we should convert the userInfoCode into readable text.
|
|
680
|
-
}
|
|
681
|
-
emitPaymentStatus(deviceAvailable, statusCode) {
|
|
682
|
-
const entryMessage = logger.traceEntry("emitPaymentStatus");
|
|
683
|
-
sdk_interface_1.AurusSupport.paymentStatus.deviceAvailable = deviceAvailable;
|
|
684
|
-
sdk_interface_1.AurusSupport.paymentStatus.statusCode = statusCode;
|
|
685
|
-
sdk_interface_1.AurusSupport.paymentStatus.paymentEnvironment = this._paymentEnvironment;
|
|
686
|
-
logger.debug(`In emitPaymentStatus, publishing paymentStatus: ${JSON.stringify(sdk_interface_1.AurusSupport.paymentStatus)}`);
|
|
687
|
-
this._paymentEmitter.emit(_1.EventResponseTypes.PaymentDeviceStatus, sdk_interface_1.AurusSupport.paymentStatus);
|
|
688
|
-
sdk_interface_1.AurusSupport.paymentStatus = { deviceAvailable: false };
|
|
689
|
-
logger.traceExit(entryMessage);
|
|
690
|
-
}
|
|
691
|
-
emitAuthorizationResponse(responseCode, status) {
|
|
692
|
-
const entryMessage = logger.traceEntry("emitAuthorizationResponse");
|
|
693
|
-
sdk_interface_1.AurusSupport.authResponse.responseCode = responseCode;
|
|
694
|
-
sdk_interface_1.AurusSupport.authResponse.status = status;
|
|
695
|
-
logger.debug(`In emitAuthorizationResponse, publishing authResponse: ${JSON.stringify(sdk_interface_1.AurusSupport.authResponse)}`);
|
|
696
|
-
this._paymentEmitter.emit(_1.EventResponseTypes.Authorization, sdk_interface_1.AurusSupport.authResponse);
|
|
697
|
-
sdk_interface_1.AurusSupport.requestType = "";
|
|
698
|
-
logger.traceExit(entryMessage);
|
|
699
|
-
}
|
|
700
|
-
onAESDKLogResponse(...args) {
|
|
701
|
-
if (args.length >= 1 && args[0]) {
|
|
702
|
-
logger.debug(`onAESDKLogResponse: ${args[0]}`);
|
|
703
|
-
}
|
|
704
|
-
}
|
|
705
|
-
sendRequest(xmlRequest) {
|
|
706
|
-
logger.debug(`sendRequest: _requestInProgress = ${this._requestInProgress}`);
|
|
707
|
-
if (this._requestInProgress) {
|
|
708
|
-
// Note: This is being used to maintain order for rapid requests.
|
|
709
|
-
// It safeguards against enable/disable scanner from POS at the same time as other requests.
|
|
710
|
-
// If additional use cases are added, this should be revisted as well to maintain additional data.
|
|
711
|
-
this._requestQueue.push(xmlRequest);
|
|
712
|
-
}
|
|
713
|
-
else {
|
|
714
|
-
this._requestInProgress = true;
|
|
715
|
-
this._devicePaymentTerminal.OnAESDKProcessRequest(xmlRequest);
|
|
716
|
-
}
|
|
717
|
-
}
|
|
718
|
-
receiveResponse() {
|
|
719
|
-
this._requestInProgress = false;
|
|
720
|
-
if (this._requestQueue.length > 0) {
|
|
721
|
-
this.sendRequest(this._requestQueue.shift());
|
|
722
|
-
}
|
|
591
|
+
return logger.traceExit(entryMessage, {
|
|
592
|
+
data: barcode.Barcode,
|
|
593
|
+
encoding: barcode.BarcodeType
|
|
594
|
+
});
|
|
723
595
|
}
|
|
724
596
|
};
|
|
725
597
|
AurusDevice = __decorate([
|