globalpayments-api 3.10.14 → 3.11.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 (188) hide show
  1. package/CHANGELOG.md +255 -240
  2. package/LICENSE.md +257 -257
  3. package/README.md +148 -148
  4. package/appsec.properties +8 -0
  5. package/lib/src/Builders/BaseBuilder/ValidationClause.d.ts +3 -2
  6. package/lib/src/Builders/BaseBuilder/ValidationClause.js +23 -15
  7. package/lib/src/Builders/BaseBuilder/ValidationClause.js.map +1 -1
  8. package/lib/src/Builders/BaseBuilder/Validations.js +7 -2
  9. package/lib/src/Builders/BaseBuilder/Validations.js.map +1 -1
  10. package/lib/src/Builders/RequestBuilder/GpApi/GpApiSessionInfo.d.ts +11 -2
  11. package/lib/src/Builders/RequestBuilder/GpApi/GpApiSessionInfo.js +44 -5
  12. package/lib/src/Builders/RequestBuilder/GpApi/GpApiSessionInfo.js.map +1 -1
  13. package/lib/src/Builders/RequestBuilder/GpEcom/GpEcomManagementRequestBuilder.js +2 -2
  14. package/lib/src/Builders/RequestBuilder/GpEcom/GpEcomManagementRequestBuilder.js.map +1 -1
  15. package/lib/src/Entities/Enums.d.ts +4 -2
  16. package/lib/src/Entities/Enums.js +3 -1
  17. package/lib/src/Entities/Enums.js.map +1 -1
  18. package/lib/src/Entities/GpApi/PorticoTokenConfig.d.ts +25 -0
  19. package/lib/src/Entities/GpApi/PorticoTokenConfig.js +30 -0
  20. package/lib/src/Entities/GpApi/PorticoTokenConfig.js.map +1 -0
  21. package/lib/src/Entities/GpApi/index.d.ts +1 -0
  22. package/lib/src/Entities/GpApi/index.js +1 -0
  23. package/lib/src/Entities/GpApi/index.js.map +1 -1
  24. package/lib/src/Entities/RecurringEntity.js +2 -2
  25. package/lib/src/Entities/RecurringEntity.js.map +1 -1
  26. package/lib/src/Entities/Transaction.d.ts +2 -0
  27. package/lib/src/Entities/Transaction.js +2 -0
  28. package/lib/src/Entities/Transaction.js.map +1 -1
  29. package/lib/src/Entities/TransactionSummary.d.ts +1 -0
  30. package/lib/src/Entities/TransactionSummary.js +1 -0
  31. package/lib/src/Entities/TransactionSummary.js.map +1 -1
  32. package/lib/src/Entities/UPA/ExtraChargeType.d.ts +8 -0
  33. package/lib/src/Entities/UPA/ExtraChargeType.js +13 -0
  34. package/lib/src/Entities/UPA/ExtraChargeType.js.map +1 -0
  35. package/lib/src/Entities/UPA/Lodging.d.ts +11 -0
  36. package/lib/src/Entities/UPA/Lodging.js +15 -0
  37. package/lib/src/Entities/UPA/Lodging.js.map +1 -0
  38. package/lib/src/Entities/UPA/POSData.d.ts +6 -0
  39. package/lib/src/Entities/UPA/POSData.js +11 -0
  40. package/lib/src/Entities/UPA/POSData.js.map +1 -0
  41. package/lib/src/Entities/UPA/ProcessIndicator.d.ts +1 -1
  42. package/lib/src/Entities/UPA/ProcessIndicator.js.map +1 -1
  43. package/lib/src/Entities/UPA/UpaParam.d.ts +7 -7
  44. package/lib/src/Entities/UPA/UpaParam.js.map +1 -1
  45. package/lib/src/Entities/UPA/UpaTransactionData.d.ts +5 -5
  46. package/lib/src/Entities/UPA/UpaTransactionData.js.map +1 -1
  47. package/lib/src/Entities/UPA/index.d.ts +3 -0
  48. package/lib/src/Entities/UPA/index.js +3 -0
  49. package/lib/src/Entities/UPA/index.js.map +1 -1
  50. package/lib/src/Gateways/GpApiConnector.js +23 -4
  51. package/lib/src/Gateways/GpApiConnector.js.map +1 -1
  52. package/lib/src/Gateways/PorticoConnector.d.ts +1 -1
  53. package/lib/src/Gateways/PorticoConnector.js +2 -0
  54. package/lib/src/Gateways/PorticoConnector.js.map +1 -1
  55. package/lib/src/Mapping/GpApiMapping.js +7 -0
  56. package/lib/src/Mapping/GpApiMapping.js.map +1 -1
  57. package/lib/src/ServiceConfigs/Gateways/GpApiConfig.d.ts +6 -0
  58. package/lib/src/ServiceConfigs/Gateways/GpApiConfig.js +25 -2
  59. package/lib/src/ServiceConfigs/Gateways/GpApiConfig.js.map +1 -1
  60. package/lib/src/Services/GpApiServices.js +4 -1
  61. package/lib/src/Services/GpApiServices.js.map +1 -1
  62. package/lib/src/Terminals/Abstractions/IDeviceInterface.d.ts +23 -2
  63. package/lib/src/Terminals/Abstractions/IDeviceResponse.d.ts +71 -24
  64. package/lib/src/Terminals/Builders/TerminalAuthBuilder.d.ts +54 -22
  65. package/lib/src/Terminals/Builders/TerminalAuthBuilder.js +98 -13
  66. package/lib/src/Terminals/Builders/TerminalAuthBuilder.js.map +1 -1
  67. package/lib/src/Terminals/Builders/TerminalBuilder.d.ts +6 -3
  68. package/lib/src/Terminals/Builders/TerminalBuilder.js +9 -0
  69. package/lib/src/Terminals/Builders/TerminalBuilder.js.map +1 -1
  70. package/lib/src/Terminals/Builders/TerminalManageBuilder.d.ts +16 -6
  71. package/lib/src/Terminals/Builders/TerminalManageBuilder.js +27 -2
  72. package/lib/src/Terminals/Builders/TerminalManageBuilder.js.map +1 -1
  73. package/lib/src/Terminals/Builders/TerminalReportBuilder.d.ts +17 -0
  74. package/lib/src/Terminals/Builders/TerminalReportBuilder.js +57 -0
  75. package/lib/src/Terminals/Builders/TerminalReportBuilder.js.map +1 -0
  76. package/lib/src/Terminals/Builders/index.d.ts +1 -0
  77. package/lib/src/Terminals/Builders/index.js +1 -0
  78. package/lib/src/Terminals/Builders/index.js.map +1 -1
  79. package/lib/src/Terminals/DeviceController.d.ts +6 -5
  80. package/lib/src/Terminals/DeviceController.js.map +1 -1
  81. package/lib/src/Terminals/DeviceInterface.d.ts +23 -3
  82. package/lib/src/Terminals/DeviceInterface.js +68 -0
  83. package/lib/src/Terminals/DeviceInterface.js.map +1 -1
  84. package/lib/src/Terminals/Enums.d.ts +11 -0
  85. package/lib/src/Terminals/Enums.js +14 -1
  86. package/lib/src/Terminals/Enums.js.map +1 -1
  87. package/lib/src/Terminals/TerminalResponse.d.ts +44 -36
  88. package/lib/src/Terminals/TerminalResponse.js +8 -0
  89. package/lib/src/Terminals/TerminalResponse.js.map +1 -1
  90. package/lib/src/Terminals/UPA/Entities/UpaMessageId.d.ts +10 -1
  91. package/lib/src/Terminals/UPA/Entities/UpaMessageId.js +9 -0
  92. package/lib/src/Terminals/UPA/Entities/UpaMessageId.js.map +1 -1
  93. package/lib/src/Terminals/UPA/Entities/UpaModels.d.ts +62 -0
  94. package/lib/src/Terminals/UPA/Entities/UpaModels.js +28 -0
  95. package/lib/src/Terminals/UPA/Entities/UpaModels.js.map +1 -0
  96. package/lib/src/Terminals/UPA/Entities/UpaSearchCriteria.d.ts +7 -0
  97. package/lib/src/Terminals/UPA/Entities/UpaSearchCriteria.js +12 -0
  98. package/lib/src/Terminals/UPA/Entities/UpaSearchCriteria.js.map +1 -0
  99. package/lib/src/Terminals/UPA/Entities/index.d.ts +1 -0
  100. package/lib/src/Terminals/UPA/Entities/index.js +1 -0
  101. package/lib/src/Terminals/UPA/Entities/index.js.map +1 -1
  102. package/lib/src/Terminals/UPA/Interfaces/UpaMicInterface.d.ts +1 -1
  103. package/lib/src/Terminals/UPA/Interfaces/UpaMicInterface.js +7 -5
  104. package/lib/src/Terminals/UPA/Interfaces/UpaMicInterface.js.map +1 -1
  105. package/lib/src/Terminals/UPA/Reponses/BatchList.d.ts +17 -0
  106. package/lib/src/Terminals/UPA/Reponses/BatchList.js +84 -0
  107. package/lib/src/Terminals/UPA/Reponses/BatchList.js.map +1 -0
  108. package/lib/src/Terminals/UPA/Reponses/BatchReportResponse.d.ts +56 -0
  109. package/lib/src/Terminals/UPA/Reponses/BatchReportResponse.js +215 -0
  110. package/lib/src/Terminals/UPA/Reponses/BatchReportResponse.js.map +1 -0
  111. package/lib/src/Terminals/UPA/Reponses/OpenTabDetailsResponse.d.ts +27 -0
  112. package/lib/src/Terminals/UPA/Reponses/OpenTabDetailsResponse.js +113 -0
  113. package/lib/src/Terminals/UPA/Reponses/OpenTabDetailsResponse.js.map +1 -0
  114. package/lib/src/Terminals/UPA/Reponses/SafReportResponse.d.ts +39 -0
  115. package/lib/src/Terminals/UPA/Reponses/SafReportResponse.js +187 -0
  116. package/lib/src/Terminals/UPA/Reponses/SafReportResponse.js.map +1 -0
  117. package/lib/src/Terminals/UPA/Reponses/TransactionResponse.d.ts +48 -25
  118. package/lib/src/Terminals/UPA/Reponses/TransactionResponse.js +151 -15
  119. package/lib/src/Terminals/UPA/Reponses/TransactionResponse.js.map +1 -1
  120. package/lib/src/Terminals/UPA/Reponses/UpaEODResponse.d.ts +21 -0
  121. package/lib/src/Terminals/UPA/Reponses/UpaEODResponse.js +106 -0
  122. package/lib/src/Terminals/UPA/Reponses/UpaEODResponse.js.map +1 -0
  123. package/lib/src/Terminals/UPA/Reponses/UpaGiftCardResponse.d.ts +41 -0
  124. package/lib/src/Terminals/UPA/Reponses/UpaGiftCardResponse.js +93 -0
  125. package/lib/src/Terminals/UPA/Reponses/UpaGiftCardResponse.js.map +1 -0
  126. package/lib/src/Terminals/UPA/Reponses/UpaSAFResponse.d.ts +35 -0
  127. package/lib/src/Terminals/UPA/Reponses/UpaSAFResponse.js +195 -0
  128. package/lib/src/Terminals/UPA/Reponses/UpaSAFResponse.js.map +1 -0
  129. package/lib/src/Terminals/UPA/Reponses/UpaSignatureResponse.d.ts +18 -0
  130. package/lib/src/Terminals/UPA/Reponses/UpaSignatureResponse.js +94 -0
  131. package/lib/src/Terminals/UPA/Reponses/UpaSignatureResponse.js.map +1 -0
  132. package/lib/src/Terminals/UPA/Reponses/index.d.ts +8 -0
  133. package/lib/src/Terminals/UPA/Reponses/index.js +8 -0
  134. package/lib/src/Terminals/UPA/Reponses/index.js.map +1 -1
  135. package/lib/src/Terminals/UPA/UpaController.d.ts +17 -5
  136. package/lib/src/Terminals/UPA/UpaController.js +338 -79
  137. package/lib/src/Terminals/UPA/UpaController.js.map +1 -1
  138. package/lib/src/Terminals/UPA/UpaInterface.d.ts +26 -3
  139. package/lib/src/Terminals/UPA/UpaInterface.js +311 -12
  140. package/lib/src/Terminals/UPA/UpaInterface.js.map +1 -1
  141. package/lib/src/Terminals/index.d.ts +2 -0
  142. package/lib/src/Terminals/index.js +2 -0
  143. package/lib/src/Terminals/index.js.map +1 -1
  144. package/lib/src/Utils/StringUtils.js +1 -1
  145. package/lib/src/Utils/StringUtils.js.map +1 -1
  146. package/lib/test/Integration/Gateways/CI/upa_mitc/UpaFunctionalityTests.test.js +19 -8
  147. package/lib/test/Integration/Gateways/CI/upa_mitc/UpaFunctionalityTests.test.js.map +1 -1
  148. package/lib/test/Integration/Gateways/GpApiConnector/3DS2.test.js +15 -15
  149. package/lib/test/Integration/Gateways/GpApiConnector/3DSecure.test.js +5 -5
  150. package/lib/test/Integration/Gateways/GpApiConnector/AccessTokenPorticoCredentials.test.d.ts +1 -0
  151. package/lib/test/Integration/Gateways/GpApiConnector/AccessTokenPorticoCredentials.test.js +175 -0
  152. package/lib/test/Integration/Gateways/GpApiConnector/AccessTokenPorticoCredentials.test.js.map +1 -0
  153. package/lib/test/Integration/Gateways/GpApiConnector/GpApiCreateTokenWithPorticoCredentialTests.test.d.ts +1 -0
  154. package/lib/test/Integration/Gateways/GpApiConnector/GpApiCreateTokenWithPorticoCredentialTests.test.js +205 -0
  155. package/lib/test/Integration/Gateways/GpApiConnector/GpApiCreateTokenWithPorticoCredentialTests.test.js.map +1 -0
  156. package/lib/test/Integration/Gateways/GpEcomConnector/Credit.test.js +4 -4
  157. package/lib/test/Integration/Gateways/PorticoConnector/Ecommerce.test.js +8 -8
  158. package/lib/test/Integration/Gateways/PorticoConnector/GlobalTransactionId.test.d.ts +1 -0
  159. package/lib/test/Integration/Gateways/PorticoConnector/GlobalTransactionId.test.js +243 -0
  160. package/lib/test/Integration/Gateways/PorticoConnector/GlobalTransactionId.test.js.map +1 -0
  161. package/lib/test/Integration/Gateways/Terminals/RequestIdProvider.d.ts +15 -1
  162. package/lib/test/Integration/Gateways/Terminals/RequestIdProvider.js +88 -3
  163. package/lib/test/Integration/Gateways/Terminals/RequestIdProvider.js.map +1 -1
  164. package/lib/test/Unit/Builders/AuthorizationBuilder/SupplementaryData.test.d.ts +1 -0
  165. package/lib/test/Unit/Builders/AuthorizationBuilder/SupplementaryData.test.js +147 -0
  166. package/lib/test/Unit/Builders/AuthorizationBuilder/SupplementaryData.test.js.map +1 -0
  167. package/lib/test/Unit/Terminals/UPA/UpaAdmin.test.d.ts +1 -0
  168. package/lib/test/Unit/Terminals/UPA/UpaAdmin.test.js +1260 -0
  169. package/lib/test/Unit/Terminals/UPA/UpaAdmin.test.js.map +1 -0
  170. package/lib/test/Unit/Terminals/UPA/UpaCredit.test.d.ts +1 -0
  171. package/lib/test/Unit/Terminals/UPA/UpaCredit.test.js +411 -0
  172. package/lib/test/Unit/Terminals/UPA/UpaCredit.test.js.map +1 -0
  173. package/lib/test/Unit/Terminals/UPA/UpaHelpertest.d.ts +55 -0
  174. package/lib/test/Unit/Terminals/UPA/UpaHelpertest.js +490 -0
  175. package/lib/test/Unit/Terminals/UPA/UpaHelpertest.js.map +1 -0
  176. package/lib/test/Unit/Terminals/UPA/UpaReport.test.d.ts +1 -0
  177. package/lib/test/Unit/Terminals/UPA/UpaReport.test.js +801 -0
  178. package/lib/test/Unit/Terminals/UPA/UpaReport.test.js.map +1 -0
  179. package/lib/test/Unit/Terminals/UPA/UpaStory1Methods.test.d.ts +1 -0
  180. package/lib/test/Unit/Terminals/UPA/UpaStory1Methods.test.js +250 -0
  181. package/lib/test/Unit/Terminals/UPA/UpaStory1Methods.test.js.map +1 -0
  182. package/lib/test/Unit/Terminals/UPA/UpaStory2Methods.test.d.ts +1 -0
  183. package/lib/test/Unit/Terminals/UPA/UpaStory2Methods.test.js +1277 -0
  184. package/lib/test/Unit/Terminals/UPA/UpaStory2Methods.test.js.map +1 -0
  185. package/lib/test/Unit/Terminals/UPA/UpaStory3_4Methods.test.d.ts +1 -0
  186. package/lib/test/Unit/Terminals/UPA/UpaStory3_4Methods.test.js +411 -0
  187. package/lib/test/Unit/Terminals/UPA/UpaStory3_4Methods.test.js.map +1 -0
  188. package/package.json +63 -63
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UpaController = void 0;
4
4
  const src_1 = require("../../../src");
