quivio-transaction-processor 1.23.2 → 1.23.3-beta

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.
Files changed (27) hide show
  1. package/dist/emvPaymentProvider/EMVPaymentProvider.js +144 -63
  2. package/dist/emvPaymentProvider/EMVPaymentProvider.js.map +1 -1
  3. package/dist/emvPaymentProvider/types.d.ts +5 -2
  4. package/dist/example/EMVPaymentScreen.d.ts +4 -1
  5. package/dist/example/EMVPaymentScreen.js +101 -8
  6. package/dist/example/EMVPaymentScreen.js.map +1 -1
  7. package/dist/example/EMVSettingsScreen.js +4 -6
  8. package/dist/example/EMVSettingsScreen.js.map +1 -1
  9. package/dist/example/ExternalSystemsScreen.js +123 -3
  10. package/dist/example/ExternalSystemsScreen.js.map +1 -1
  11. package/dist/example/MainScreen.js +1 -1
  12. package/dist/example/MainScreen.js.map +1 -1
  13. package/dist/example/helper/deviceStore.d.ts +11 -0
  14. package/dist/example/helper/deviceStore.js +37 -0
  15. package/dist/example/helper/deviceStore.js.map +1 -0
  16. package/libs/emvCardReaderLib/src/main/java/com/rohan/emvcardreaderlib/POSTransactionExecutor.kt +29 -25
  17. package/libs/emvCardReaderLib/src/main/java/com/rohan/emvcardreaderlib/builder/DsiEMVRequestBuilder.kt +14 -7
  18. package/libs/emvCardReaderLib/src/main/java/com/rohan/emvcardreaderlib/manager/EMVPaymentManager.kt +28 -20
  19. package/libs/emvNative/src/main/java/com/quivio_transaction_processor/EMVPaymentManagerModule.kt +16 -7
  20. package/package.json +1 -1
  21. package/src/emvPaymentProvider/EMVPaymentProvider.tsx +105 -64
  22. package/src/emvPaymentProvider/types.ts +5 -2
  23. package/src/example/EMVPaymentScreen.tsx +75 -18
  24. package/src/example/EMVSettingsScreen.tsx +3 -5
  25. package/src/example/ExternalSystemsScreen.tsx +116 -27
  26. package/src/example/MainScreen.tsx +1 -1
  27. package/src/example/helper/deviceStore.ts +40 -0
@@ -22,22 +22,137 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __generator = (this && this.__generator) || function (thisArg, body) {
35
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
+ function verb(n) { return function (v) { return step([n, v]); }; }
38
+ function step(op) {
39
+ if (f) throw new TypeError("Generator is already executing.");
40
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
41
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
42
+ if (y = 0, t) op = [op[0] & 2, t.value];
43
+ switch (op[0]) {
44
+ case 0: case 1: t = op; break;
45
+ case 4: _.label++; return { value: op[1], done: false };
46
+ case 5: _.label++; y = op[1]; op = [0]; continue;
47
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
+ default:
49
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
+ if (t[2]) _.ops.pop();
54
+ _.trys.pop(); continue;
55
+ }
56
+ op = body.call(thisArg, _);
57
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
+ }
60
+ };
25
61
  Object.defineProperty(exports, "__esModule", { value: true });
26
62
  var react_1 = __importStar(require("react"));
27
63
  var react_native_1 = require("react-native");
28
64
  var useEMVPayment_1 = require("../emvPaymentProvider/useEMVPayment");
