globalpayments-api 3.1.1 → 3.2.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.
Files changed (200) hide show
  1. package/CHANGELOG.md +7 -1
  2. package/lib/src/Builders/BaseBuilder/ValidationClause.d.ts +2 -0
  3. package/lib/src/Builders/BaseBuilder/ValidationClause.js +30 -0
  4. package/lib/src/Builders/BaseBuilder/ValidationClause.js.map +1 -1
  5. package/lib/src/Builders/PayFacBuilder.d.ts +1 -2
  6. package/lib/src/Builders/PayFacBuilder.js +1 -2
  7. package/lib/src/Builders/PayFacBuilder.js.map +1 -1
  8. package/lib/src/Builders/RequestBuilder/GpApi/GpApiMiCRequestBuilder.d.ts +16 -0
  9. package/lib/src/Builders/RequestBuilder/GpApi/GpApiMiCRequestBuilder.js +34 -0
  10. package/lib/src/Builders/RequestBuilder/GpApi/GpApiMiCRequestBuilder.js.map +1 -0
  11. package/lib/src/Builders/RequestBuilder/GpApi/index.d.ts +1 -0
  12. package/lib/src/Builders/RequestBuilder/GpApi/index.js +1 -0
  13. package/lib/src/Builders/RequestBuilder/GpApi/index.js.map +1 -1
  14. package/lib/src/Builders/RequestBuilder/RequestBuilderFactory.js +5 -1
  15. package/lib/src/Builders/RequestBuilder/RequestBuilderFactory.js.map +1 -1
  16. package/lib/src/ConfiguredServices.d.ts +6 -0
  17. package/lib/src/ConfiguredServices.js +9 -0
  18. package/lib/src/ConfiguredServices.js.map +1 -1
  19. package/lib/src/Entities/Address.js +1 -0
  20. package/lib/src/Entities/Address.js.map +1 -1
  21. package/lib/src/Entities/Enums/AcquisitionType.d.ts +10 -0
  22. package/lib/src/Entities/Enums/AcquisitionType.js +15 -0
  23. package/lib/src/Entities/Enums/AcquisitionType.js.map +1 -0
  24. package/lib/src/Entities/Enums/CardTypeFilter.d.ts +7 -0
  25. package/lib/src/Entities/Enums/CardTypeFilter.js +12 -0
  26. package/lib/src/Entities/Enums/CardTypeFilter.js.map +1 -0
  27. package/lib/src/Entities/Enums.d.ts +34 -2
  28. package/lib/src/Entities/Enums.js +73 -2
  29. package/lib/src/Entities/Enums.js.map +1 -1
  30. package/lib/src/Entities/UPA/ProcessIndicator.d.ts +7 -0
  31. package/lib/src/Entities/UPA/ProcessIndicator.js +11 -0
  32. package/lib/src/Entities/UPA/ProcessIndicator.js.map +1 -0
  33. package/lib/src/Entities/UPA/UpaParam.d.ts +10 -0
  34. package/lib/src/Entities/UPA/UpaParam.js +14 -0
  35. package/lib/src/Entities/UPA/UpaParam.js.map +1 -0
  36. package/lib/src/Entities/UPA/UpaTransactionData.d.ts +8 -0
  37. package/lib/src/Entities/UPA/UpaTransactionData.js +12 -0
  38. package/lib/src/Entities/UPA/UpaTransactionData.js.map +1 -0
  39. package/lib/src/Entities/UPA/index.d.ts +3 -0
  40. package/lib/src/Entities/UPA/index.js +20 -0
  41. package/lib/src/Entities/UPA/index.js.map +1 -0
  42. package/lib/src/Entities/index.d.ts +1 -0
  43. package/lib/src/Entities/index.js +1 -0
  44. package/lib/src/Entities/index.js.map +1 -1
  45. package/lib/src/Gateways/GpApiConnector.d.ts +1 -0
  46. package/lib/src/Gateways/GpApiConnector.js +17 -5
  47. package/lib/src/Gateways/GpApiConnector.js.map +1 -1
  48. package/lib/src/Gateways/GpEcomConnector.js +1 -1
  49. package/lib/src/Gateways/PorticoConnector.d.ts +1 -1
  50. package/lib/src/Gateways/ProPayConnector.d.ts +1 -1
  51. package/lib/src/Gateways/ProPayConnector.js +1 -2
  52. package/lib/src/Gateways/ProPayConnector.js.map +1 -1
  53. package/lib/src/ServiceConfigs/ServicesConfigs.d.ts +2 -0
  54. package/lib/src/ServiceConfigs/ServicesConfigs.js +1 -0
  55. package/lib/src/ServiceConfigs/ServicesConfigs.js.map +1 -1
  56. package/lib/src/Services/DeviceService.d.ts +5 -0
  57. package/lib/src/Services/DeviceService.js +19 -0
  58. package/lib/src/Services/DeviceService.js.map +1 -0
  59. package/lib/src/ServicesContainer.d.ts +5 -3
  60. package/lib/src/ServicesContainer.js +6 -0
  61. package/lib/src/ServicesContainer.js.map +1 -1
  62. package/lib/src/Terminals/Abstractions/IDeviceCommInterface.d.ts +6 -0
  63. package/lib/src/Terminals/Abstractions/IDeviceCommInterface.js +3 -0
  64. package/lib/src/Terminals/Abstractions/IDeviceCommInterface.js.map +1 -0
  65. package/lib/src/Terminals/Abstractions/IDeviceInterface.d.ts +13 -0
  66. package/lib/src/Terminals/Abstractions/IDeviceInterface.js +3 -0
  67. package/lib/src/Terminals/Abstractions/IDeviceInterface.js.map +1 -0
  68. package/lib/src/Terminals/Abstractions/IDeviceMessage.d.ts +4 -0
  69. package/lib/src/Terminals/Abstractions/IDeviceMessage.js +3 -0
  70. package/lib/src/Terminals/Abstractions/IDeviceMessage.js.map +1 -0
  71. package/lib/src/Terminals/Abstractions/IDeviceResponse.d.ts +52 -0
  72. package/lib/src/Terminals/Abstractions/IDeviceResponse.js +3 -0
  73. package/lib/src/Terminals/Abstractions/IDeviceResponse.js.map +1 -0
  74. package/lib/src/Terminals/Abstractions/IRequestIdProvider.d.ts +3 -0
  75. package/lib/src/Terminals/Abstractions/IRequestIdProvider.js +3 -0
  76. package/lib/src/Terminals/Abstractions/IRequestIdProvider.js.map +1 -0
  77. package/lib/src/Terminals/Abstractions/IRequestSubGroup.d.ts +3 -0
  78. package/lib/src/Terminals/Abstractions/IRequestSubGroup.js +3 -0
  79. package/lib/src/Terminals/Abstractions/IRequestSubGroup.js.map +1 -0
  80. package/lib/src/Terminals/Abstractions/ITerminalConfiguration.d.ts +16 -0
  81. package/lib/src/Terminals/Abstractions/ITerminalConfiguration.js +3 -0
  82. package/lib/src/Terminals/Abstractions/ITerminalConfiguration.js.map +1 -0
  83. package/lib/src/Terminals/Abstractions/index.d.ts +7 -0
  84. package/lib/src/Terminals/Abstractions/index.js +24 -0
  85. package/lib/src/Terminals/Abstractions/index.js.map +1 -0
  86. package/lib/src/Terminals/Builders/TerminalAuthBuilder.d.ts +65 -0
  87. package/lib/src/Terminals/Builders/TerminalAuthBuilder.js +172 -0
  88. package/lib/src/Terminals/Builders/TerminalAuthBuilder.js.map +1 -0
  89. package/lib/src/Terminals/Builders/TerminalBuilder.d.ts +12 -0
  90. package/lib/src/Terminals/Builders/TerminalBuilder.js +32 -0
  91. package/lib/src/Terminals/Builders/TerminalBuilder.js.map +1 -0
  92. package/lib/src/Terminals/Builders/TerminalManageBuilder.d.ts +30 -0
  93. package/lib/src/Terminals/Builders/TerminalManageBuilder.js +95 -0
  94. package/lib/src/Terminals/Builders/TerminalManageBuilder.js.map +1 -0
  95. package/lib/src/Terminals/Builders/index.d.ts +2 -0
  96. package/lib/src/Terminals/Builders/index.js +19 -0
  97. package/lib/src/Terminals/Builders/index.js.map +1 -0
  98. package/lib/src/Terminals/ConnectionConfig.d.ts +20 -0
  99. package/lib/src/Terminals/ConnectionConfig.js +49 -0
  100. package/lib/src/Terminals/ConnectionConfig.js.map +1 -0
  101. package/lib/src/Terminals/DeviceController.d.ts +23 -0
  102. package/lib/src/Terminals/DeviceController.js +42 -0
  103. package/lib/src/Terminals/DeviceController.js.map +1 -0
  104. package/lib/src/Terminals/DeviceInterface.d.ts +21 -0
  105. package/lib/src/Terminals/DeviceInterface.js +50 -0
  106. package/lib/src/Terminals/DeviceInterface.js.map +1 -0
  107. package/lib/src/Terminals/DeviceMessage.d.ts +15 -0
  108. package/lib/src/Terminals/DeviceMessage.js +42 -0
  109. package/lib/src/Terminals/DeviceMessage.js.map +1 -0
  110. package/lib/src/Terminals/DeviceResponse.d.ts +10 -0
  111. package/lib/src/Terminals/DeviceResponse.js +16 -0
  112. package/lib/src/Terminals/DeviceResponse.js.map +1 -0
  113. package/lib/src/Terminals/Enums/ControlCodes.d.ts +5 -0
  114. package/lib/src/Terminals/Enums/ControlCodes.js +10 -0
  115. package/lib/src/Terminals/Enums/ControlCodes.js.map +1 -0
  116. package/lib/src/Terminals/Enums/index.d.ts +1 -0
  117. package/lib/src/Terminals/Enums/index.js +18 -0
  118. package/lib/src/Terminals/Enums/index.js.map +1 -0
  119. package/lib/src/Terminals/Enums.d.ts +12 -0
  120. package/lib/src/Terminals/Enums.js +18 -0
  121. package/lib/src/Terminals/Enums.js.map +1 -0
  122. package/lib/src/Terminals/SummaryResponse.d.ts +28 -0
  123. package/lib/src/Terminals/SummaryResponse.js +33 -0
  124. package/lib/src/Terminals/SummaryResponse.js.map +1 -0
  125. package/lib/src/Terminals/TerminalResponse.d.ts +42 -0
  126. package/lib/src/Terminals/TerminalResponse.js +49 -0
  127. package/lib/src/Terminals/TerminalResponse.js.map +1 -0
  128. package/lib/src/Terminals/TerminalUtils.d.ts +4 -0
  129. package/lib/src/Terminals/TerminalUtils.js +24 -0
  130. package/lib/src/Terminals/TerminalUtils.js.map +1 -0
  131. package/lib/src/Terminals/UPA/Entities/UpaMessageId.d.ts +20 -0
  132. package/lib/src/Terminals/UPA/Entities/UpaMessageId.js +25 -0
  133. package/lib/src/Terminals/UPA/Entities/UpaMessageId.js.map +1 -0
  134. package/lib/src/Terminals/UPA/Entities/index.d.ts +1 -0
  135. package/lib/src/Terminals/UPA/Entities/index.js +18 -0
  136. package/lib/src/Terminals/UPA/Entities/index.js.map +1 -0
  137. package/lib/src/Terminals/UPA/Interfaces/UpaMicInterface.d.ts +12 -0
  138. package/lib/src/Terminals/UPA/Interfaces/UpaMicInterface.js +76 -0
  139. package/lib/src/Terminals/UPA/Interfaces/UpaMicInterface.js.map +1 -0
  140. package/lib/src/Terminals/UPA/Interfaces/index.d.ts +1 -0
  141. package/lib/src/Terminals/UPA/Interfaces/index.js +18 -0
  142. package/lib/src/Terminals/UPA/Interfaces/index.js.map +1 -0
  143. package/lib/src/Terminals/UPA/Reponses/TransactionResponse.d.ts +53 -0
  144. package/lib/src/Terminals/UPA/Reponses/TransactionResponse.js +70 -0
  145. package/lib/src/Terminals/UPA/Reponses/TransactionResponse.js.map +1 -0
  146. package/lib/src/Terminals/UPA/Reponses/index.d.ts +1 -0
  147. package/lib/src/Terminals/UPA/Reponses/index.js +18 -0
  148. package/lib/src/Terminals/UPA/Reponses/index.js.map +1 -0
  149. package/lib/src/Terminals/UPA/Request/BaseRequest.d.ts +7 -0
  150. package/lib/src/Terminals/UPA/Request/BaseRequest.js +11 -0
  151. package/lib/src/Terminals/UPA/Request/BaseRequest.js.map +1 -0
  152. package/lib/src/Terminals/UPA/Request/GroupRequest.d.ts +5 -0
  153. package/lib/src/Terminals/UPA/Request/GroupRequest.js +9 -0
  154. package/lib/src/Terminals/UPA/Request/GroupRequest.js.map +1 -0
  155. package/lib/src/Terminals/UPA/Request/RequestParams.d.ts +9 -0
  156. package/lib/src/Terminals/UPA/Request/RequestParams.js +14 -0
  157. package/lib/src/Terminals/UPA/Request/RequestParams.js.map +1 -0
  158. package/lib/src/Terminals/UPA/Request/RootRequest.d.ts +5 -0
  159. package/lib/src/Terminals/UPA/Request/RootRequest.js +9 -0
  160. package/lib/src/Terminals/UPA/Request/RootRequest.js.map +1 -0
  161. package/lib/src/Terminals/UPA/Request/TransactionRequest.d.ts +10 -0
  162. package/lib/src/Terminals/UPA/Request/TransactionRequest.js +15 -0
  163. package/lib/src/Terminals/UPA/Request/TransactionRequest.js.map +1 -0
  164. package/lib/src/Terminals/UPA/Request/index.d.ts +5 -0
  165. package/lib/src/Terminals/UPA/Request/index.js +22 -0
  166. package/lib/src/Terminals/UPA/Request/index.js.map +1 -0
  167. package/lib/src/Terminals/UPA/UpaController.d.ts +16 -0
  168. package/lib/src/Terminals/UPA/UpaController.js +213 -0
  169. package/lib/src/Terminals/UPA/UpaController.js.map +1 -0
  170. package/lib/src/Terminals/UPA/UpaInterface.d.ts +10 -0
  171. package/lib/src/Terminals/UPA/UpaInterface.js +44 -0
  172. package/lib/src/Terminals/UPA/UpaInterface.js.map +1 -0
  173. package/lib/src/Terminals/UPA/UpaMessageType.d.ts +8 -0
  174. package/lib/src/Terminals/UPA/UpaMessageType.js +13 -0
  175. package/lib/src/Terminals/UPA/UpaMessageType.js.map +1 -0
  176. package/lib/src/Terminals/UPA/index.d.ts +7 -0
  177. package/lib/src/Terminals/UPA/index.js +24 -0
  178. package/lib/src/Terminals/UPA/index.js.map +1 -0
  179. package/lib/src/Terminals/index.d.ts +8 -0
  180. package/lib/src/Terminals/index.js +25 -0
  181. package/lib/src/Terminals/index.js.map +1 -0
  182. package/lib/src/Utils/GenerationUtils.d.ts +1 -0
  183. package/lib/src/Utils/GenerationUtils.js +45 -0
  184. package/lib/src/Utils/GenerationUtils.js.map +1 -1
  185. package/lib/src/Utils/IRawRequestBuilder.d.ts +3 -0
  186. package/lib/src/Utils/IRawRequestBuilder.js +3 -0
  187. package/lib/src/Utils/IRawRequestBuilder.js.map +1 -0
  188. package/lib/src/Utils/index.d.ts +1 -0
  189. package/lib/src/Utils/index.js +1 -0
  190. package/lib/src/Utils/index.js.map +1 -1
  191. package/lib/src/index.d.ts +1 -0
  192. package/lib/src/index.js +1 -0
  193. package/lib/src/index.js.map +1 -1
  194. package/lib/test/Integration/Gateways/Terminals/RequestIdProvider.d.ts +4 -0
  195. package/lib/test/Integration/Gateways/Terminals/RequestIdProvider.js +10 -0
  196. package/lib/test/Integration/Gateways/Terminals/RequestIdProvider.js.map +1 -0
  197. package/lib/test/Integration/Gateways/Terminals/UPA/UpaMicTest.d.ts +1 -0
  198. package/lib/test/Integration/Gateways/Terminals/UPA/UpaMicTest.js +149 -0
  199. package/lib/test/Integration/Gateways/Terminals/UPA/UpaMicTest.js.map +1 -0
  200. package/package.json +3 -2
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConnectionConfig = void 0;
4
+ const src_1 = require("../../src");
5
+ const Enums_1 = require("./Enums");
6
+ const UPA_1 = require("./UPA");
7
+ class ConnectionConfig extends src_1.Configuration {
8
+ deviceType;
9
+ connectionMode;
10
+ parity;
11
+ ipAddress;
12
+ port;
13
+ requestIdProvider;
14
+ gatewayConfig;
15
+ configName;
16
+ connectionConfig() {
17
+ this.timeout = -1;
18
+ }
19
+ configureContainer(services) {
20
+ switch (this.deviceType) {
21
+ case src_1.DeviceType.UPA_DEVICE:
22
+ services.deviceController = new UPA_1.UpaController(this);
23
+ break;
24
+ default:
25
+ break;
26
+ }
27
+ }
28
+ getGatewayConfig() {
29
+ return this.gatewayConfig;
30
+ }
31
+ setConfigName(configName) {
32
+ this.configName = configName;
33
+ }
34
+ getConfigName() {
35
+ return this.configName;
36
+ }
37
+ validate() {
38
+ super.validate();
39
+ if (this.connectionMode == Enums_1.ConnectionModes.TCP_IP ||
40
+ this.connectionMode == Enums_1.ConnectionModes.HTTP) {
41
+ if (!this.ipAddress)
42
+ throw new src_1.ApiError("IpAddress is required for TCP or HTTP communication modes.");
43
+ if (!this.port)
44
+ throw new src_1.ApiError("Port is required for TCP or HTTP communication modes.");
45
+ }
46
+ }
47
+ }
48
+ exports.ConnectionConfig = ConnectionConfig;
49
+ //# sourceMappingURL=ConnectionConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConnectionConfig.js","sourceRoot":"","sources":["../../../src/Terminals/ConnectionConfig.ts"],"names":[],"mappings":";;;AAAA,mCAA+E;AAE/E,mCAAkD;AAElD,+BAAsC;AAEtC,MAAa,gBACX,SAAQ,mBAAa;IAGd,UAAU,CAAa;IACvB,cAAc,CAAkB;IAChC,MAAM,CAAS;IACf,SAAS,CAAS;IAClB,IAAI,CAAS;IACb,iBAAiB,CAAqB;IACtC,aAAa,CAAgB;IAC7B,UAAU,CAAS;IAEnB,gBAAgB;QACrB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IACpB,CAAC;IAEM,kBAAkB,CAAC,QAA4B;QACpD,QAAQ,IAAI,CAAC,UAAU,EAAE;YACvB,KAAK,gBAAU,CAAC,UAAU;gBACxB,QAAQ,CAAC,gBAAgB,GAAG,IAAI,mBAAa,CAAC,IAAI,CAAC,CAAC;gBACpD,MAAM;YACR;gBACE,MAAM;SACT;IACH,CAAC;IACD,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,aAAa,CAAC,UAAkB;QAC9B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEM,QAAQ;QACb,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEjB,IACE,IAAI,CAAC,cAAc,IAAI,uBAAe,CAAC,MAAM;YAC7C,IAAI,CAAC,cAAc,IAAI,uBAAe,CAAC,IAAI,EAC3C;YACA,IAAI,CAAC,IAAI,CAAC,SAAS;gBACjB,MAAM,IAAI,cAAQ,CAChB,4DAA4D,CAC7D,CAAC;YACJ,IAAI,CAAC,IAAI,CAAC,IAAI;gBACZ,MAAM,IAAI,cAAQ,CAChB,uDAAuD,CACxD,CAAC;SACL;IACH,CAAC;CACF;AAvDD,4CAuDC"}
@@ -0,0 +1,23 @@
1
+ import { DeviceType } from "../../src";
2
+ import { IDeviceCommInterface, IDeviceInterface, IRequestIdProvider, ITerminalConfiguration, ITerminalResponse, UpaMessageId } from ".";
3
+ import { ConnectionModes } from "./Enums";
4
+ import { TerminalAuthBuilder } from "./Builders/TerminalAuthBuilder";
5
+ import { TerminalManageBuilder } from "./Builders";
6
+ import { DeviceMessage } from "./DeviceMessage";
7
+ export declare abstract class DeviceController {
8
+ protected _interface: IDeviceInterface;
9
+ protected _settings: ITerminalConfiguration;
10
+ connector: IDeviceCommInterface;
11
+ connectionMode: ConnectionModes;
12
+ deviceType: DeviceType;
13
+ requestIdProvider: IRequestIdProvider;
14
+ constructor(settings: ITerminalConfiguration);
15
+ getConnectionMode(): ConnectionModes | null;
16
+ getDeviceType(): DeviceType | null;
17
+ getRequestIdProvider(): IRequestIdProvider | null;
18
+ send(message: DeviceMessage, requestType?: UpaMessageId): any;
19
+ abstract configureConnector(): IDeviceCommInterface;
20
+ abstract configureInterface(): IDeviceInterface;
21
+ abstract processTransaction(builder: TerminalAuthBuilder): Promise<ITerminalResponse>;
22
+ abstract manageTransaction(builder: TerminalManageBuilder): Promise<ITerminalResponse>;
23
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeviceController = void 0;
4
+ class DeviceController {
5
+ _interface;
6
+ _settings;
7
+ connector;
8
+ connectionMode;
9
+ deviceType;
10
+ requestIdProvider;
11
+ constructor(settings) {
12
+ this._settings = settings;
13
+ this.connector = this.configureConnector();
14
+ }
15
+ getConnectionMode() {
16
+ if (this._settings != null) {
17
+ return this._settings.connectionMode;
18
+ }
19
+ return null;
20
+ }
21
+ getDeviceType() {
22
+ if (this._settings != null) {
23
+ return this._settings.deviceType;
24
+ }
25
+ return null;
26
+ }
27
+ getRequestIdProvider() {
28
+ if (this._settings != null) {
29
+ return this._settings.requestIdProvider;
30
+ }
31
+ return null;
32
+ }
33
+ send(message, requestType) {
34
+ message.awaitResponse = true;
35
+ if (this.connector) {
36
+ return this.connector.send(message);
37
+ }
38
+ requestType;
39
+ }
40
+ }
41
+ exports.DeviceController = DeviceController;
42
+ //# sourceMappingURL=DeviceController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeviceController.js","sourceRoot":"","sources":["../../../src/Terminals/DeviceController.ts"],"names":[],"mappings":";;;AAcA,MAAsB,gBAAgB;IAC1B,UAAU,CAAmB;IAC7B,SAAS,CAAyB;IACrC,SAAS,CAAuB;IAEhC,cAAc,CAAkB;IAChC,UAAU,CAAa;IACvB,iBAAiB,CAAqB;IAE7C,YAAY,QAAgC;QAC1C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC7C,CAAC;IAEM,iBAAiB;QACtB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;YAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;SACtC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,aAAa;QAClB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;YAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;SAClC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,oBAAoB;QACzB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;YAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;SACzC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,IAAI,CAAC,OAAsB,EAAE,WAA0B;QAC5D,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;QAC7B,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACrC;QACD,WAAW,CAAC;IACd,CAAC;CAWF;AApDD,4CAoDC"}
@@ -0,0 +1,21 @@
1
+ import { IDeviceInterface, IDeviceResponse, IRequestIdProvider } from ".";
2
+ import { DeviceController } from "./DeviceController";
3
+ import { TerminalAuthBuilder, TerminalManageBuilder } from "./Builders";
4
+ export declare abstract class DeviceInterface<T extends DeviceController> implements IDeviceInterface {
5
+ controller: DeviceController;
6
+ requestIdProvider: IRequestIdProvider;
7
+ ecrId: string;
8
+ constructor(controller: T);
9
+ lineItem(leftText: string, rightText?: string, runningLeftText?: string, runningRightText?: string): Promise<IDeviceResponse>;
10
+ /**********START Transactions ************/
11
+ /**
12
+ * @return TerminalAuthBuilder
13
+ */
14
+ authorize(amount?: number): TerminalAuthBuilder;
15
+ capture(amount: number): TerminalManageBuilder;
16
+ refund(amount?: number): TerminalAuthBuilder;
17
+ refundById(amount: number): TerminalManageBuilder;
18
+ sale(amount?: number): TerminalAuthBuilder;
19
+ verify(): TerminalAuthBuilder;
20
+ void(): TerminalManageBuilder;
21
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeviceInterface = void 0;
4
+ /* eslint-disable indent */
5
+ const src_1 = require("../../src");
6
+ const Builders_1 = require("./Builders");
7
+ class DeviceInterface {
8
+ controller;
9
+ requestIdProvider;
10
+ ecrId;
11
+ constructor(controller) {
12
+ this.controller = controller;
13
+ this.requestIdProvider = controller.requestIdProvider;
14
+ }
15
+ async lineItem(leftText, rightText, runningLeftText, runningRightText) {
16
+ // TODO add DeviceResponse
17
+ leftText; // lint handling
18
+ rightText; // lint handling
19
+ runningLeftText; // lint handling
20
+ runningRightText; // lint handling
21
+ throw new src_1.UnsupportedTransactionError("This is not supported by the currently configured device.");
22
+ }
23
+ /**********START Transactions ************/
24
+ /**
25
+ * @return TerminalAuthBuilder
26
+ */
27
+ authorize(amount) {
28
+ return new Builders_1.TerminalAuthBuilder(src_1.TransactionType.Auth, src_1.PaymentMethodType.Credit).withAmount(amount);
29
+ }
30
+ capture(amount) {
31
+ return new Builders_1.TerminalManageBuilder(src_1.TransactionType.Capture, src_1.PaymentMethodType.Credit).withAmount(amount);
32
+ }
33
+ refund(amount) {
34
+ return new Builders_1.TerminalAuthBuilder(src_1.TransactionType.Refund, src_1.PaymentMethodType.Credit).withAmount(amount);
35
+ }
36
+ refundById(amount) {
37
+ return new Builders_1.TerminalManageBuilder(src_1.TransactionType.Refund, src_1.PaymentMethodType.Credit).withAmount(amount);
38
+ }
39
+ sale(amount) {
40
+ return new Builders_1.TerminalAuthBuilder(src_1.TransactionType.Sale, src_1.PaymentMethodType.Credit).withAmount(amount);
41
+ }
42
+ verify() {
43
+ return new Builders_1.TerminalAuthBuilder(src_1.TransactionType.Verify, src_1.PaymentMethodType.Credit);
44
+ }
45
+ void() {
46
+ return new Builders_1.TerminalManageBuilder(src_1.TransactionType.Void, src_1.PaymentMethodType.Credit);
47
+ }
48
+ }
49
+ exports.DeviceInterface = DeviceInterface;
50
+ //# sourceMappingURL=DeviceInterface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeviceInterface.js","sourceRoot":"","sources":["../../../src/Terminals/DeviceInterface.ts"],"names":[],"mappings":";;;AAAA,2BAA2B;AAC3B,mCAImB;AAGnB,yCAAwE;AACxE,MAAsB,eAAe;IAG5B,UAAU,CAAmB;IAC7B,iBAAiB,CAAqB;IAEtC,KAAK,CAAS;IAErB,YAAY,UAAa;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC;IACxD,CAAC;IAEM,KAAK,CAAC,QAAQ,CACnB,QAAgB,EAChB,SAAkB,EAClB,eAAwB,EACxB,gBAAyB;QAEzB,0BAA0B;QAC1B,QAAQ,CAAC,CAAC,gBAAgB;QAC1B,SAAS,CAAC,CAAC,gBAAgB;QAC3B,eAAe,CAAC,CAAC,gBAAgB;QACjC,gBAAgB,CAAC,CAAC,gBAAgB;QAClC,MAAM,IAAI,iCAA2B,CACnC,2DAA2D,CAC5D,CAAC;IACJ,CAAC;IAED,2CAA2C;IAE3C;;OAEG;IAEI,SAAS,CAAC,MAAe;QAC9B,OAAO,IAAI,8BAAmB,CAC5B,qBAAe,CAAC,IAAI,EACpB,uBAAiB,CAAC,MAAM,CACzB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAEM,OAAO,CAAC,MAAc;QAC3B,OAAO,IAAI,gCAAqB,CAC9B,qBAAe,CAAC,OAAO,EACvB,uBAAiB,CAAC,MAAM,CACzB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAEM,MAAM,CAAC,MAAe;QAC3B,OAAO,IAAI,8BAAmB,CAC5B,qBAAe,CAAC,MAAM,EACtB,uBAAiB,CAAC,MAAM,CACzB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAEM,UAAU,CAAC,MAAc;QAC9B,OAAO,IAAI,gCAAqB,CAC9B,qBAAe,CAAC,MAAM,EACtB,uBAAiB,CAAC,MAAM,CACzB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAEM,IAAI,CAAC,MAAe;QACzB,OAAO,IAAI,8BAAmB,CAC5B,qBAAe,CAAC,IAAI,EACpB,uBAAiB,CAAC,MAAM,CACzB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,8BAAmB,CAC5B,qBAAe,CAAC,MAAM,EACtB,uBAAiB,CAAC,MAAM,CACzB,CAAC;IACJ,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,gCAAqB,CAC9B,qBAAe,CAAC,IAAI,EACpB,uBAAiB,CAAC,MAAM,CACzB,CAAC;IACJ,CAAC;CACF;AAnFD,0CAmFC"}
@@ -0,0 +1,15 @@
1
+ /// <reference types="node" />
2
+ import { IDeviceMessage } from ".";
3
+ export declare class DeviceMessage implements IDeviceMessage {
4
+ keepAlive: boolean;
5
+ awaitResponse: boolean;
6
+ private buffer;
7
+ private jsonRequest;
8
+ constructor(buffer: Buffer);
9
+ getSendBuffer(): Buffer;
10
+ setJsonRequest(jsonRequest: any[]): void;
11
+ getJsonRequest(): Record<string, any>;
12
+ toString(): string;
13
+ getRequestField(key: string): any;
14
+ private iterateDeep;
15
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeviceMessage = void 0;
4
+ class DeviceMessage {
5
+ keepAlive;
6
+ awaitResponse;
7
+ buffer;
8
+ jsonRequest;
9
+ constructor(buffer) {
10
+ this.buffer = buffer;
11
+ }
12
+ getSendBuffer() {
13
+ return this.buffer;
14
+ }
15
+ setJsonRequest(jsonRequest) {
16
+ this.jsonRequest = jsonRequest;
17
+ }
18
+ getJsonRequest() {
19
+ return this.jsonRequest;
20
+ }
21
+ toString() {
22
+ return this.buffer.toString();
23
+ }
24
+ getRequestField(key) {
25
+ return this.iterateDeep(this.jsonRequest, key);
26
+ }
27
+ iterateDeep(obj, key) {
28
+ if (!this.jsonRequest || typeof this.jsonRequest !== "object") {
29
+ return undefined;
30
+ }
31
+ if (obj[key]) {
32
+ return obj[key];
33
+ }
34
+ for (const objectKey in obj) {
35
+ if (typeof obj[objectKey] === "object" && obj[objectKey] !== null) {
36
+ return this.iterateDeep(obj[objectKey], key);
37
+ }
38
+ }
39
+ }
40
+ }
41
+ exports.DeviceMessage = DeviceMessage;
42
+ //# sourceMappingURL=DeviceMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeviceMessage.js","sourceRoot":"","sources":["../../../src/Terminals/DeviceMessage.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAa;IACjB,SAAS,CAAU;IACnB,aAAa,CAAU;IACtB,MAAM,CAAS;IACf,WAAW,CAAsB;IAEzC,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEM,cAAc,CAAC,WAAkB;QACtC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAEM,cAAc;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;IAEM,eAAe,CAAC,GAAW;QAChC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAEO,WAAW,CAAC,GAAwB,EAAE,GAAW;QACvD,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE;YAC7D,OAAO,SAAS,CAAC;SAClB;QAED,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE;YACZ,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;SACjB;QAED,KAAK,MAAM,SAAS,IAAI,GAAG,EAAE;YAC3B,IAAI,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;gBACjE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;aAC9C;SACF;IACH,CAAC;CACF;AA7CD,sCA6CC"}
@@ -0,0 +1,10 @@
1
+ import { IDeviceResponse } from ".";
2
+ export declare abstract class DeviceResponse implements IDeviceResponse {
3
+ status: string;
4
+ command: string;
5
+ version: string;
6
+ deviceResponseCode: string;
7
+ deviceResponseText: string;
8
+ referenceNumber: string;
9
+ constructor();
10
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeviceResponse = void 0;
4
+ class DeviceResponse {
5
+ status;
6
+ command;
7
+ version;
8
+ deviceResponseCode;
9
+ deviceResponseText;
10
+ referenceNumber;
11
+ constructor() {
12
+ this.status = "";
13
+ }
14
+ }
15
+ exports.DeviceResponse = DeviceResponse;
16
+ //# sourceMappingURL=DeviceResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeviceResponse.js","sourceRoot":"","sources":["../../../src/Terminals/DeviceResponse.ts"],"names":[],"mappings":";;;AAEA,MAAsB,cAAc;IAClC,MAAM,CAAS;IACf,OAAO,CAAS;IAChB,OAAO,CAAS;IAChB,kBAAkB,CAAS;IAC3B,kBAAkB,CAAS;IAC3B,eAAe,CAAS;IAExB;QACE,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;CACF;AAXD,wCAWC"}
@@ -0,0 +1,5 @@
1
+ export declare enum ControlCodes {
2
+ STX = 2,
3
+ ETX = 3,
4
+ LF = 10
5
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ControlCodes = void 0;
4
+ var ControlCodes;
5
+ (function (ControlCodes) {
6
+ ControlCodes[ControlCodes["STX"] = 2] = "STX";
7
+ ControlCodes[ControlCodes["ETX"] = 3] = "ETX";
8
+ ControlCodes[ControlCodes["LF"] = 10] = "LF";
9
+ })(ControlCodes || (exports.ControlCodes = ControlCodes = {}));
10
+ //# sourceMappingURL=ControlCodes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ControlCodes.js","sourceRoot":"","sources":["../../../../src/Terminals/Enums/ControlCodes.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,6CAAU,CAAA;IACV,6CAAU,CAAA;IACV,4CAAS,CAAA;AACX,CAAC,EAJW,YAAY,4BAAZ,YAAY,QAIvB"}
@@ -0,0 +1 @@
1
+ export * from "./ControlCodes";
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./ControlCodes"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Terminals/Enums/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B"}
@@ -0,0 +1,12 @@
1
+ export declare enum ConnectionModes {
2
+ SERIAL = 0,
3
+ TCP_IP = 1,
4
+ SSL_TCP = 2,
5
+ HTTP = 3,
6
+ MEET_IN_THE_CLOUD = 4
7
+ }
8
+ export declare enum Parity {
9
+ None = 0,
10
+ Odd = 1,
11
+ Even = 2
12
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Parity = exports.ConnectionModes = void 0;
4
+ var ConnectionModes;
5
+ (function (ConnectionModes) {
6
+ ConnectionModes[ConnectionModes["SERIAL"] = 0] = "SERIAL";
7
+ ConnectionModes[ConnectionModes["TCP_IP"] = 1] = "TCP_IP";
8
+ ConnectionModes[ConnectionModes["SSL_TCP"] = 2] = "SSL_TCP";
9
+ ConnectionModes[ConnectionModes["HTTP"] = 3] = "HTTP";
10
+ ConnectionModes[ConnectionModes["MEET_IN_THE_CLOUD"] = 4] = "MEET_IN_THE_CLOUD";
11
+ })(ConnectionModes || (exports.ConnectionModes = ConnectionModes = {}));
12
+ var Parity;
13
+ (function (Parity) {
14
+ Parity[Parity["None"] = 0] = "None";
15
+ Parity[Parity["Odd"] = 1] = "Odd";
16
+ Parity[Parity["Even"] = 2] = "Even";
17
+ })(Parity || (exports.Parity = Parity = {}));
18
+ //# sourceMappingURL=Enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Enums.js","sourceRoot":"","sources":["../../../src/Terminals/Enums.ts"],"names":[],"mappings":";;;AAAA,IAAY,eAMX;AAND,WAAY,eAAe;IACzB,yDAAM,CAAA;IACN,yDAAM,CAAA;IACN,2DAAO,CAAA;IACP,qDAAI,CAAA;IACJ,+EAAiB,CAAA;AACnB,CAAC,EANW,eAAe,+BAAf,eAAe,QAM1B;AAED,IAAY,MAIX;AAJD,WAAY,MAAM;IAChB,mCAAQ,CAAA;IACR,iCAAG,CAAA;IACH,mCAAI,CAAA;AACN,CAAC,EAJW,MAAM,sBAAN,MAAM,QAIjB"}
@@ -0,0 +1,28 @@
1
+ import { TransactionSummary } from "../../src";
2
+ export declare enum SummaryType {
3
+ Approved = 0,
4
+ PartiallyApproved = 1,
5
+ VoidApproved = 2,
6
+ Pending = 3,
7
+ VoidPending = 4,
8
+ Declined = 5,
9
+ VoidDeclined = 6,
10
+ OfflineApproved = 7,
11
+ Provsional = 8,
12
+ Discarded = 9,
13
+ VoidProvisional = 10,
14
+ VoidDiscarded = 11,
15
+ Reversal = 12,
16
+ EmvDeclined = 13,
17
+ Attachment = 14,
18
+ Unknown = 15
19
+ }
20
+ export declare class SummaryResponse {
21
+ amount: number;
22
+ amountDue: number;
23
+ authorizedAmount: number;
24
+ count: number;
25
+ summaryType: SummaryType;
26
+ totalAmountCount: number;
27
+ transactions: TransactionSummary;
28
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SummaryResponse = exports.SummaryType = void 0;
4
+ var SummaryType;
5
+ (function (SummaryType) {
6
+ SummaryType[SummaryType["Approved"] = 0] = "Approved";
7
+ SummaryType[SummaryType["PartiallyApproved"] = 1] = "PartiallyApproved";
8
+ SummaryType[SummaryType["VoidApproved"] = 2] = "VoidApproved";
9
+ SummaryType[SummaryType["Pending"] = 3] = "Pending";
10
+ SummaryType[SummaryType["VoidPending"] = 4] = "VoidPending";
11
+ SummaryType[SummaryType["Declined"] = 5] = "Declined";
12
+ SummaryType[SummaryType["VoidDeclined"] = 6] = "VoidDeclined";
13
+ SummaryType[SummaryType["OfflineApproved"] = 7] = "OfflineApproved";
14
+ SummaryType[SummaryType["Provsional"] = 8] = "Provsional";
15
+ SummaryType[SummaryType["Discarded"] = 9] = "Discarded";
16
+ SummaryType[SummaryType["VoidProvisional"] = 10] = "VoidProvisional";
17
+ SummaryType[SummaryType["VoidDiscarded"] = 11] = "VoidDiscarded";
18
+ SummaryType[SummaryType["Reversal"] = 12] = "Reversal";
19
+ SummaryType[SummaryType["EmvDeclined"] = 13] = "EmvDeclined";
20
+ SummaryType[SummaryType["Attachment"] = 14] = "Attachment";
21
+ SummaryType[SummaryType["Unknown"] = 15] = "Unknown";
22
+ })(SummaryType || (exports.SummaryType = SummaryType = {}));
23
+ class SummaryResponse {
24
+ amount;
25
+ amountDue;
26
+ authorizedAmount;
27
+ count;
28
+ summaryType;
29
+ totalAmountCount;
30
+ transactions;
31
+ }
32
+ exports.SummaryResponse = SummaryResponse;
33
+ //# sourceMappingURL=SummaryResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SummaryResponse.js","sourceRoot":"","sources":["../../../src/Terminals/SummaryResponse.ts"],"names":[],"mappings":";;;AAEA,IAAY,WAiBX;AAjBD,WAAY,WAAW;IACrB,qDAAQ,CAAA;IACR,uEAAiB,CAAA;IACjB,6DAAY,CAAA;IACZ,mDAAO,CAAA;IACP,2DAAW,CAAA;IACX,qDAAQ,CAAA;IACR,6DAAY,CAAA;IACZ,mEAAe,CAAA;IACf,yDAAU,CAAA;IACV,uDAAS,CAAA;IACT,oEAAe,CAAA;IACf,gEAAa,CAAA;IACb,sDAAQ,CAAA;IACR,4DAAW,CAAA;IACX,0DAAU,CAAA;IACV,oDAAO,CAAA;AACT,CAAC,EAjBW,WAAW,2BAAX,WAAW,QAiBtB;AAED,MAAa,eAAe;IACnB,MAAM,CAAS;IACf,SAAS,CAAS;IAClB,gBAAgB,CAAS;IACzB,KAAK,CAAS;IACd,WAAW,CAAc;IACzB,gBAAgB,CAAS;IACzB,YAAY,CAAqB;CACzC;AARD,0CAQC"}
@@ -0,0 +1,42 @@
1
+ import { ApplicationCryptogramType } from "src";
2
+ import { DeviceResponse } from "./DeviceResponse";
3
+ export declare class TerminalResponse extends DeviceResponse {
4
+ responseCode: string;
5
+ responseText: string;
6
+ transactionId: string;
7
+ terminalRefNumber: string;
8
+ token: string;
9
+ signatureStatus: string;
10
+ signatureData: any;
11
+ transactionType: string;
12
+ maskedCardNumber: string;
13
+ entryMethod: string;
14
+ authorizationCode: string;
15
+ approvalCode: string;
16
+ transactionAmount: number;
17
+ amountDue: number;
18
+ balanceAmount: number;
19
+ cardHolderName: string;
20
+ cardBIN: string;
21
+ cardPresent: boolean;
22
+ expirationDate: string;
23
+ tipAmount: number;
24
+ cashBackAmount: number;
25
+ avsResponseCode: string;
26
+ avsResponseText: string;
27
+ cvvResponseCode: string;
28
+ cvvResponseText: string;
29
+ taxExempt: boolean;
30
+ taxExemptId: string;
31
+ ticketNumber: string;
32
+ paymentType: string;
33
+ applicationPreferredName: string;
34
+ applicationLabel: string;
35
+ applicationId: string;
36
+ applicationCryptogramType: ApplicationCryptogramType;
37
+ applicationCryptogram: string;
38
+ cardHolderVerificationMethod: string;
39
+ terminalVerificationResults: string;
40
+ merchantFee: number;
41
+ constructor();
42
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TerminalResponse = void 0;
4
+ const DeviceResponse_1 = require("./DeviceResponse");
5
+ class TerminalResponse extends DeviceResponse_1.DeviceResponse {
6
+ responseCode;
7
+ responseText;
8
+ transactionId;
9
+ terminalRefNumber;
10
+ token;
11
+ signatureStatus;
12
+ signatureData;
13
+ transactionType;
14
+ maskedCardNumber;
15
+ entryMethod;
16
+ authorizationCode;
17
+ approvalCode;
18
+ transactionAmount;
19
+ amountDue;
20
+ balanceAmount;
21
+ cardHolderName;
22
+ cardBIN;
23
+ cardPresent;
24
+ expirationDate;
25
+ tipAmount;
26
+ cashBackAmount;
27
+ avsResponseCode;
28
+ avsResponseText;
29
+ cvvResponseCode;
30
+ cvvResponseText;
31
+ taxExempt;
32
+ taxExemptId;
33
+ ticketNumber;
34
+ paymentType;
35
+ applicationPreferredName;
36
+ applicationLabel;
37
+ applicationId;
38
+ applicationCryptogramType;
39
+ applicationCryptogram;
40
+ cardHolderVerificationMethod;
41
+ terminalVerificationResults;
42
+ merchantFee;
43
+ constructor() {
44
+ super();
45
+ this.responseCode = "";
46
+ }
47
+ }
48
+ exports.TerminalResponse = TerminalResponse;
49
+ //# sourceMappingURL=TerminalResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TerminalResponse.js","sourceRoot":"","sources":["../../../src/Terminals/TerminalResponse.ts"],"names":[],"mappings":";;;AACA,qDAAkD;AAElD,MAAa,gBAAiB,SAAQ,+BAAc;IAClD,YAAY,CAAS;IACrB,YAAY,CAAS;IACrB,aAAa,CAAS;IACtB,iBAAiB,CAAS;IAC1B,KAAK,CAAS;IACd,eAAe,CAAS;IACxB,aAAa,CAAM;IACnB,eAAe,CAAS;IACxB,gBAAgB,CAAS;IACzB,WAAW,CAAS;IACpB,iBAAiB,CAAS;IAC1B,YAAY,CAAS;IACrB,iBAAiB,CAAS;IAC1B,SAAS,CAAS;IAClB,aAAa,CAAS;IACtB,cAAc,CAAS;IACvB,OAAO,CAAS;IAChB,WAAW,CAAU;IACrB,cAAc,CAAS;IACvB,SAAS,CAAS;IAClB,cAAc,CAAS;IACvB,eAAe,CAAS;IACxB,eAAe,CAAS;IACxB,eAAe,CAAS;IACxB,eAAe,CAAS;IACxB,SAAS,CAAU;IACnB,WAAW,CAAS;IACpB,YAAY,CAAS;IACrB,WAAW,CAAS;IACpB,wBAAwB,CAAS;IACjC,gBAAgB,CAAS;IACzB,aAAa,CAAS;IACtB,yBAAyB,CAA4B;IACrD,qBAAqB,CAAS;IAC9B,4BAA4B,CAAS;IACrC,2BAA2B,CAAS;IACpC,WAAW,CAAS;IAEpB;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IACzB,CAAC;CACF;AA3CD,4CA2CC"}
@@ -0,0 +1,4 @@
1
+ import { DeviceMessage } from "./DeviceMessage";
2
+ export declare class TerminalUtils {
3
+ static buildUpaRequest(requestParams: Record<string, any>): DeviceMessage;
4
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TerminalUtils = void 0;
4
+ const DeviceMessage_1 = require("./DeviceMessage");
5
+ const ControlCodes_1 = require("./Enums/ControlCodes");
6
+ class TerminalUtils {
7
+ static buildUpaRequest(requestParams) {
8
+ const buffer = [];
9
+ // Begin Message
10
+ buffer.push(ControlCodes_1.ControlCodes.STX);
11
+ buffer.push(ControlCodes_1.ControlCodes.LF);
12
+ // Add the Message
13
+ buffer.push(...Array.from(Buffer.from(JSON.stringify(requestParams))));
14
+ // End the Message
15
+ buffer.push(ControlCodes_1.ControlCodes.LF);
16
+ buffer.push(ControlCodes_1.ControlCodes.ETX);
17
+ buffer.push(ControlCodes_1.ControlCodes.LF);
18
+ const deviceMessage = new DeviceMessage_1.DeviceMessage(Buffer.from(buffer));
19
+ deviceMessage.setJsonRequest(requestParams);
20
+ return deviceMessage;
21
+ }
22
+ }
23
+ exports.TerminalUtils = TerminalUtils;
24
+ //# sourceMappingURL=TerminalUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TerminalUtils.js","sourceRoot":"","sources":["../../../src/Terminals/TerminalUtils.ts"],"names":[],"mappings":";;;AAAA,mDAAgD;AAChD,uDAAoD;AAEpD,MAAa,aAAa;IACjB,MAAM,CAAC,eAAe,CAC3B,aAAkC;QAElC,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,gBAAgB;QAChB,MAAM,CAAC,IAAI,CAAC,2BAAY,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,2BAAY,CAAC,EAAE,CAAC,CAAC;QAE7B,kBAAkB;QAClB,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvE,kBAAkB;QAClB,MAAM,CAAC,IAAI,CAAC,2BAAY,CAAC,EAAE,CAAC,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,2BAAY,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,2BAAY,CAAC,EAAE,CAAC,CAAC;QAE7B,MAAM,aAAa,GAAG,IAAI,6BAAa,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7D,aAAa,CAAC,cAAc,CAAC,aAAsB,CAAC,CAAC;QACrD,OAAO,aAAa,CAAC;IACvB,CAAC;CACF;AAtBD,sCAsBC"}
@@ -0,0 +1,20 @@
1
+ export declare enum UpaMessageId {
2
+ SALE = "Sale",
3
+ VOID = "Void",
4
+ REFUND = "Refund",
5
+ EOD = "EODProcessing",
6
+ SENDSAF = "SendSAF",
7
+ TIPADJUST = "TipAdjust",
8
+ CARD_VERIFY = "CardVerify",
9
+ GET_SAF_REPORT = "GetSAFReport",
10
+ CANCEL = "CancelTransaction",
11
+ REBOOT = "Reboot",
12
+ LINEITEM = "LineItemDisplay",
13
+ REVERSAL = "Reversal",
14
+ GET_BATCH_REPORT = "GetBatchReport",
15
+ BALANCE_INQUIRY = "BalanceInquiry",
16
+ PRE_AUTH = "PreAuth",
17
+ AUTH_COMPLETION = "AuthCompletion",
18
+ TOKENIZE = "Tokenize",
19
+ GET_OPEN_TAB_DETAILS = "GetOpenTabDetails"
20
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpaMessageId = void 0;
4
+ var UpaMessageId;
5
+ (function (UpaMessageId) {
6
+ UpaMessageId["SALE"] = "Sale";
7
+ UpaMessageId["VOID"] = "Void";
8
+ UpaMessageId["REFUND"] = "Refund";
9
+ UpaMessageId["EOD"] = "EODProcessing";
10
+ UpaMessageId["SENDSAF"] = "SendSAF";
11
+ UpaMessageId["TIPADJUST"] = "TipAdjust";
12
+ UpaMessageId["CARD_VERIFY"] = "CardVerify";
13
+ UpaMessageId["GET_SAF_REPORT"] = "GetSAFReport";
14
+ UpaMessageId["CANCEL"] = "CancelTransaction";
15
+ UpaMessageId["REBOOT"] = "Reboot";
16
+ UpaMessageId["LINEITEM"] = "LineItemDisplay";
17
+ UpaMessageId["REVERSAL"] = "Reversal";
18
+ UpaMessageId["GET_BATCH_REPORT"] = "GetBatchReport";
19
+ UpaMessageId["BALANCE_INQUIRY"] = "BalanceInquiry";
20
+ UpaMessageId["PRE_AUTH"] = "PreAuth";
21
+ UpaMessageId["AUTH_COMPLETION"] = "AuthCompletion";
22
+ UpaMessageId["TOKENIZE"] = "Tokenize";
23
+ UpaMessageId["GET_OPEN_TAB_DETAILS"] = "GetOpenTabDetails";
24
+ })(UpaMessageId || (exports.UpaMessageId = UpaMessageId = {}));
25
+ //# sourceMappingURL=UpaMessageId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpaMessageId.js","sourceRoot":"","sources":["../../../../../src/Terminals/UPA/Entities/UpaMessageId.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAmBX;AAnBD,WAAY,YAAY;IACtB,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,iCAAiB,CAAA;IACjB,qCAAqB,CAAA;IACrB,mCAAmB,CAAA;IACnB,uCAAuB,CAAA;IACvB,0CAA0B,CAAA;IAC1B,+CAA+B,CAAA;IAC/B,4CAA4B,CAAA;IAC5B,iCAAiB,CAAA;IACjB,4CAA4B,CAAA;IAC5B,qCAAqB,CAAA;IACrB,mDAAmC,CAAA;IACnC,kDAAkC,CAAA;IAClC,oCAAoB,CAAA;IACpB,kDAAkC,CAAA;IAClC,qCAAqB,CAAA;IACrB,0DAA0C,CAAA;AAC5C,CAAC,EAnBW,YAAY,4BAAZ,YAAY,QAmBvB"}
@@ -0,0 +1 @@
1
+ export * from "./UpaMessageId";