5
+ const UpaMessageId_1 = require("./Entities/UpaMessageId");
5
6
  const _1 = require(".");
6
7
  const DeviceController_1 = require("../DeviceController");
7
8
  const Enums_1 = require("../Enums");
@@ -26,22 +27,30 @@ class UpaController extends DeviceController_1.DeviceController {
26
27
  const request = this.buildProcessTransaction(builder);
27
28
  return this.doTransaction(request);
28
29
  }
29
- configureConnector() {
30
- switch (this._settings.connectionMode) {
31
- case Enums_1.ConnectionModes.HTTP:
32
- case Enums_1.ConnectionModes.SERIAL:
33
- case Enums_1.ConnectionModes.SSL_TCP:
34
- case Enums_1.ConnectionModes.MEET_IN_THE_CLOUD:
35
- if (this._settings.gatewayConfig instanceof src_1.GpApiConfig) {
36
- return new _1.UpaMicInterface(this._settings);
37
- }
38
- case Enums_1.ConnectionModes.TCP_IP:
30
+ async processReport(builder) {
31
+ const request = this.buildReportTransaction(builder);
32
+ const response = await this.send(request);
33
+ if (!response) {
34
+ throw new src_1.GatewayError("No gateway response!");
35
+ }
36
+ switch (builder.reportType) {
37
+ case src_1.TerminalReportType.GetSAFReport:
38
+ return new _1.SafReportResponse(response);
39
+ case src_1.TerminalReportType.GetBatchReport:
40
+ case src_1.TerminalReportType.GetBatchDetails:
41
+ return new _1.BatchReportResponse(response);
42
+ case src_1.TerminalReportType.GetOpenTabDetails:
43
+ return new _1.OpenTabDetailsResponse(response);
44
+ case src_1.TerminalReportType.FindBatches:
45
+ return new _1.BatchList(response);
39
46
  default:
40
- throw new src_1.NotImplementedError();
47
+ throw new src_1.UnsupportedTransactionError("The selected gateway does not support this report type.");
41
48
  }
42
49
  }
43
50
  buildManageTransaction(builder) {
44
51
  const transactionType = builder.transactionType;
52
+ const isTipAdjust = this.isTipAdjust(builder);
53
+ const manageBuilder = builder;
45
54
  if (builder.paymentMethodType != src_1.PaymentMethodType.Credit &&
46
55
  builder.paymentMethodType != src_1.PaymentMethodType.Debit &&
47
56
  builder.paymentMethodType != src_1.PaymentMethodType.EBT) {
@@ -56,25 +65,99 @@ class UpaController extends DeviceController_1.DeviceController {
56
65
  data: {},
57
66
  };
58
67
  const requestData = {
59
- command: this.mapTransactionType(transactionType),
68
+ command: this.mapTransactionType(transactionType, builder.transactionModifier),
60
69
  EcrId: builder.ecrId?.toString(),
61
- requestId: requestId.toString(),
70
+ requestId: requestId?.toString(),
62
71
  };
63
72
  const transactionData = {
64
- params: {
65
- clerkId: builder.clerkId,
66
- },
67
73
  transaction: {},
68
74
  };
69
- transactionData.transaction.referenceNumber = builder.transactionId;
70
- transactionData.transaction.baseAmount = builder.amount?.toFixed(2);
71
- transactionData.transaction.taxAmount = builder.taxAmount;
72
- transactionData.transaction.tipAmount = builder.tipAmount;
73
- transactionData.transaction.taxIndicator = builder.taxIndicator;
74
- transactionData.transaction.invoiceNbr = builder.invoiceNumber;
75
- transactionData.transaction.processCPC = builder.processCPC;
76
- if (transactionType === src_1.TransactionType.Refund) {
77
- transactionData.transaction.totalAmount = builder.amount?.toFixed(2);
75
+ if (builder.clerkId !== undefined &&
76
+ builder.clerkId !== null &&
77
+ transactionType !== src_1.TransactionType.Refund) {
78
+ transactionData.params = {
79
+ clerkId: builder.clerkId,
80
+ };
81
+ }
82
+ if (transactionType === src_1.TransactionType.Reversal) {
83
+ if (builder.terminalRefNumber !== undefined) {
84
+ transactionData.transaction.tranNo = builder.terminalRefNumber;
85
+ }
86
+ transactionData.transaction.authorizedAmount = this.formatAmount(builder.amount);
87
+ }
88
+ else if (transactionType === src_1.TransactionType.Delete &&
89
+ builder.transactionModifier === src_1.TransactionModifier.DeletePreAuth) {
90
+ transactionData.transaction.referenceNumber = builder.transactionId;
91
+ transactionData.transaction.preAuthAmount = this.formatAmount(builder.amount);
92
+ }
93
+ else if (transactionType === src_1.TransactionType.Edit &&
94
+ builder.transactionModifier === src_1.TransactionModifier.UpdateLodgingDetails) {
95
+ transactionData.transaction.referenceNumber = builder.transactionId;
96
+ transactionData.transaction.amount = this.formatAmount(builder.amount);
97
+ }
98
+ else if (transactionType === src_1.TransactionType.Refund) {
99
+ // Refund should only have totalAmount, no amount or tax fields
100
+ transactionData.transaction.referenceNumber = builder.transactionId;
101
+ transactionData.transaction.totalAmount = this.formatAmount(builder.amount);
102
+ transactionData.transaction.invoiceNbr = builder.invoiceNumber;
103
+ }
104
+ else {
105
+ transactionData.transaction.referenceNumber = builder.transactionId;
106
+ transactionData.transaction.amount = isTipAdjust
107
+ ? undefined
108
+ : this.formatAmount(builder.amount);
109
+ transactionData.transaction.taxAmount = this.formatAmount(builder.taxAmount);
110
+ transactionData.transaction.tipAmount = this.formatAmount(builder.gratuity);
111
+ transactionData.transaction.taxIndicator = builder.taxIndicator;
112
+ transactionData.transaction.invoiceNbr = builder.invoiceNumber;
113
+ transactionData.transaction.processCPC =
114
+ builder.processCPC !== undefined
115
+ ? builder.processCPC
116
+ ? "1"
117
+ : "0"
118
+ : undefined;
119
+ }
120
+ if (isTipAdjust) {
121
+ transactionData.transaction.tipAmount = this.formatAmount(builder.gratuity);
122
+ transactionData.transaction.tranNo = builder.terminalRefNumber;
123
+ }
124
+ if (builder.transactionType === src_1.TransactionType.Void) {
125
+ transactionData.transaction.tranNo = builder.terminalRefNumber;
126
+ }
127
+ if (builder.transactionType === src_1.TransactionType.Capture) {
128
+ transactionData.transaction.amount = this.formatAmount(builder.amount);
129
+ }
130
+ if (builder.taxExempt !== undefined) {
131
+ transactionData.transaction.taxIndicator = builder.taxExempt;
132
+ }
133
+ if (builder.lodgingData) {
134
+ transactionData.lodging = {
135
+ folioNumber: builder.lodgingData.folioNumber,
136
+ stayDuration: manageBuilder.lodgingData?.stayDuration,
137
+ checkInDate: manageBuilder.lodgingData?.checkInDate,
138
+ checkOutDate: manageBuilder.lodgingData?.checkOutDate,
139
+ dailyRate: this.formatAmount(manageBuilder.lodgingData?.dailyRate),
140
+ preferredCustomer: manageBuilder.lodgingData?.preferredCustomer,
141
+ extraChargeTypes: this.buildExtraChargeTypes(manageBuilder.lodgingData?.extraChargeTypes),
142
+ extraChargeTotal: this.formatAmount(manageBuilder.lodgingData?.extraChargeTotal),
143
+ };
144
+ }
145
+ if ((transactionType === src_1.TransactionType.Reversal ||
146
+ (transactionType === src_1.TransactionType.Edit &&
147
+ builder.transactionModifier ===
148
+ src_1.TransactionModifier.UpdateLodgingDetails)) &&
149
+ !builder.transactionId) {
150
+ delete transactionData.transaction.referenceNumber;
151
+ }
152
+ const isDedicatedAmountCommand = transactionType === src_1.TransactionType.Reversal ||
153
+ (transactionType === src_1.TransactionType.Delete &&
154
+ builder.transactionModifier === src_1.TransactionModifier.DeletePreAuth) ||
155
+ (transactionType === src_1.TransactionType.Edit &&
156
+ builder.transactionModifier ===
157
+ src_1.TransactionModifier.UpdateLodgingDetails) ||
158
+ transactionType === src_1.TransactionType.Refund;
159
+ if (!isDedicatedAmountCommand) {
160
+ transactionData.transaction.baseAmount = builder.amount?.toFixed(2);
78
161
  }
79
162
  requestData.data = transactionData;
80
163
  request.data = requestData;
@@ -82,9 +165,11 @@ class UpaController extends DeviceController_1.DeviceController {
82
165
  }
83
166
  buildProcessTransaction(builder) {
84
167
  const transactionType = builder.transactionType;
168
+ const authBuilder = builder;
85
169
  if (builder.paymentMethodType != src_1.PaymentMethodType.Credit &&
86
170
  builder.paymentMethodType != src_1.PaymentMethodType.Debit &&
87
- builder.paymentMethodType != src_1.PaymentMethodType.EBT) {
171
+ builder.paymentMethodType != src_1.PaymentMethodType.EBT &&
172
+ builder.paymentMethodType != src_1.PaymentMethodType.Gift) {
88
173
  throw new src_1.UnsupportedTransactionError("The supplied payment method type is not supported");
89
174
  }
90
175
  let requestId = builder.referenceNumber;
@@ -95,20 +180,27 @@ class UpaController extends DeviceController_1.DeviceController {
95
180
  message: "MSG",
96
181
  };
97
182
  const requestData = {
98
- command: this.mapTransactionType(transactionType),
183
+ command: this.mapTransactionType(transactionType, builder.transactionModifier),
99
184
  EcrId: builder.ecrId?.toString(),
100
- requestId: requestId.toString(),
185
+ requestId: requestId?.toString(),
101
186
  };
187
+ // Balance has a flat request — no data.data sub-node at all
188
+ if (transactionType === src_1.TransactionType.Balance) {
189
+ if (builder.clerkId !== undefined && builder.clerkId !== null) {
190
+ requestData.params = {
191
+ clerkId: builder.clerkId,
192
+ };
193
+ }
194
+ request.data = requestData;
195
+ return TerminalUtils_1.TerminalUtils.buildUpaRequest(request);
196
+ }
102
197
  const transactionData = {
103
198
  params: {
104
199
  clerkId: builder.clerkId,
105
200
  },
106
- transaction: {},
107
201
  };
108
- if (!this.isTokenRequestApplicable(transactionType)) {
109
- transactionData.params.tokenRequest = builder.requestMultiUseToken
110
- ? "1"
111
- : "0";
202
+ if (builder.requestMultiUseToken) {
203
+ transactionData.params.tokenRequest = "1";
112
204
  }
113
205
  if (builder.paymentMethod !== null &&
114
206
  builder.paymentMethod instanceof src_1.CreditCardData &&
@@ -120,95 +212,262 @@ class UpaController extends DeviceController_1.DeviceController {
120
212
  transactionType == src_1.TransactionType.Refund ||
121
213
  transactionType == src_1.TransactionType.Verify ||
122
214
  transactionType == src_1.TransactionType.Auth)) {
123
- if (builder.cardOnFileIndicator) {
215
+ const cardOnFileIndicator = authBuilder.transactionInitiator ?? authBuilder.cardOnFileIndicator;
216
+ if (cardOnFileIndicator) {
124
217
  transactionData.params.cardOnFileIndicator =
125
- src_1.StoredCredentialInitiator.CardHolder ? "C" : "M";
218
+ cardOnFileIndicator === src_1.StoredCredentialInitiator.CardHolder
219
+ ? src_1.StoredCredentialInitiator.CardHolder
220
+ : cardOnFileIndicator;
126
221
  }
127
- if (builder.cardBrandTransId !== "") {
128
- transactionData.params.cardBrandTransId = builder.cardBrandTransId;
222
+ const cardBrandTransId = authBuilder.cardBrandTransactionId ?? authBuilder.cardBrandTransId;
223
+ if (cardBrandTransId) {
224
+ transactionData.params.cardBrandTransId = cardBrandTransId;
129
225
  }
130
226
  }
131
- transactionData.params.lineItemLeft = builder.lineItemLeft;
132
- transactionData.params.lineItemRight = builder.lineItemRight;
227
+ transactionData.params.lineItemLeft = authBuilder.lineItemLeft;
228
+ transactionData.params.lineItemRight = authBuilder.lineItemRight;
229
+ transactionData.params.timeOut = authBuilder.timeout;
230
+ transactionData.params.merchantDecision = authBuilder.merchantDecision;
231
+ transactionData.params.languageCode = authBuilder.language;
232
+ const acquisitionTypes = authBuilder.acquisitionTypes;
233
+ if (Array.isArray(acquisitionTypes) && acquisitionTypes.length > 0) {
234
+ transactionData.params.acquisitionTypes = acquisitionTypes.join("|");
235
+ }
133
236
  if (transactionType === src_1.TransactionType.Auth) {
134
237
  transactionData.params.invoiceNbr = builder.invoiceNumber;
135
238
  }
136
- if (builder.shippingDate && builder.invoiceNumber !== null) {
239
+ if (authBuilder.shippingDate && builder.invoiceNumber !== null) {
240
+ const shippingDate = new Date(authBuilder.shippingDate);
137
241
  transactionData.params.directMktInvoiceNbr = builder.invoiceNumber;
138
- transactionData.params.directMktShipMonth = new Date(builder.shippingDate).getMonth();
139
- transactionData.params.directMktShipDay = new Date(builder.shippingDate).getDay();
242
+ transactionData.params.directMktShipMonth = `${shippingDate.getMonth() + 1}`.padStart(2, "0");
243
+ transactionData.params.directMktShipDay =
244
+ `${shippingDate.getDate()}`.padStart(2, "0");
245
+ }
246
+ const processingIndicators = {};
247
+ if (builder.isQuickChip !== undefined) {
248
+ processingIndicators.quickChip = builder.isQuickChip ? "Y" : "N";
140
249
  }
141
- if (transactionType != src_1.TransactionType.Verify &&
142
- transactionType != src_1.TransactionType.Refund &&
143
- // @ts-ignore
144
- transactionType != src_1.TransactionType.Tokenize) {
250
+ if (builder.hasCheckLuhn !== undefined) {
251
+ processingIndicators.checkLuhn = builder.hasCheckLuhn ? "Y" : "N";
252
+ }
253
+ if (builder.hasSecurityCode !== undefined) {
254
+ processingIndicators.securityCode = builder.hasSecurityCode ? "Y" : "N";
255
+ }
256
+ if (Object.keys(processingIndicators).length > 0) {
257
+ transactionData.processingIndicators = processingIndicators;
258
+ }
259
+ if (authBuilder.lodging) {
260
+ transactionData.lodging = {
261
+ folioNumber: authBuilder.lodging.folioNumber,
262
+ stayDuration: authBuilder.lodging.stayDuration,
263
+ checkInDate: authBuilder.lodging.checkInDate,
264
+ checkOutDate: authBuilder.lodging.checkOutDate,
265
+ dailyRate: this.formatAmount(authBuilder.lodging.dailyRate),
266
+ preferredCustomer: authBuilder.lodging.preferredCustomer,
267
+ extraChargeTypes: this.buildExtraChargeTypes(authBuilder.lodging.extraChargeTypes),
268
+ extraChargeTotal: this.formatAmount(authBuilder.lodging.extraChargeTotal),
269
+ };
270
+ }
271
+ if (transactionType !== src_1.TransactionType.Verify &&
272
+ transactionType !== src_1.TransactionType.Refund &&
273
+ transactionType !== src_1.TransactionType.Tokenize) {
274
+ transactionData.transaction = {};
145
275
  if (transactionType === src_1.TransactionType.Auth) {
146
- transactionData.transaction.baseAmount = builder.amount?.toFixed(2);
147
- transactionData.transaction.preAuthAmount =
148
- builder.preAuthAmount?.toString(2);
276
+ // start line 412 mid
277
+ transactionData.transaction.amount = this.formatAmount(builder.amount);
278
+ transactionData.transaction.preAuthAmount = this.formatAmount(authBuilder.preAuthAmount);
279
+ }
280
+ else if (transactionType === src_1.TransactionType.Sale) {
281
+ transactionData.transaction.invoiceNbr = builder.invoiceNumber;
282
+ transactionData.transaction.baseAmount = this.formatAmount(builder.amount);
283
+ transactionData.transaction.tipAmount = this.formatAmount(builder.gratuity);
284
+ transactionData.transaction.cashBackAmount = this.formatAmount(builder.cashBackAmount);
149
285
  }
150
286
  else {
151
- transactionData.transaction.baseAmount = builder.amount?.toFixed(2);
152
- transactionData.transaction.cashBackAmount =
153
- builder.cashBackAmount?.toFixed(2);
154
- transactionData.transaction.tipAmount = builder.gratuity?.toFixed(2);
287
+ transactionData.transaction.baseAmount = this.formatAmount(builder.amount);
288
+ //amount change to baseAmount for tip adjust, cash back amount is not sent for tip adjust
289
+ transactionData.transaction.cashBackAmount = this.formatAmount(builder.cashBackAmount);
290
+ transactionData.transaction.tipAmount = this.formatAmount(builder.gratuity);
155
291
  transactionData.transaction.taxIndicator = builder.taxExempt;
156
292
  transactionData.transaction.invoiceNbr = builder.invoiceNumber;
157
- transactionData.transaction.processCPC = builder.processCPC;
158
- transactionData.transaction.taxAmount = builder.taxAmount;
293
+ transactionData.transaction.processCPC =
294
+ authBuilder.processCPC !== undefined
295
+ ? authBuilder.processCPC
296
+ ? "1"
297
+ : "0"
298
+ : undefined;
299
+ transactionData.transaction.taxAmount = this.formatAmount(builder.taxAmount);
159
300
  }
160
301
  transactionData.transaction.referenceNumber = builder.terminalRefNumber;
161
- transactionData.transaction.prescriptionAmount =
162
- builder.prescriptionAmount?.toFixed(2);
163
- transactionData.transaction.clinicAmount =
164
- builder.clinicAmount?.toFixed(2);
165
- transactionData.transaction.dentalAmount =
166
- builder.dentalAmount?.toFixed(2);
167
- transactionData.transaction.visionOpticalAmount =
168
- builder.visionOpticalAmount?.toFixed(2);
302
+ transactionData.transaction.prescriptionAmount = this.formatAmount(authBuilder.prescriptionAmount);
303
+ transactionData.transaction.clinicAmount = this.formatAmount(authBuilder.clinicAmount);
304
+ transactionData.transaction.dentalAmount = this.formatAmount(authBuilder.dentalAmount);
305
+ transactionData.transaction.visionOpticalAmount = this.formatAmount(authBuilder.visionOpticalAmount);
306
+ transactionData.transaction.cardAcquisition = authBuilder.cardAcquisition;
307
+ if (authBuilder.transactionDate) {
308
+ transactionData.transaction.tranDate =
309
+ `${authBuilder.transactionDate.getMonth() + 1}`.padStart(2, "0") +
310
+ `${authBuilder.transactionDate.getDate()}`.padStart(2, "0") +
311
+ authBuilder.transactionDate.getFullYear();
312
+ transactionData.transaction.tranTime = [
313
+ authBuilder.transactionDate.getHours(),
314
+ authBuilder.transactionDate.getMinutes(),
315
+ authBuilder.transactionDate.getSeconds(),
316
+ ]
317
+ .map((value) => String(value).padStart(2, "0"))
318
+ .join(":");
319
+ }
169
320
  }
170
321
  if (transactionType === src_1.TransactionType.Refund) {
171
- transactionData.transaction.totalAmount = builder.amount?.toFixed(2);
322
+ transactionData.transaction ??= {};
323
+ transactionData.transaction.totalAmount = this.formatAmount(builder.amount);
172
324
  transactionData.transaction.invoiceNbr = builder.invoiceNumber;
173
- transactionData.transaction.referenceNumber = builder.terminalRefNumber;
325
+ // Use transactionId if available (refund by transaction ID), otherwise use terminalRefNumber
326
+ if (builder.paymentMethod?.transactionId) {
327
+ transactionData.transaction.referenceNumber =
328
+ builder.paymentMethod.transactionId;
329
+ }
330
+ else {
331
+ transactionData.transaction.referenceNumber = builder.terminalRefNumber;
332
+ }
174
333
  }
175
334
  requestData.data = transactionData;
176
335
  request.data = requestData;
177
336
  return TerminalUtils_1.TerminalUtils.buildUpaRequest(request);
178
337
  }
179
- isTokenRequestApplicable(transactionType) {
180
- switch (transactionType) {
181
- case src_1.TransactionType.Refund:
182
- return true;
183
- default:
184
- return false;
338
+ buildReportTransaction(builder) {
339
+ const requestId = this.requestIdProvider?.getRequestId();
340
+ const request = {
341
+ message: "MSG",
342
+ data: {
343
+ command: this.mapReportType(builder.reportType),
344
+ EcrId: builder.ecrId ?? this._interface?.ecrId,
345
+ requestId: requestId?.toString(),
346
+ },
347
+ };
348
+ if (builder.reportType === src_1.TerminalReportType.GetOpenTabDetails) {
349
+ return TerminalUtils_1.TerminalUtils.buildUpaRequest(request);
350
+ }
351
+ const params = {};
352
+ if (builder.reportOutput) {
353
+ params.reportOutput = builder.reportOutput;
354
+ }
355
+ if (builder.batch) {
356
+ params.batch = builder.batch;
357
+ }
358
+ if (builder.background &&
359
+ builder.reportType === src_1.TerminalReportType.GetSAFReport) {
360
+ params.background = builder.background;
361
+ }
362
+ if (builder.printReportType &&
363
+ (builder.reportType === src_1.TerminalReportType.GetBatchDetails ||
364
+ builder.reportType === src_1.TerminalReportType.GetBatchReport ||
365
+ builder.reportType === src_1.TerminalReportType.GetSAFReport)) {
366
+ params.reportType = builder.printReportType;
367
+ }
368
+ if (Object.keys(params).length > 0) {
369
+ request.data.data = { params };
185
370
  }
371
+ return TerminalUtils_1.TerminalUtils.buildUpaRequest(request);
186
372
  }
187
- mapTransactionType(type) {
373
+ mapTransactionType(type, modifier) {
188
374
  switch (type) {
189
375
  case src_1.TransactionType.Sale:
190
- return _1.UpaMessageId.SALE;
376
+ return UpaMessageId_1.UpaMessageId.SALE;
191
377
  case src_1.TransactionType.Auth:
192
- return _1.UpaMessageId.PRE_AUTH;
378
+ return UpaMessageId_1.UpaMessageId.PRE_AUTH;
193
379
  case src_1.TransactionType.Capture:
194
- return _1.UpaMessageId.AUTH_COMPLETION;
380
+ return UpaMessageId_1.UpaMessageId.AUTH_COMPLETION;
195
381
  case src_1.TransactionType.Refund:
196
- return _1.UpaMessageId.REFUND;
382
+ return UpaMessageId_1.UpaMessageId.REFUND;
197
383
  case src_1.TransactionType.Verify:
198
- return _1.UpaMessageId.CARD_VERIFY;
384
+ return UpaMessageId_1.UpaMessageId.CARD_VERIFY;
199
385
  case src_1.TransactionType.Void:
200
- return _1.UpaMessageId.VOID;
386
+ return UpaMessageId_1.UpaMessageId.VOID;
387
+ case src_1.TransactionType.Tokenize:
388
+ return UpaMessageId_1.UpaMessageId.TOKENIZE;
389
+ case src_1.TransactionType.Balance:
390
+ return UpaMessageId_1.UpaMessageId.BALANCE_INQUIRY;
391
+ case src_1.TransactionType.Reversal:
392
+ return UpaMessageId_1.UpaMessageId.REVERSAL;
393
+ case src_1.TransactionType.Edit:
394
+ if (modifier === src_1.TransactionModifier.UpdateLodgingDetails) {
395
+ return UpaMessageId_1.UpaMessageId.UPDATE_LODGING_DETAILS;
396
+ }
397
+ return UpaMessageId_1.UpaMessageId.TIPADJUST;
398
+ case src_1.TransactionType.Delete:
399
+ if (modifier === src_1.TransactionModifier.DeletePreAuth) {
400
+ return UpaMessageId_1.UpaMessageId.DELETE_PRE_AUTH;
401
+ }
402
+ throw new src_1.UnsupportedTransactionError("Delete transaction requires TransactionModifier.DeletePreAuth.");
201
403
  default:
202
404
  throw new src_1.UnsupportedTransactionError("The selected gateway does not support this transaction type.");
203
405
  }
204
406
  }
407
+ mapReportType(type) {
408
+ switch (type) {
409
+ case src_1.TerminalReportType.GetSAFReport:
410
+ return UpaMessageId_1.UpaMessageId.GET_SAF_REPORT;
411
+ case src_1.TerminalReportType.GetBatchReport:
412
+ return UpaMessageId_1.UpaMessageId.GET_BATCH_REPORT;
413
+ case src_1.TerminalReportType.GetBatchDetails:
414
+ return UpaMessageId_1.UpaMessageId.GET_BATCH_DETAILS;
415
+ case src_1.TerminalReportType.GetOpenTabDetails:
416
+ return UpaMessageId_1.UpaMessageId.GET_OPEN_TAB_DETAILS;
417
+ case src_1.TerminalReportType.FindBatches:
418
+ return UpaMessageId_1.UpaMessageId.AVAILABLE_BATCHES;
419
+ default:
420
+ throw new src_1.UnsupportedTransactionError("The selected gateway does not support this report type.");
421
+ }
422
+ }
423
+ /**
424
+ * Override DeviceController.send() to delegate to the connector.
425
+ * Mock responses are handled inside UpaMicInterface.send().
426
+ */
427
+ send(message, requestType) {
428
+ return super.send(message, requestType);
429
+ }
205
430
  async doTransaction(request) {
206
- const response = await this.connector.send(request);
431
+ const response = await this.send(request);
207
432
  if (!response) {
208
433
  throw new src_1.GatewayError("No gateway response!");
209
434
  }
210
435
  return new _1.TransactionResponse(response);
211
436
  }
437
+ formatAmount(value) {
438
+ return value !== undefined && value !== null ? value.toFixed(2) : undefined;
439
+ }
440
+ buildExtraChargeTypes(extraChargeTypes) {
441
+ if (!extraChargeTypes || extraChargeTypes.length === 0) {
442
+ return undefined;
443
+ }
444
+ const chargeTypes = new Array(10).fill(0);
445
+ extraChargeTypes.forEach((value) => {
446
+ if (value > 0 && value <= chargeTypes.length) {
447
+ chargeTypes[value - 1] = 1;
448
+ }
449
+ });
450
+ return chargeTypes;
451
+ }
452
+ isTipAdjust(builder) {
453
+ return (builder.transactionType === src_1.TransactionType.Edit &&
454
+ builder.gratuity !== undefined &&
455
+ builder.gratuity !== null);
456
+ }
457
+ configureConnector() {
458
+ switch (this._settings.connectionMode) {
459
+ case Enums_1.ConnectionModes.HTTP:
460
+ case Enums_1.ConnectionModes.SERIAL:
461
+ case Enums_1.ConnectionModes.SSL_TCP:
462
+ case Enums_1.ConnectionModes.MEET_IN_THE_CLOUD:
463
+ if (this._settings.gatewayConfig instanceof src_1.GpApiConfig) {
464
+ return new _1.UpaMicInterface(this._settings);
465
+ }
466
+ case Enums_1.ConnectionModes.TCP_IP:
467
+ default:
468
+ throw new src_1.NotImplementedError();
469
+ }
470
+ }
212
471
  }
213
472
  exports.UpaController = UpaController;
214
473
  //# sourceMappingURL=UpaController.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UpaController.js","sourceRoot":"","sources":["../../../../src/Terminals/UPA/UpaController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UpaController.js","sourceRoot":"","sources":["../../../../src/Terminals/UPA/UpaController.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,33 @@
1
- import { IDeviceResponse } from "../../../src";
2
- import { UpaController } from ".";
3
- import { TerminalManageBuilder } from "../Builders";
1
+ import { IDeviceResponse, IEODResponse, ISAFResponse, ISignatureResponse, POSData } from "../../../src";
2
+ import { BatchList, BatchReportResponse, OpenTabDetailsResponse, SafReportResponse, UpaController } from ".";
3
+ import { TerminalAuthBuilder, TerminalManageBuilder, TerminalReportBuilder } from "../Builders";
4
4
  import { DeviceInterface } from "../DeviceInterface";
5
+ import { UpaParam } from "../../Entities/UPA/UpaParam";
6
+ import { ProcessingIndicator } from "../../Entities/UPA/ProcessIndicator";
7
+ import { UpaTransactionData } from "../../Entities/UPA/UpaTransactionData";
5
8
  export declare class UpaInterface<T extends UpaController> extends DeviceInterface<UpaController> implements DeviceInterface<UpaController> {
6
9
  private readonly upaController;
7
10
  constructor(upaController: T);
11
+ private getUpaTransactionTypeValue;
8
12
  tipAdjust(amount: number): TerminalManageBuilder;
13
+ tokenize(): TerminalAuthBuilder;
14
+ endOfDay(): Promise<IEODResponse>;
15
+ sendStoreAndForward(printSafReports?: boolean): Promise<ISAFResponse>;
16
+ getSignature(prompt1: string, prompt2?: string, displayOption?: number): Promise<ISignatureResponse>;
17
+ ping(): Promise<IDeviceResponse>;
18
+ reboot(): Promise<IDeviceResponse>;
9
19
  lineItem(leftText: string, rightText?: string): Promise<IDeviceResponse>;
20
+ balance(): TerminalAuthBuilder;
21
+ reverse(): TerminalManageBuilder;
22
+ deletePreAuth(): TerminalManageBuilder;
23
+ updateLodginDetail(amount?: number): TerminalManageBuilder;
24
+ startCardTransaction(param?: UpaParam, indicator?: ProcessingIndicator, transData?: UpaTransactionData): Promise<IDeviceResponse>;
25
+ cancel(): Promise<void>;
26
+ deleteSaf(safReferenceNumber?: string, tranNo?: string): Promise<ISAFResponse>;
27
+ getSAFReport(): TerminalReportBuilder<SafReportResponse>;
28
+ getBatchReport(): TerminalReportBuilder<BatchReportResponse>;
29
+ getBatchDetails(batchId: string, printReport?: boolean): Promise<BatchReportResponse>;
30
+ getOpenTabDetails(): TerminalReportBuilder<OpenTabDetailsResponse>;
31
+ findBatches(): TerminalReportBuilder<BatchList>;
32
+ registerPOS(posData: POSData): Promise<IDeviceResponse>;
10
33
  }