65
+ var deviceStore_1 = require("./helper/deviceStore");
29
66
  var ExternalSystemsScreen = function (_a) {
30
67
  var _b, _c, _d, _e;
31
68
  var config = _a.config, onBackPress = _a.onBackPress;
32
- var _f = (0, useEMVPayment_1.useEMVPayment)(), isConfigured = _f.isConfigured, isDeviceConnected = _f.isDeviceConnected, isCancellationRunning = _f.isCancellationRunning, cancelOperation = _f.cancelOperation, runConfiguration = _f.runConfiguration, isConfigurationInProgress = _f.isConfigurationInProgress, displayMessage = _f.displayMessage;
69
+ var _f = (0, useEMVPayment_1.useEMVPayment)(), isConfigured = _f.isConfigured, deviceSerialNumber = _f.deviceSerialNumber, isDeviceConnected = _f.isDeviceConnected, getDeviceDetails = _f.getDeviceDetails, isCancellationRunning = _f.isCancellationRunning, cancelOperation = _f.cancelOperation, runConfiguration = _f.runConfiguration, isConfigurationInProgress = _f.isConfigurationInProgress, displayMessage = _f.displayMessage;
33
70
  var deviceInfo = (0, react_1.useState)('')[0];
34
- var _g = (0, react_1.useState)(false), infoVisible = _g[0], setInfoVisible = _g[1];
71
+ var _g = (0, react_1.useState)(false), isFetchingDeviceDetails = _g[0], setFetchingDeviceDetails = _g[1];
72
+ var _h = (0, react_1.useState)(false), infoVisible = _h[0], setInfoVisible = _h[1];
35
73
  // Auto-close info modal when device connects
36
74
  (0, react_1.useEffect)(function () {
37
75
  if (isDeviceConnected && infoVisible) {
38
76
  setInfoVisible(false);
39
77
  }
40
78
  }, [isDeviceConnected, infoVisible]);
79
+ // useEffect(() => {
80
+ // let timer: NodeJS.Timeout;
81
+ // if (isConfigured) {
82
+ // if (deviceSerialNumber?.trim()) {
83
+ // addDevice({
84
+ // isConfigured: true,
85
+ // isSandbox: true,
86
+ // MerchantId: config?.merchantID ?? '',
87
+ // serialNumber: deviceSerialNumber,
88
+ // });
89
+ // } else {
90
+ // setFetchingDeviceDetails(true);
91
+ // timer = setTimeout(() => {
92
+ // getDeviceDetails();
93
+ // }, 3000);
94
+ // }
95
+ // }
96
+ // return () => {
97
+ // if (timer) clearTimeout(timer);
98
+ // };
99
+ // }, [isConfigured]);
100
+ // useEffect(() => {
101
+ // if (deviceSerialNumber?.trim()) {
102
+ // setFetchingDeviceDetails(false);
103
+ // addDevice({
104
+ // isConfigured: true,
105
+ // isSandbox: true,
106
+ // MerchantId: config?.merchantID ?? '',
107
+ // serialNumber: deviceSerialNumber,
108
+ // });
109
+ // }
110
+ // }, [deviceSerialNumber]);
111
+ (0, react_1.useEffect)(function () {
112
+ var timer;
113
+ var handleSerial = function () { return __awaiter(void 0, void 0, void 0, function () {
114
+ var serialNumberToBeStored, _a;
115
+ var _b, _c;
116
+ return __generator(this, function (_d) {
117
+ switch (_d.label) {
118
+ case 0:
119
+ if (!isConfigured) return [3 /*break*/, 4];
120
+ if (!!(deviceSerialNumber === null || deviceSerialNumber === void 0 ? void 0 : deviceSerialNumber.trim())) return [3 /*break*/, 2];
121
+ return [4 /*yield*/, getDeviceDetails()];
122
+ case 1:
123
+ _a = _d.sent();
124
+ return [3 /*break*/, 3];
125
+ case 2:
126
+ _a = deviceSerialNumber;
127
+ _d.label = 3;
128
+ case 3:
129
+ serialNumberToBeStored = _a;
130
+ if (serialNumberToBeStored) {
131
+ (0, deviceStore_1.addDevice)({
132
+ MerchantId: (_b = config === null || config === void 0 ? void 0 : config.merchantID) !== null && _b !== void 0 ? _b : '',
133
+ isSandbox: (_c = config === null || config === void 0 ? void 0 : config.isSandBox) !== null && _c !== void 0 ? _c : true,
134
+ isConfigured: true,
135
+ serialNumber: serialNumberToBeStored,
136
+ });
137
+ }
138
+ _d.label = 4;
139
+ case 4:
140
+ setFetchingDeviceDetails(false);
141
+ return [2 /*return*/];
142
+ }
143
+ });
144
+ }); };
145
+ timer = setTimeout(function () {
146
+ setFetchingDeviceDetails(true);
147
+ handleSerial();
148
+ }, 3000);
149
+ return function () {
150
+ if (timer) {
151
+ clearTimeout(timer);
152
+ setFetchingDeviceDetails(false);
153
+ }
154
+ };
155
+ }, [isConfigured, deviceSerialNumber]);
41
156
  var onConfigureDevice = (0, react_1.useCallback)(function () {
42
157
  if (!config)
43
158
  return;
@@ -66,6 +181,10 @@ var ExternalSystemsScreen = function (_a) {
66
181
  displayMessage),
67
182
  react_1.default.createElement(react_native_1.Pressable, { style: styles.closeButton, onPress: function () { } },
68
183
  react_1.default.createElement(react_native_1.Text, { style: styles.closeButtonText }, "Cancel")))))); };
184
+ var DeviceDetailsModal = function () { return (react_1.default.createElement(react_native_1.Modal, { visible: isFetchingDeviceDetails, transparent: true, animationType: "fade", onRequestClose: function () { } },
185
+ react_1.default.createElement(react_native_1.Pressable, { style: styles.modalBackground, onPress: function () { } },
186
+ react_1.default.createElement(react_native_1.Pressable, { style: styles.modalContainer },
187
+ react_1.default.createElement(react_native_1.Text, { style: styles.modalText }, "Saving Device Details....."))))); };
69
188
  var CancelModal = function () { return (react_1.default.createElement(react_native_1.Modal, { visible: isCancellationRunning, transparent: true, animationType: "fade", onRequestClose: function () { } },
70
189
  react_1.default.createElement(react_native_1.Pressable, { style: styles.modalBackground, onPress: function () { return cancelOperation(); } },
71
190
  react_1.default.createElement(react_native_1.Pressable, { style: styles.modalContainer },
@@ -111,8 +230,9 @@ var ExternalSystemsScreen = function (_a) {
111
230
  react_1.default.createElement(react_native_1.TextInput, { style: styles.disabledInput, value: deviceInfo, editable: false, multiline: true }),
112
231
  react_1.default.createElement(InfoModal, null),
113
232
  react_1.default.createElement(LoaderModal, null),
233
+ react_1.default.createElement(DeviceDetailsModal, null),
114
234
  react_1.default.createElement(CancelModal, null),
115
- isDeviceConnected && !isConfigured && react_1.default.createElement(ConfigureCTA, null),
235
+ isDeviceConnected && react_1.default.createElement(ConfigureCTA, null),
116
236
  react_1.default.createElement(BackCTA, null))));
117
237
  };
118
238
  exports.default = ExternalSystemsScreen;
@@ -1 +1 @@
1
- {"version":3,"file":"ExternalSystemsScreen.js","sourceRoot":"","sources":["../../src/example/ExternalSystemsScreen.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExternalSystemsScreen.js","sourceRoot":"","sources":["../../src/example/ExternalSystemsScreen.tsx"],"names":[],"mappings":"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"}
@@ -33,7 +33,7 @@ var MainScreen = function (_a) {
33
33
  var config = _a.config;
34
34
  var _b = (0, react_1.useState)(false), showEMV = _b[0], setShowEMV = _b[1];
35
35
  if (showEMV) {
36
- return react_1.default.createElement(EMVPaymentScreen_1.default, null);
36
+ return react_1.default.createElement(EMVPaymentScreen_1.default, { posConfig: config });
37
37
  }
38
38
  return (react_1.default.createElement(react_native_1.View, { style: styles.container },
39
39
  react_1.default.createElement(react_native_1.Text, { style: styles.title }, "Welcome to Quivio Payment Processor"),
@@ -1 +1 @@
1
- {"version":3,"file":"MainScreen.js","sourceRoot":"","sources":["../../src/example/MainScreen.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAwC;AACxC,6CAA8D;AAC9D,wEAAkD;AAGlD,IAAM,UAAU,GAAoC,UAAC,EAAU;QAAR,MAAM,YAAA;IACrD,IAAA,KAAwB,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAAtC,OAAO,QAAA,EAAE,UAAU,QAAmB,CAAC;IAE9C,IAAI,OAAO,EAAE;QACX,OAAO,8BAAC,0BAAgB,OAAG,CAAC;KAC7B;IAED,OAAO,CACL,8BAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS;QAC3B,8BAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,0CAA4C;QACrE,8BAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,uCAAyC;QACrE,8BAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,eAAe;YACjC,8BAAC,qBAAM,IACL,KAAK,EAAC,YAAY,EAClB,OAAO,EAAE,cAAM,OAAA,UAAU,CAAC,IAAI,CAAC,EAAhB,CAAgB,GAC/B,CACG,CACF,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,IAAM,MAAM,GAAG,yBAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,IAAI,EAAE,CAAC;QACP,cAAc,EAAE,QAAQ;QACxB,UAAU,EAAE,QAAQ;QACpB,eAAe,EAAE,SAAS;QAC1B,OAAO,EAAE,EAAE;KACZ;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,MAAM;QAClB,YAAY,EAAE,EAAE;QAChB,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,QAAQ;KACpB;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,MAAM;QACb,YAAY,EAAE,EAAE;QAChB,SAAS,EAAE,QAAQ;KACpB;IACD,eAAe,EAAE;QACf,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,GAAG;KACd;CACF,CAAC,CAAC;AAEH,kBAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"MainScreen.js","sourceRoot":"","sources":["../../src/example/MainScreen.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAwC;AACxC,6CAA8D;AAC9D,wEAAkD;AAGlD,IAAM,UAAU,GAAoC,UAAC,EAAU;QAAR,MAAM,YAAA;IACrD,IAAA,KAAwB,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAAtC,OAAO,QAAA,EAAE,UAAU,QAAmB,CAAC;IAE9C,IAAI,OAAO,EAAE;QACX,OAAO,8BAAC,0BAAgB,IAAC,SAAS,EAAE,MAAM,GAAG,CAAC;KAC/C;IAED,OAAO,CACL,8BAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS;QAC3B,8BAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,0CAA4C;QACrE,8BAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,uCAAyC;QACrE,8BAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,eAAe;YACjC,8BAAC,qBAAM,IACL,KAAK,EAAC,YAAY,EAClB,OAAO,EAAE,cAAM,OAAA,UAAU,CAAC,IAAI,CAAC,EAAhB,CAAgB,GAC/B,CACG,CACF,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,IAAM,MAAM,GAAG,yBAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,IAAI,EAAE,CAAC;QACP,cAAc,EAAE,QAAQ;QACxB,UAAU,EAAE,QAAQ;QACpB,eAAe,EAAE,SAAS;QAC1B,OAAO,EAAE,EAAE;KACZ;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,MAAM;QAClB,YAAY,EAAE,EAAE;QAChB,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,QAAQ;KACpB;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,MAAM;QACb,YAAY,EAAE,EAAE;QAChB,SAAS,EAAE,QAAQ;KACpB;IACD,eAAe,EAAE;QACf,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,GAAG;KACd;CACF,CAAC,CAAC;AAEH,kBAAe,UAAU,CAAC"}
@@ -0,0 +1,11 @@
1
+ export type DeviceConfig = {
2
+ serialNumber: string;
3
+ MerchantId: string;
4
+ isSandbox: boolean;
5
+ isConfigured: boolean;
6
+ };
7
+ export declare let IDTECH_LOCAL_DB: DeviceConfig[];
8
+ export declare const addDevice: (device: DeviceConfig) => void;
9
+ export declare const updateDevice: (serialNumber: string, updated: Partial<DeviceConfig>) => void;
10
+ export declare const deleteDevice: (serialNumber: string) => void;
11
+ export declare const getDeviceBySerial: (serialNumber: string) => DeviceConfig | undefined;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.getDeviceBySerial = exports.deleteDevice = exports.updateDevice = exports.addDevice = exports.IDTECH_LOCAL_DB = void 0;
15
+ exports.IDTECH_LOCAL_DB = [];
16
+ var addDevice = function (device) {
17
+ console.log('ADDING Device: ', device);
18
+ exports.IDTECH_LOCAL_DB.push(device);
19
+ console.log('After Device ADDED : ', exports.IDTECH_LOCAL_DB);
20
+ };
21
+ exports.addDevice = addDevice;
22
+ var updateDevice = function (serialNumber, updated) {
23
+ var index = exports.IDTECH_LOCAL_DB.findIndex(function (d) { return d.serialNumber === serialNumber; });
24
+ if (index !== -1) {
25
+ exports.IDTECH_LOCAL_DB[index] = __assign(__assign({}, exports.IDTECH_LOCAL_DB[index]), updated);
26
+ }
27
+ };
28
+ exports.updateDevice = updateDevice;
29
+ var deleteDevice = function (serialNumber) {
30
+ exports.IDTECH_LOCAL_DB = exports.IDTECH_LOCAL_DB.filter(function (d) { return d.serialNumber !== serialNumber; });
31
+ };
32
+ exports.deleteDevice = deleteDevice;
33
+ var getDeviceBySerial = function (serialNumber) {
34
+ return exports.IDTECH_LOCAL_DB.find(function (d) { return d.serialNumber === serialNumber; });
35
+ };
36
+ exports.getDeviceBySerial = getDeviceBySerial;
37
+ //# sourceMappingURL=deviceStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deviceStore.js","sourceRoot":"","sources":["../../../src/example/helper/deviceStore.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAOW,QAAA,eAAe,GAAmB,EAE5C,CAAC;AAEK,IAAM,SAAS,GAAG,UAAC,MAAoB;IAC5C,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IACvC,uBAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,uBAAe,CAAC,CAAC;AACxD,CAAC,CAAC;AAJW,QAAA,SAAS,aAIpB;AAEK,IAAM,YAAY,GAAG,UAC1B,YAAoB,EACpB,OAA8B;IAE9B,IAAM,KAAK,GAAG,uBAAe,CAAC,SAAS,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,YAAY,KAAK,YAAY,EAA/B,CAA+B,CAAC,CAAC;IAE9E,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;QAChB,uBAAe,CAAC,KAAK,CAAC,yBACjB,uBAAe,CAAC,KAAK,CAAC,GACtB,OAAO,CACX,CAAC;KACH;AACH,CAAC,CAAC;AAZW,QAAA,YAAY,gBAYvB;AAEK,IAAM,YAAY,GAAG,UAAC,YAAoB;IAC/C,uBAAe,GAAG,uBAAe,CAAC,MAAM,CACtC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,YAAY,KAAK,YAAY,EAA/B,CAA+B,CACrC,CAAC;AACJ,CAAC,CAAC;AAJW,QAAA,YAAY,gBAIvB;AAEK,IAAM,iBAAiB,GAAG,UAAC,YAAoB;IACpD,OAAO,uBAAe,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,YAAY,KAAK,YAAY,EAA/B,CAA+B,CAAC,CAAC;AACpE,CAAC,CAAC;AAFW,QAAA,iBAAiB,qBAE5B"}
@@ -10,17 +10,21 @@ import kotlinx.coroutines.Dispatchers
10
10
  import kotlinx.coroutines.withContext
11
11
  import javax.security.auth.callback.Callback
12
12
 
13
- class POSTransactionExecutor(context: Context, posConfig: ConfigFactory) {
13
+ class POSTransactionExecutor(context: Context) {
14
14
 
15
- private val dsiEMVAndroidLib by lazy {
15
+ private val dsiEMVAndroidLib by lazy {
16
16
  DsiEMVInstanceBuilder.getInstance(context)
17
17
  }
18
18
  private val requestBuilder by lazy {
19
- DsiEMVRequestBuilder(posConfig)
19
+ DsiEMVRequestBuilder()
20
+ }
21
+
22
+ fun setPaymentConfig(posConfig: ConfigFactory) {
23
+ requestBuilder.setPaymentConfig(posConfig)
20
24
  }
21
25
 
22
26
  suspend fun doSale(amount: String) {
23
- withContext(Dispatchers.IO){
27
+ withContext(Dispatchers.IO) {
24
28
  val request = requestBuilder.buildEMVSaleRequest(amount)
25
29
  requestLog(request)
26
30
  dsiEMVAndroidLib.ProcessTransaction(request)
@@ -28,7 +32,7 @@ class POSTransactionExecutor(context: Context, posConfig: ConfigFactory) {
28
32
  }
29
33
 
30
34
  suspend fun doRecurringSale(amount: String) {
31
- withContext(Dispatchers.IO){
35
+ withContext(Dispatchers.IO) {
32
36
  val request = requestBuilder.buildEMVRecurringSaleRequest(amount)
33
37
  requestLog(request)
34
38
  dsiEMVAndroidLib.ProcessTransaction(request)
@@ -36,15 +40,15 @@ class POSTransactionExecutor(context: Context, posConfig: ConfigFactory) {
36
40
  }
37
41
 
38
42
  suspend fun doReplaceCardInRecurring() {
39
- withContext(Dispatchers.IO){
43
+ withContext(Dispatchers.IO) {
40
44
  val request = requestBuilder.buildReplaceCardInRecurringRequest()
41
45
  requestLog(request)
42
46
  dsiEMVAndroidLib.ProcessTransaction(request)
43
47
  }
44
48
  }
45
49
 
46
- suspend fun collectCardData(){
47
- withContext(Dispatchers.IO){
50
+ suspend fun collectCardData() {
51
+ withContext(Dispatchers.IO) {
48
52
  val request = requestBuilder.buildCollectCardDataRequest()
49
53
  requestLog(request)
50
54
  dsiEMVAndroidLib.ProcessTransaction(
@@ -53,12 +57,12 @@ class POSTransactionExecutor(context: Context, posConfig: ConfigFactory) {
53
57
  }
54
58
  }
55
59
 
56
- suspend fun cancelTransaction(){
60
+ suspend fun cancelTransaction() {
57
61
  dsiEMVAndroidLib.CancelRequest()
58
62
  }
59
63
 
60
- suspend fun downloadConfig(){
61
- withContext(Dispatchers.IO){
64
+ suspend fun downloadConfig() {
65
+ withContext(Dispatchers.IO) {
62
66
  val request = requestBuilder.buildEMVParamDownloadRequest()
63
67
  requestLog(request)
64
68
  dsiEMVAndroidLib.ProcessTransaction(
@@ -67,18 +71,18 @@ class POSTransactionExecutor(context: Context, posConfig: ConfigFactory) {
67
71
  }
68
72
  }
69
73
 
70
- suspend fun getDeviceDetails(){
71
- withContext(Dispatchers.IO){
72
- val request = requestBuilder.buildDeviceDetailsRequest()
73
- requestLog(request)
74
- dsiEMVAndroidLib.ProcessTransaction(
75
- request
76
- )
77
- }
74
+ fun getDeviceDetails(): String {
75
+ val request = requestBuilder.buildDeviceDetailsRequest()
76
+ requestLog(request)
77
+ val response = dsiEMVAndroidLib.ProcessTransaction(
78
+ request
79
+ )
80
+ requestLog("SYNCHRONOUS RESPONSE:::$response")
81
+ return response
78
82
  }
79
83
 
80
- suspend fun resetPinPad(){
81
- withContext(Dispatchers.IO){
84
+ suspend fun resetPinPad() {
85
+ withContext(Dispatchers.IO) {
82
86
  val request = requestBuilder.buildPinPadResetRequest()
83
87
  requestLog(request)
84
88
  dsiEMVAndroidLib.ProcessTransaction(
@@ -87,20 +91,20 @@ class POSTransactionExecutor(context: Context, posConfig: ConfigFactory) {
87
91
  }
88
92
  }
89
93
 
90
- fun addPosTransactionListener(callback: ProcessTransactionResponseListener){
94
+ fun addPosTransactionListener(callback: ProcessTransactionResponseListener) {
91
95
  dsiEMVAndroidLib.AddProcessTransactionResponseListener(callback)
92
96
  }
93
97
 
94
- fun addDisplayMessageListener(callback: DisplayMessageListener){
98
+ fun addDisplayMessageListener(callback: DisplayMessageListener) {
95
99
  dsiEMVAndroidLib.AddDisplayMessageListener(callback)
96
100
  }
97
101
 
98
- fun clearAllListeners(){
102
+ fun clearAllListeners() {
99
103
  dsiEMVAndroidLib.ClearProcessTransactionResponseListeners()
100
104
  dsiEMVAndroidLib.ClearCollectCardDataResponseListeners()
101
105
  }
102
106
 
103
- private fun requestLog(log: String){
107
+ private fun requestLog(log: String) {
104
108
  Log.d(PRINT_TAG, "Class: ${this::class.java.simpleName} \n Request: $log")
105
109
  }
106
110
 
@@ -3,19 +3,26 @@ package com.rohan.emvcardreaderlib.builder
3
3
  import com.rohan.emvcardreaderlib.ConfigFactory
4
4
  import com.rohan.emvcardreaderlib.TransType
5
5
 
6
- class DsiEMVRequestBuilder(val config: ConfigFactory) {
7
- private val merchantID = config.merchantID
8
- private val operationMode = if (config.isSandBox) "CERT" else "PROD"
6
+ class DsiEMVRequestBuilder() {
7
+ private var merchantID = ""
8
+ private var operationMode = "CERT"
9
9
  private val comPort = 1
10
- private val secureDevice = config.secureDeviceName
11
- private val posPackageID = config.posPackageID
12
-
13
- private val userTrace = config.operatorID
10
+ private var secureDevice = ""
11
+ private var posPackageID = ""
12
+ private var userTrace = ""
14
13
 
15
14
  private var sequenceNo = "0010010010"
16
15
 
17
16
  private fun createUniqueInvoiceNo() = "${userTrace}-${System.currentTimeMillis()}"
18
17
 
18
+ fun setPaymentConfig(config: ConfigFactory) {
19
+ this.merchantID = config.merchantID
20
+ this.operationMode = if(config.isSandBox) "CERT" else "PROD"
21
+ this.secureDevice = config.secureDeviceName
22
+ this.posPackageID = config.posPackageID
23
+ this.userTrace = config.operatorID
24
+ }
25
+
19
26
  fun buildPinPadResetRequest(): String {
20
27
  return """
21
28
  <?xml version="1.0"?>
@@ -5,15 +5,14 @@ import android.util.Log
5
5
  import com.datacap.android.DisplayMessageListener
6
6
  import com.datacap.android.ProcessTransactionResponseListener
7
7
  import com.rohan.emvcardreaderlib.ConfigFactory
8
- import com.rohan.emvcardreaderlib.communicator.ConfigurationCommunicator
9
- import com.rohan.emvcardreaderlib.communicator.EMVTransactionCommunicator
10
8
  import com.rohan.emvcardreaderlib.POSTransactionExecutor
11
9
  import com.rohan.emvcardreaderlib.PRINT_TAG
12
10
  import com.rohan.emvcardreaderlib.ReaderState
13
11
  import com.rohan.emvcardreaderlib.XMLResponseExtractor
12
+ import com.rohan.emvcardreaderlib.communicator.ConfigurationCommunicator
13
+ import com.rohan.emvcardreaderlib.communicator.EMVTransactionCommunicator
14
14
  import kotlinx.coroutines.CoroutineScope
15
15
  import kotlinx.coroutines.Dispatchers
16
- import kotlinx.coroutines.delay
17
16
  import kotlinx.coroutines.launch
18
17
  import kotlinx.coroutines.withContext
19
18
 
@@ -22,8 +21,7 @@ import kotlinx.coroutines.withContext
22
21
  * 1. Handle case when raised a transaction again and response says In-Progress
23
22
  * */
24
23
  class EMVPaymentManager(
25
- val context: Context,
26
- posConfig: ConfigFactory
24
+ val context: Context
27
25
  ) {
28
26
  private val cancellationTimeout: Long = 2000
29
27
  private var currentPosState: ReaderState = ReaderState.IDLE
@@ -31,13 +29,17 @@ class EMVPaymentManager(
31
29
  private var configCommunicator: ConfigurationCommunicator? = null
32
30
 
33
31
  private val posTransactionExecutor by lazy {
34
- POSTransactionExecutor(context, posConfig)
32
+ POSTransactionExecutor(context)
35
33
  }
36
34
 
37
35
  private val posXMLResponseExtractor by lazy {
38
36
  XMLResponseExtractor()
39
37
  }
40
38
 
39
+ fun setPaymentParams(posConfig: ConfigFactory){
40
+ posTransactionExecutor.setPaymentConfig(posConfig)
41
+ }
42
+
41
43
  private suspend fun resetPinPad() {
42
44
  currentPosState = ReaderState.Reset
43
45
  posTransactionExecutor.resetPinPad()
@@ -50,11 +52,11 @@ class EMVPaymentManager(
50
52
 
51
53
  suspend fun cancelTransaction(){
52
54
  try {
53
- Log.d(PRINT_TAG, "Class: ${this::class.java.simpleName} \n Operation Cancelled Called")
55
+ requestLog("Operation Cancelled Called")
54
56
  currentPosState = ReaderState.CancelTransaction
55
57
  posTransactionExecutor.cancelTransaction()
56
58
  } catch (e: Exception){
57
- Log.d(PRINT_TAG, "Class: ${this::class.java.simpleName} \n Operation cancellation Failed: ${e.message}")
59
+ requestLog("Operation cancellation Failed: ${e.message}")
58
60
  e.printStackTrace()
59
61
  }
60
62
  }
@@ -79,13 +81,15 @@ class EMVPaymentManager(
79
81
  currentPosState = ReaderState.PrePaidCardDataCollect
80
82
  }
81
83
 
82
- suspend fun getDeviceDetails() = withContext(Dispatchers.IO) {
84
+ fun getDeviceDetails() : String? {
83
85
  currentPosState = ReaderState.FetchDeviceDetails
84
- posTransactionExecutor.getDeviceDetails()
86
+ val responseXML = posTransactionExecutor.getDeviceDetails()
87
+ val clientVersionDetails = posXMLResponseExtractor.extractClientVersionResponse(responseXML)
88
+ return clientVersionDetails?.serialNumber
85
89
  }
86
90
  private suspend fun ignoreResponseIfProcessAlreadyRunning(res: String): Boolean {
87
91
  if (posXMLResponseExtractor.isProcessAlreadyRunning(res)) {
88
- Log.d(PRINT_TAG, "Class: ${this::class.java.simpleName} \n Process already running detected. Auto-cancelling transaction...")
92
+ requestLog("Operation Collision: Process already running detected")
89
93
  communicator?.processAlreadyRunning()
90
94
  return true
91
95
  } else {
@@ -95,12 +99,13 @@ class EMVPaymentManager(
95
99
  }
96
100
 
97
101
  private val displayMessageCallback = DisplayMessageListener { message ->
98
- Log.d(PRINT_TAG, "Class: ${this::class.java.simpleName} \n Display Message: $message")
102
+ requestLog("Message from IDTECH: $message")
99
103
  communicator?.onShowDisplayMessage(message)
100
104
  }
101
105
 
106
+
102
107
  private val processListener = ProcessTransactionResponseListener { res ->
103
- Log.d(PRINT_TAG, "Class: ${this::class.java.simpleName} \n Device Response: $res")
108
+ requestLog("Response from IDTECH: $res")
104
109
 
105
110
  CoroutineScope(Dispatchers.IO).launch {
106
111
 
@@ -126,7 +131,7 @@ class EMVPaymentManager(
126
131
  configCommunicator?.onConfigError(errorRes.textResponse)
127
132
  currentPosState = ReaderState.IDLE
128
133
  }
129
- ReaderState.Reset -> {
134
+ ReaderState.Reset, ReaderState.FetchDeviceDetails -> {
130
135
  currentPosState = ReaderState.IDLE
131
136
  }
132
137
  ReaderState.CancelTransaction -> {
@@ -147,18 +152,18 @@ class EMVPaymentManager(
147
152
  }
148
153
  ReaderState.DownloadingConfig -> {
149
154
  configCommunicator?.onConfigCompleted()
150
- currentPosState != ReaderState.IDLE
155
+ currentPosState == ReaderState.IDLE
151
156
  }
152
157
  ReaderState.CancelTransaction -> {
153
158
  communicator?.transactionCancelled(null)
154
159
  currentPosState = ReaderState.IDLE
155
160
  }
156
161
  ReaderState.FetchDeviceDetails -> {
157
- val clientVersionDetails = posXMLResponseExtractor.extractClientVersionResponse(xml)
158
- clientVersionDetails?.let {
159
- communicator?.onDeviceDetailsRetrieved(it)
160
- }
161
- currentPosState != ReaderState.IDLE
162
+ // val clientVersionDetails = posXMLResponseExtractor.extractClientVersionResponse(xml)
163
+ // clientVersionDetails?.let {
164
+ // communicator?.onDeviceDetailsRetrieved(it)
165
+ // }
166
+ currentPosState == ReaderState.IDLE
162
167
  }
163
168
  ReaderState.PrePaidCardDataCollect -> {
164
169
  val cardData = posXMLResponseExtractor.extractCardResponse(xml)
@@ -210,4 +215,7 @@ class EMVPaymentManager(
210
215
  posTransactionExecutor.clearAllListeners()
211
216
  }
212
217
 
218
+ private fun requestLog(log: String){
219
+ Log.d(PRINT_TAG, "Class: ${this::class.java.simpleName} \n Message: $log")
220
+ }
213
221
  }
@@ -45,11 +45,17 @@ class EMVPaymentManagerModule(private val reactContext: ReactApplicationContext)
45
45
  override fun getName() = NAME
46
46
 
47
47
  @ReactMethod
48
- fun initialize(map: ReadableMap) {
49
- val config = ConfigConverterFactory.processMap(map)
48
+ fun initializeLib() {
50
49
  val context = currentActivity ?: reactContext
51
- dsiEMVManager = EMVPaymentManager(context, config)
50
+ dsiEMVManager = EMVPaymentManager(context)
52
51
  dsiEMVManager?.registerListener(this, this)
52
+ log("Payment Library Initialised!")
53
+ }
54
+
55
+ @ReactMethod
56
+ fun setMerchantDetails(map: ReadableMap){
57
+ val config = ConfigConverterFactory.processMap(map)
58
+ dsiEMVManager?.setPaymentParams(config)
53
59
  log("Configurational parameters sent to library: $map")
54
60
  }
55
61
 
@@ -108,10 +114,13 @@ class EMVPaymentManagerModule(private val reactContext: ReactApplicationContext)
108
114
  }
109
115
 
110
116
  @ReactMethod
111
- fun getDeviceDetails() {
112
- log("Fetching connected device info")
113
- CoroutineScope(Dispatchers.Main).launch {
114
- dsiEMVManager?.getDeviceDetails()
117
+ fun getDeviceDetails(promise: Promise){
118
+ try {
119
+ log("Fetching connected device info")
120
+ val response = dsiEMVManager?.getDeviceDetails()
121
+ promise.resolve(response)
122
+ } catch (e: Exception) {
123
+ promise.reject("ERROR", e)
115
124
  }
116
125
  }
117
126
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "quivio-transaction-processor",
3
- "version": "1.23.2",
3
+ "version": "1.23.3-beta",
4
4
  "description": "React Native hook for Card payment integration with DataCap",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",