@houlak/plexo-sdk 0.1.9 → 0.1.10-fx

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 (117) hide show
  1. package/lib/handler/PlexoHandler.d.ts +23 -12
  2. package/lib/handler/PlexoHandler.js +183 -33
  3. package/lib/index.d.ts +1 -0
  4. package/lib/index.js +4 -1
  5. package/lib/lib/logger.lib.js +3 -3
  6. package/lib/sdk/IPaymentGatewayClient.d.ts +10 -9
  7. package/lib/sdk/PaymentGatewayClient.d.ts +13 -12
  8. package/lib/sdk/PaymentGatewayClient.js +275 -196
  9. package/lib/sdk/PaymentGatewayMock.d.ts +2 -2
  10. package/lib/sdk/PaymentGatewayMock.js +2 -8
  11. package/lib/sdk/enums/plexo-error-enum.d.ts +1 -0
  12. package/lib/sdk/enums/plexo-error-enum.js +1 -0
  13. package/lib/sdk/helpers/signature/signatureHelper.d.ts +3 -7
  14. package/lib/sdk/helpers/signature/signatureHelper.js +67 -200
  15. package/lib/sdk/helpers/signature/signatureUtils.d.ts +10 -0
  16. package/lib/sdk/helpers/signature/signatureUtils.js +155 -0
  17. package/lib/sdk/helpers/signature/stringifyWithFloats.js +2 -0
  18. package/lib/sdk/mocks/mocks.js +3 -0
  19. package/lib/sdk/models/Authorization.d.ts +4 -5
  20. package/lib/sdk/models/Authorization.js +7 -1
  21. package/lib/sdk/models/BuiltInPagesOptions.d.ts +5 -0
  22. package/lib/sdk/models/BuiltInPagesOptions.js +11 -0
  23. package/lib/sdk/models/CodeRequest.d.ts +3 -2
  24. package/lib/sdk/models/CodeRequest.js +9 -0
  25. package/lib/sdk/models/CommerceIdRequest.d.ts +3 -2
  26. package/lib/sdk/models/CommerceIdRequest.js +8 -0
  27. package/lib/sdk/models/CommerceIssuerIdRequest.d.ts +3 -2
  28. package/lib/sdk/models/CommerceIssuerIdRequest.js +9 -0
  29. package/lib/sdk/models/CommerceModifyRequest.d.ts +3 -2
  30. package/lib/sdk/models/CommerceModifyRequest.js +9 -0
  31. package/lib/sdk/models/CommerceRequest.d.ts +3 -2
  32. package/lib/sdk/models/CommerceRequest.js +8 -0
  33. package/lib/sdk/models/CreateBankInstrumentRequest.d.ts +3 -2
  34. package/lib/sdk/models/CreateBankInstrumentRequest.js +10 -0
  35. package/lib/sdk/models/DisplayOptions.d.ts +8 -0
  36. package/lib/sdk/models/DisplayOptions.js +14 -0
  37. package/lib/sdk/models/ExpressCheckoutSettings.d.ts +7 -0
  38. package/lib/sdk/models/ExpressCheckoutSettings.js +11 -0
  39. package/lib/sdk/models/FieldType.d.ts +6 -0
  40. package/lib/sdk/models/FieldType.js +6 -0
  41. package/lib/sdk/models/FixedCustomData.d.ts +6 -0
  42. package/lib/sdk/models/FixedCustomData.js +12 -0
  43. package/lib/sdk/models/GenericSignedObject.d.ts +1 -1
  44. package/lib/sdk/models/GenericSignedObject.js +3 -3
  45. package/lib/sdk/models/GenericStateObject.d.ts +1 -1
  46. package/lib/sdk/models/GenericStateObject.js +3 -3
  47. package/lib/sdk/models/IndexSDK.d.ts +8 -6
  48. package/lib/sdk/models/IndexSDK.js +32 -14
  49. package/lib/sdk/models/InstrumentCallback.d.ts +2 -2
  50. package/lib/sdk/models/InstrumentCallback.js +5 -5
  51. package/lib/sdk/models/IssuerData.d.ts +6 -2
  52. package/lib/sdk/models/IssuerData.js +31 -0
  53. package/lib/sdk/models/TokenizationSettings.d.ts +5 -0
  54. package/lib/sdk/models/TokenizationSettings.js +10 -0
  55. package/lib/sdk/models/TransactionCallback.d.ts +3 -3
  56. package/lib/sdk/models/TransactionCallback.js +3 -3
  57. package/lib/sdk/models/TransactionQuery.d.ts +3 -2
  58. package/lib/sdk/models/TransactionQuery.js +11 -1
  59. package/lib/sdk/models/TransactionsCSV.d.ts +3 -0
  60. package/lib/sdk/models/TransactionsCSV.js +2 -0
  61. package/lib/sdk/models/UIOptions.d.ts +8 -0
  62. package/lib/sdk/models/UIOptions.js +13 -0
  63. package/lib/sdk/models/WebFormSettings.d.ts +9 -0
  64. package/lib/sdk/models/WebFormSettings.js +12 -0
  65. package/lib/sdk/models/webhook/Address.d.ts +9 -0
  66. package/lib/sdk/models/webhook/Address.js +15 -0
  67. package/lib/sdk/models/webhook/CancellationInfo.d.ts +11 -0
  68. package/lib/sdk/models/webhook/CancellationInfo.js +17 -0
  69. package/lib/sdk/models/webhook/Client.d.ts +9 -0
  70. package/lib/sdk/models/webhook/Client.js +14 -0
  71. package/lib/sdk/models/webhook/Commerce.d.ts +6 -0
  72. package/lib/sdk/models/webhook/Commerce.js +12 -0
  73. package/lib/sdk/models/webhook/Currency.d.ts +8 -0
  74. package/lib/sdk/models/webhook/Currency.js +14 -0
  75. package/lib/sdk/models/webhook/Customer.d.ts +17 -0
  76. package/lib/sdk/models/webhook/Customer.js +22 -0
  77. package/lib/sdk/models/webhook/Document.d.ts +5 -0
  78. package/lib/sdk/models/webhook/Document.js +11 -0
  79. package/lib/sdk/models/webhook/IndexWebhook.d.ts +21 -0
  80. package/lib/sdk/models/webhook/IndexWebhook.js +45 -0
  81. package/lib/sdk/models/webhook/Instrument.d.ts +17 -0
  82. package/lib/sdk/models/webhook/Instrument.js +21 -0
  83. package/lib/sdk/models/webhook/Issuer.d.ts +8 -0
  84. package/lib/sdk/models/webhook/Issuer.js +14 -0
  85. package/lib/sdk/models/webhook/IssuerData.d.ts +8 -0
  86. package/lib/sdk/models/webhook/IssuerData.js +13 -0
  87. package/lib/sdk/models/webhook/IssuerDto.d.ts +5 -0
  88. package/lib/sdk/models/webhook/IssuerDto.js +11 -0
  89. package/lib/sdk/models/webhook/Item.d.ts +14 -0
  90. package/lib/sdk/models/webhook/Item.js +19 -0
  91. package/lib/sdk/models/webhook/PartialRefundsInfo.d.ts +12 -0
  92. package/lib/sdk/models/webhook/PartialRefundsInfo.js +18 -0
  93. package/lib/sdk/models/webhook/PaymentFacilitator.d.ts +8 -0
  94. package/lib/sdk/models/webhook/PaymentFacilitator.js +13 -0
  95. package/lib/sdk/models/webhook/PaymentProcessor.d.ts +5 -0
  96. package/lib/sdk/models/webhook/PaymentProcessor.js +11 -0
  97. package/lib/sdk/models/webhook/PurchaseInfo.d.ts +16 -0
  98. package/lib/sdk/models/webhook/PurchaseInfo.js +22 -0
  99. package/lib/sdk/models/webhook/RefundInfo.d.ts +12 -0
  100. package/lib/sdk/models/webhook/RefundInfo.js +18 -0
  101. package/lib/sdk/models/webhook/ReserveInfo.d.ts +13 -0
  102. package/lib/sdk/models/webhook/ReserveInfo.js +19 -0
  103. package/lib/sdk/models/webhook/Shipping.d.ts +7 -0
  104. package/lib/sdk/models/webhook/Shipping.js +12 -0
  105. package/lib/sdk/models/webhook/Transaction.d.ts +31 -0
  106. package/lib/sdk/models/webhook/Transaction.js +36 -0
  107. package/lib/sdk/models/webhook/TransactionResult.d.ts +5 -0
  108. package/lib/sdk/models/webhook/TransactionResult.js +10 -0
  109. package/lib/sdk/models/webhook/index.d.ts +21 -0
  110. package/lib/sdk/models/webhook/index.js +45 -0
  111. package/lib/utils/boolean.utils.d.ts +4 -0
  112. package/lib/utils/boolean.utils.js +53 -0
  113. package/lib/utils/case.util.d.ts +4 -0
  114. package/lib/utils/case.util.js +61 -0
  115. package/lib/utils/index.d.ts +1 -0
  116. package/lib/utils/index.js +5 -0
  117. package/package.json +3 -3
@@ -50,19 +50,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
50
50
  exports.PaymentGatewayClient = void 0;
51
51
  var axios_1 = require("axios");
52
52
  var logger_lib_1 = require("../lib/logger.lib");
53
- var config_1 = require("../config/config");
54
53
  var signatureHelper_1 = require("./helpers/signature/signatureHelper");
54
+ var utils_1 = require("../utils");
55
55
  var client = axios_1.default.create({
56
- baseURL: config_1.config.plexoUrl,
56
+ baseURL: "https://testing.plexo.com.uy:4043/SecurePaymentGateway.svc",
57
57
  });
58
- var requestToPlexo = function (endpoint, request) { return __awaiter(void 0, void 0, void 0, function () {
58
+ var requestToPlexo = function (endpoint, request, fixedCustomData) { return __awaiter(void 0, void 0, void 0, function () {
59
59
  var object, stateObject, signedClientRequest, data, err_1;
60
60
  return __generator(this, function (_a) {
61
61
  switch (_a.label) {
62
62
  case 0:
63
63
  _a.trys.push([0, 3, , 4]);
64
64
  object = {
65
- client: config_1.config.plexoClient.clientName,
65
+ client: fixedCustomData.plexoClientName,
66
66
  request: request,
67
67
  };
68
68
  stateObject = {
@@ -70,16 +70,16 @@ var requestToPlexo = function (endpoint, request) { return __awaiter(void 0, voi
70
70
  utcUnixTimeExpiration: Date.parse(new Date().toString()),
71
71
  object: object,
72
72
  };
73
- return [4 /*yield*/, signatureHelper_1.SignatureHelper.getSignatureFromPlexo(stateObject)];
73
+ return [4 /*yield*/, signatureHelper_1.SignatureHelper.signRequest(stateObject, fixedCustomData.plexoCertificatePassword, fixedCustomData.plexoCertificatePath)];
74
74
  case 1:
75
75
  signedClientRequest = _a.sent();
76
- logger_lib_1.default.debug("URL PX --> ".concat(endpoint));
77
- logger_lib_1.default.debug("SIGNED CLIENT REQUEST --> ".concat(JSON.stringify(signedClientRequest)));
76
+ logger_lib_1.default.debug("URL PX: ".concat(endpoint));
77
+ logger_lib_1.default.debug(signedClientRequest, 'Signed client request');
78
78
  return [4 /*yield*/, client.post(endpoint, __assign({}, signedClientRequest))];
79
79
  case 2:
80
80
  data = (_a.sent()).data;
81
81
  logger_lib_1.default.debug({ data: data });
82
- return [2 /*return*/, signatureHelper_1.SignatureHelper.toCamelKeys(data.Object.Object)];
82
+ return [2 /*return*/, utils_1.caseUtils.toCamelKeys(data.Object.Object)];
83
83
  case 3:
84
84
  err_1 = _a.sent();
85
85
  logger_lib_1.default.error({ err: err_1 });
@@ -91,242 +91,323 @@ var requestToPlexo = function (endpoint, request) { return __awaiter(void 0, voi
91
91
  var PaymentGatewayClient = /** @class */ (function () {
92
92
  function PaymentGatewayClient() {
93
93
  }
94
- PaymentGatewayClient.prototype.AddCommerceAsync = function (commerce) {
95
- return __awaiter(this, void 0, void 0, function () {
96
- return __generator(this, function (_a) {
97
- switch (_a.label) {
98
- case 0: return [4 /*yield*/, requestToPlexo('/Commerce/Add', commerce)];
99
- case 1: return [2 /*return*/, _a.sent()];
100
- }
101
- });
102
- });
103
- };
104
94
  PaymentGatewayClient.prototype.AddIssuerCommerceAsync = function (issuerData) {
105
- return __awaiter(this, void 0, void 0, function () {
106
- return __generator(this, function (_a) {
107
- switch (_a.label) {
108
- case 0: return [4 /*yield*/, requestToPlexo('/Commerce/Issuer/Add', issuerData)];
109
- case 1: return [2 /*return*/, _a.sent()];
110
- }
111
- });
112
- });
95
+ throw new Error('Method not implemented.');
113
96
  };
114
97
  PaymentGatewayClient.prototype.DeleteCommerceAsync = function (commerceIdRequest) {
115
- return __awaiter(this, void 0, void 0, function () {
116
- return __generator(this, function (_a) {
117
- switch (_a.label) {
118
- case 0: return [4 /*yield*/, requestToPlexo('/Commerce/Delete', commerceIdRequest)];
119
- case 1: return [2 /*return*/, _a.sent()];
120
- }
121
- });
122
- });
98
+ throw new Error('Method not implemented.');
123
99
  };
124
100
  PaymentGatewayClient.prototype.DeleteInstrumentAsync = function (info) {
125
- return __awaiter(this, void 0, void 0, function () {
126
- return __generator(this, function (_a) {
127
- switch (_a.label) {
128
- case 0: return [4 /*yield*/, requestToPlexo('/Instruments/Delete', info)];
129
- case 1: return [2 /*return*/, _a.sent()];
130
- }
131
- });
132
- });
101
+ throw new Error('Method not implemented.');
133
102
  };
134
103
  PaymentGatewayClient.prototype.DeleteIssuerCommerceAsync = function (commerceIssuerIdRequest) {
135
- return __awaiter(this, void 0, void 0, function () {
136
- return __generator(this, function (_a) {
137
- switch (_a.label) {
138
- case 0: return [4 /*yield*/, requestToPlexo('/Commerce/Issuer/Delete', commerceIssuerIdRequest)];
139
- case 1: return [2 /*return*/, _a.sent()];
140
- }
141
- });
142
- });
104
+ throw new Error('Method not implemented.');
143
105
  };
144
106
  PaymentGatewayClient.prototype.GetCommerceIssuersAsync = function (commerceIdRequest) {
145
- return __awaiter(this, void 0, void 0, function () {
146
- return __generator(this, function (_a) {
147
- switch (_a.label) {
148
- case 0: return [4 /*yield*/, requestToPlexo('/Commerce/Issuer', commerceIdRequest)];
149
- case 1: return [2 /*return*/, _a.sent()];
150
- }
151
- });
152
- });
107
+ throw new Error('Method not implemented.');
153
108
  };
154
- PaymentGatewayClient.prototype.GetCommercesAsync = function () {
155
- return __awaiter(this, void 0, void 0, function () {
156
- return __generator(this, function (_a) {
157
- switch (_a.label) {
158
- case 0: return [4 /*yield*/, requestToPlexo('/Commerce', '')];
159
- case 1: return [2 /*return*/, _a.sent()];
160
- }
161
- });
162
- });
109
+ PaymentGatewayClient.prototype.GetCommercesAsync = function (fixedCustomData) {
110
+ throw new Error('Method not implemented.');
163
111
  };
164
- PaymentGatewayClient.prototype.GetSupportedIssuersAsync = function () {
165
- return __awaiter(this, void 0, void 0, function () {
166
- return __generator(this, function (_a) {
167
- switch (_a.label) {
168
- case 0: return [4 /*yield*/, requestToPlexo('/Issuer', '')];
169
- case 1: return [2 /*return*/, _a.sent()];
170
- }
171
- });
172
- });
112
+ PaymentGatewayClient.prototype.GetSupportedIssuersAsync = function (fixedCustomData) {
113
+ throw new Error('Method not implemented.');
173
114
  };
174
- PaymentGatewayClient.prototype.GetSupportedPaymentProcessorsAsync = function () {
175
- return __awaiter(this, void 0, void 0, function () {
176
- return __generator(this, function (_a) {
177
- switch (_a.label) {
178
- case 0: return [4 /*yield*/, requestToPlexo('/PaymentProcessors', '')];
179
- case 1: return [2 /*return*/, _a.sent()];
180
- }
181
- });
182
- });
115
+ PaymentGatewayClient.prototype.GetSupportedPaymentProcessorsAsync = function (fixedCustomData) {
116
+ throw new Error('Method not implemented.');
183
117
  };
184
118
  PaymentGatewayClient.prototype.ModifyCommerceAsync = function (commerceModifyRequest) {
185
- return __awaiter(this, void 0, void 0, function () {
186
- return __generator(this, function (_a) {
187
- switch (_a.label) {
188
- case 0: return [4 /*yield*/, requestToPlexo('/Commerce/Modify', commerceModifyRequest)];
189
- case 1: return [2 /*return*/, _a.sent()];
190
- }
191
- });
192
- });
119
+ throw new Error('Method not implemented.');
193
120
  };
194
121
  PaymentGatewayClient.prototype.GetInstrumentsAsync = function (authorizationInfo) {
195
- return __awaiter(this, void 0, void 0, function () {
196
- return __generator(this, function (_a) {
197
- switch (_a.label) {
198
- case 0: return [4 /*yield*/, requestToPlexo('/Instruments', authorizationInfo)];
199
- case 1: return [2 /*return*/, _a.sent()];
200
- }
201
- });
202
- });
122
+ throw new Error('Method not implemented.');
203
123
  };
204
124
  PaymentGatewayClient.prototype.SetDefaultCommerceAsync = function (commerceIdRequest) {
205
- return __awaiter(this, void 0, void 0, function () {
206
- return __generator(this, function (_a) {
207
- switch (_a.label) {
208
- case 0: return [4 /*yield*/, requestToPlexo('/Commerce/SetDefault', commerceIdRequest)];
209
- case 1: return [2 /*return*/, _a.sent()];
210
- }
211
- });
212
- });
125
+ throw new Error('Method not implemented.');
213
126
  };
214
127
  PaymentGatewayClient.prototype.AuthorizeAsync = function (authorization) {
215
- return __awaiter(this, void 0, void 0, function () {
216
- return __generator(this, function (_a) {
217
- switch (_a.label) {
218
- case 0: return [4 /*yield*/, requestToPlexo('/Auth', authorization)];
219
- case 1: return [2 /*return*/, _a.sent()];
220
- }
221
- });
222
- });
128
+ throw new Error('Method not implemented.');
223
129
  };
224
130
  PaymentGatewayClient.prototype.CancelAsync = function (cancel) {
225
- return __awaiter(this, void 0, void 0, function () {
226
- return __generator(this, function (_a) {
227
- switch (_a.label) {
228
- case 0: return [4 /*yield*/, requestToPlexo('/Operation/Cancel', cancel)];
229
- case 1: return [2 /*return*/, _a.sent()];
230
- }
231
- });
232
- });
131
+ throw new Error('Method not implemented.');
233
132
  };
234
133
  PaymentGatewayClient.prototype.CodeActionAsync = function (request) {
235
- return __awaiter(this, void 0, void 0, function () {
236
- return __generator(this, function (_a) {
237
- switch (_a.label) {
238
- case 0: return [4 /*yield*/, requestToPlexo('/Code', request)];
239
- case 1: return [2 /*return*/, _a.sent()];
240
- }
241
- });
242
- });
134
+ throw new Error('Method not implemented.');
243
135
  };
244
136
  PaymentGatewayClient.prototype.StartReserveAsync = function (payment) {
245
- return __awaiter(this, void 0, void 0, function () {
246
- return __generator(this, function (_a) {
247
- switch (_a.label) {
248
- case 0: return [4 /*yield*/, requestToPlexo('/Operation/StartReserve', payment)];
249
- case 1: return [2 /*return*/, _a.sent()];
250
- }
251
- });
252
- });
137
+ throw new Error('Method not implemented.');
253
138
  };
254
139
  PaymentGatewayClient.prototype.StatusAsync = function (payment) {
255
- return __awaiter(this, void 0, void 0, function () {
256
- return __generator(this, function (_a) {
257
- switch (_a.label) {
258
- case 0: return [4 /*yield*/, requestToPlexo('/Operation/Status', payment)];
259
- case 1: return [2 /*return*/, _a.sent()];
260
- }
261
- });
262
- });
263
- };
264
- PaymentGatewayClient.prototype.ExpressCheckoutAsync = function (expressCheckout) {
265
- return __awaiter(this, void 0, void 0, function () {
266
- return __generator(this, function (_a) {
267
- switch (_a.label) {
268
- case 0: return [4 /*yield*/, requestToPlexo('/ExpressCheckout', expressCheckout)];
269
- case 1: return [2 /*return*/, _a.sent()];
270
- }
271
- });
272
- });
140
+ throw new Error('Method not implemented.');
273
141
  };
274
142
  PaymentGatewayClient.prototype.ObtainCsvTransactionsAsync = function (query) {
275
- return __awaiter(this, void 0, void 0, function () {
276
- return __generator(this, function (_a) {
277
- switch (_a.label) {
278
- case 0: return [4 /*yield*/, requestToPlexo('/ExpressCheckout', query)];
279
- case 1: return [2 /*return*/, _a.sent()];
280
- }
281
- });
282
- });
143
+ throw new Error('Method not implemented.');
283
144
  };
284
145
  PaymentGatewayClient.prototype.ObtainTransactionsAsync = function (query) {
285
- return __awaiter(this, void 0, void 0, function () {
286
- return __generator(this, function (_a) {
287
- switch (_a.label) {
288
- case 0: return [4 /*yield*/, requestToPlexo('/Transactions', query)];
289
- case 1: return [2 /*return*/, _a.sent()];
290
- }
291
- });
292
- });
146
+ throw new Error('Method not implemented.');
293
147
  };
294
148
  PaymentGatewayClient.prototype.PurchaseAsync = function (payment) {
295
- return __awaiter(this, void 0, void 0, function () {
296
- return __generator(this, function (_a) {
297
- switch (_a.label) {
298
- case 0: return [4 /*yield*/, requestToPlexo('/Operation/Purchase', payment)];
299
- case 1: return [2 /*return*/, _a.sent()];
300
- }
301
- });
302
- });
149
+ throw new Error('Method not implemented.');
303
150
  };
304
151
  PaymentGatewayClient.prototype.CreateBankInstrumentAsync = function (request) {
152
+ throw new Error('Method not implemented.');
153
+ };
154
+ PaymentGatewayClient.prototype.EndReserveAsync = function (reserve) {
155
+ throw new Error('Method not implemented.');
156
+ };
157
+ PaymentGatewayClient.prototype.AddCommerceAsync = function (commerce, fixedCustomData) {
305
158
  return __awaiter(this, void 0, void 0, function () {
306
159
  return __generator(this, function (_a) {
307
160
  switch (_a.label) {
308
- case 0: return [4 /*yield*/, requestToPlexo('/Instruments/Bank', request)];
161
+ case 0: return [4 /*yield*/, requestToPlexo('/Commerce/Add', commerce, fixedCustomData)];
309
162
  case 1: return [2 /*return*/, _a.sent()];
310
163
  }
311
164
  });
312
165
  });
313
166
  };
314
- PaymentGatewayClient.prototype.EndReserveAsync = function (reserve) {
167
+ /*async AddIssuerCommerceAsync(issuerData: IssuerData): Promise<ServerResponse<IssuerData>> {
168
+ return await requestToPlexo<IssuerData, ServerResponse<IssuerData>>(
169
+ '/Commerce/Issuer/Add',
170
+ issuerData,
171
+ issuerData.plexoClientName,
172
+ issuerData.plexoCertificatePassword,
173
+ issuerData.plexoCertificatePath,
174
+ )
175
+ }
176
+
177
+ async DeleteCommerceAsync(
178
+ commerceIdRequest: CommerceIdRequest,
179
+ ): Promise<ServerResponse<BaseServerResponse>> {
180
+ return await requestToPlexo<CommerceIdRequest, ServerResponse<BaseServerResponse>>(
181
+ '/Commerce/Delete',
182
+ commerceIdRequest,
183
+ commerceIdRequest.plexoClientName,
184
+ commerceIdRequest.plexoCertificatePassword,
185
+ commerceIdRequest.plexoCertificatePath,
186
+ )
187
+ }
188
+
189
+ async DeleteInstrumentAsync(
190
+ info: DeleteInstrumentRequest,
191
+ ): Promise<ServerResponse<BaseServerResponse>> {
192
+ return await requestToPlexo<DeleteInstrumentRequest, ServerResponse<BaseServerResponse>>(
193
+ '/Instruments/Delete',
194
+ info,
195
+ info.plexoClientName,
196
+ info.plexoCertificatePassword,
197
+ info.plexoCertificatePath,
198
+ )
199
+ }
200
+
201
+ async DeleteIssuerCommerceAsync(
202
+ commerceIssuerIdRequest: CommerceIssuerIdRequest,
203
+ ): Promise<ServerResponse<BaseServerResponse>> {
204
+ return await requestToPlexo<CommerceIssuerIdRequest, ServerResponse<BaseServerResponse>>(
205
+ '/Commerce/Issuer/Delete',
206
+ commerceIssuerIdRequest,
207
+ commerceIssuerIdRequest.plexoClientName,
208
+ commerceIssuerIdRequest.plexoCertificatePassword,
209
+ commerceIssuerIdRequest.plexoCertificatePath,
210
+ )
211
+ }
212
+
213
+ async GetCommerceIssuersAsync(
214
+ commerceIdRequest: CommerceIdRequest,
215
+ ): Promise<ServerResponse<IssuerData[]>> {
216
+ return await requestToPlexo<CommerceIdRequest, ServerResponse<IssuerData[]>>(
217
+ '/Commerce/Issuer',
218
+ commerceIdRequest,
219
+ commerceIdRequest.plexoClientName,
220
+ commerceIdRequest.plexoCertificatePassword,
221
+ commerceIdRequest.plexoCertificatePath,
222
+ )
223
+ }
224
+
225
+ async GetCommercesAsync(fixedCustomData: FixedCustomData): Promise<ServerResponse<Commerce[]>> {
226
+ return await requestToPlexo<string, ServerResponse<Commerce[]>>(
227
+ '/Commerce',
228
+ '',
229
+ fixedCustomData.plexoClientName,
230
+ fixedCustomData.plexoCertificatePassword,
231
+ fixedCustomData.plexoCertificatePath,
232
+ )
233
+ }
234
+
235
+ async GetSupportedIssuersAsync(
236
+ fixedCustomData: FixedCustomData,
237
+ ): Promise<ServerResponse<IssuerInfo[]>> {
238
+ return await requestToPlexo<string, ServerResponse<IssuerInfo[]>>(
239
+ '/Issuer',
240
+ '',
241
+ fixedCustomData.plexoClientName,
242
+ fixedCustomData.plexoCertificatePassword,
243
+ fixedCustomData.plexoCertificatePath,
244
+ )
245
+ }
246
+
247
+ async GetSupportedPaymentProcessorsAsync(
248
+ fixedCustomData: FixedCustomData,
249
+ ): Promise<ServerResponse<IssuerProcessor[]>> {
250
+ return await requestToPlexo<string, ServerResponse<IssuerProcessor[]>>(
251
+ '/PaymentProcessors',
252
+ '',
253
+ fixedCustomData.plexoClientName,
254
+ fixedCustomData.plexoCertificatePassword,
255
+ fixedCustomData.plexoCertificatePath,
256
+ )
257
+ }
258
+
259
+ async ModifyCommerceAsync(
260
+ commerceModifyRequest: CommerceModifyRequest,
261
+ ): Promise<ServerResponse<Commerce>> {
262
+ return await requestToPlexo<CommerceModifyRequest, ServerResponse<Commerce>>(
263
+ '/Commerce/Modify',
264
+ commerceModifyRequest,
265
+ commerceModifyRequest.plexoClientName,
266
+ commerceModifyRequest.plexoCertificatePassword,
267
+ commerceModifyRequest.plexoCertificatePath,
268
+ )
269
+ }
270
+
271
+ async GetInstrumentsAsync(
272
+ authorizationInfo: AuthorizationInfo,
273
+ ): Promise<ServerResponse<PaymentInstrument[]>> {
274
+ return await requestToPlexo<AuthorizationInfo, ServerResponse<PaymentInstrument[]>>(
275
+ '/Instruments',
276
+ authorizationInfo,
277
+ authorizationInfo.plexoClientName,
278
+ authorizationInfo.plexoCertificatePassword,
279
+ authorizationInfo.plexoCertificatePath,
280
+ )
281
+ }
282
+
283
+ async SetDefaultCommerceAsync(commerceIdRequest: CommerceIdRequest): Promise<BaseServerResponse> {
284
+ return await requestToPlexo<CommerceIdRequest, BaseServerResponse>(
285
+ '/Commerce/SetDefault',
286
+ commerceIdRequest,
287
+ commerceIdRequest.plexoClientName,
288
+ commerceIdRequest.plexoCertificatePassword,
289
+ commerceIdRequest.plexoCertificatePath,
290
+ )
291
+ }
292
+
293
+ async AuthorizeAsync(authorization: Authorization): Promise<ServerResponse<Session>> {
294
+ return await requestToPlexo<Authorization, ServerResponse<Session>>(
295
+ '/Auth',
296
+ authorization,
297
+ authorization.plexoClientName,
298
+ authorization.plexoCertificatePassword,
299
+ authorization.plexoCertificatePath,
300
+ )
301
+ }
302
+
303
+ async CancelAsync(cancel: CancelRequest): Promise<ServerResponse<Transaction>> {
304
+ return await requestToPlexo<CancelRequest, ServerResponse<Transaction>>(
305
+ '/Operation/Cancel',
306
+ cancel,
307
+ cancel.plexoClientName,
308
+ cancel.plexoCertificatePassword,
309
+ cancel.plexoCertificatePath,
310
+ )
311
+ }
312
+
313
+ async CodeActionAsync(request: CodeRequest): Promise<ServerResponse<Transaction>> {
314
+ return await requestToPlexo<CodeRequest, ServerResponse<Transaction>>(
315
+ '/Code',
316
+ request,
317
+ request.plexoClientName,
318
+ request.plexoCertificatePassword,
319
+ request.plexoCertificatePath,
320
+ )
321
+ }
322
+
323
+ async StartReserveAsync(payment: ReserveRequest): Promise<ServerResponse<Transaction>> {
324
+ return await requestToPlexo<ReserveRequest, ServerResponse<Transaction>>(
325
+ '/Operation/StartReserve',
326
+ payment,
327
+ payment.plexoClientName,
328
+ payment.plexoCertificatePassword,
329
+ payment.plexoCertificatePath,
330
+ )
331
+ }
332
+
333
+ async StatusAsync(payment: Reference): Promise<ServerResponse<Transaction>> {
334
+ return await requestToPlexo<Reference, ServerResponse<Transaction>>(
335
+ '/Operation/Status',
336
+ payment,
337
+ payment.plexoClientName,
338
+ payment.plexoCertificatePassword,
339
+ payment.plexoCertificatePath,
340
+ )
341
+ }*/
342
+ PaymentGatewayClient.prototype.ExpressCheckoutAsync = function (expressCheckout, fixedCustomData) {
315
343
  return __awaiter(this, void 0, void 0, function () {
316
344
  return __generator(this, function (_a) {
317
345
  switch (_a.label) {
318
- case 0: return [4 /*yield*/, requestToPlexo('/Operation/EndReserve', reserve)];
346
+ case 0: return [4 /*yield*/, requestToPlexo('/ExpressCheckout', expressCheckout, fixedCustomData)];
319
347
  case 1: return [2 /*return*/, _a.sent()];
320
348
  }
321
349
  });
322
350
  });
323
351
  };
324
- PaymentGatewayClient.prototype.UnwrapInstrumentCallbackAsync = function (serverSignedInstrumentCallback) {
352
+ /*async ObtainCsvTransactionsAsync(query: TransactionQuery): Promise<ServerResponse<string>> {
353
+ return await requestToPlexo<TransactionQuery, ServerResponse<string>>(
354
+ '/ExpressCheckout',
355
+ query,
356
+ query.plexoClientName,
357
+ query.plexoCertificatePassword,
358
+ query.plexoCertificatePath,
359
+ )
360
+ }
361
+
362
+ async ObtainTransactionsAsync(
363
+ query: TransactionQuery,
364
+ ): Promise<ServerResponse<TransactionCursor>> {
365
+ return await requestToPlexo<TransactionQuery, ServerResponse<TransactionCursor>>(
366
+ '/Transactions',
367
+ query,
368
+ query.plexoClientName,
369
+ query.plexoCertificatePassword,
370
+ query.plexoCertificatePath,
371
+ )
372
+ }
373
+
374
+ async PurchaseAsync(payment: PaymentRequest): Promise<ServerResponse<Transaction>> {
375
+ return await requestToPlexo<PaymentRequest, ServerResponse<Transaction>>(
376
+ '/Operation/Purchase',
377
+ payment,
378
+ payment.plexoClientName,
379
+ payment.plexoCertificatePassword,
380
+ payment.plexoCertificatePath,
381
+ )
382
+ }
383
+
384
+ async CreateBankInstrumentAsync(
385
+ request: CreateBankInstrumentRequest,
386
+ ): Promise<ServerResponse<PaymentInstrument>> {
387
+ return await requestToPlexo<CreateBankInstrumentRequest, ServerResponse<PaymentInstrument>>(
388
+ '/Instruments/Bank',
389
+ request,
390
+ request.plexoClientName,
391
+ request.plexoCertificatePassword,
392
+ request.plexoCertificatePath,
393
+ )
394
+ }
395
+
396
+ async EndReserveAsync(reserve: Reserve): Promise<ServerResponse<Transaction>> {
397
+ return await requestToPlexo<Reserve, ServerResponse<Transaction>>(
398
+ '/Operation/EndReserve',
399
+ reserve,
400
+ reserve.plexoClientName,
401
+ reserve.plexoCertificatePassword,
402
+ reserve.plexoCertificatePath,
403
+ )
404
+ }*/
405
+ PaymentGatewayClient.prototype.UnwrapInstrumentCallbackAsync = function (serverSignedInstrumentCallback, plexoUrl) {
325
406
  return __awaiter(this, void 0, void 0, function () {
326
407
  var verify;
327
408
  return __generator(this, function (_a) {
328
409
  switch (_a.label) {
329
- case 0: return [4 /*yield*/, signatureHelper_1.SignatureHelper.getPlexoSignature(serverSignedInstrumentCallback.object.fingerprint, serverSignedInstrumentCallback)];
410
+ case 0: return [4 /*yield*/, signatureHelper_1.SignatureHelper.unwrapCallback(serverSignedInstrumentCallback.object.fingerprint, serverSignedInstrumentCallback, plexoUrl)];
330
411
  case 1:
331
412
  verify = _a.sent();
332
413
  return [2 /*return*/, verify];
@@ -334,14 +415,12 @@ var PaymentGatewayClient = /** @class */ (function () {
334
415
  });
335
416
  });
336
417
  };
337
- PaymentGatewayClient.prototype.UnwrapTransactionCallbackAsync = function (serverSignedTransactionCallback) {
418
+ PaymentGatewayClient.prototype.UnwrapTransactionCallbackAsync = function (serverSignedTransactionCallback, plexoUrl) {
338
419
  return __awaiter(this, void 0, void 0, function () {
339
420
  var verify;
340
421
  return __generator(this, function (_a) {
341
422
  switch (_a.label) {
342
- case 0:
343
- logger_lib_1.default.info("SERVER SIGNED CALLBACK --> ".concat(JSON.stringify(serverSignedTransactionCallback)));
344
- return [4 /*yield*/, signatureHelper_1.SignatureHelper.getPlexoSignature(serverSignedTransactionCallback.object.fingerprint, serverSignedTransactionCallback)];
423
+ case 0: return [4 /*yield*/, signatureHelper_1.SignatureHelper.unwrapCallback(serverSignedTransactionCallback.object.fingerprint, serverSignedTransactionCallback, plexoUrl)];
345
424
  case 1:
346
425
  verify = _a.sent();
347
426
  return [2 /*return*/, verify];
@@ -349,12 +428,12 @@ var PaymentGatewayClient = /** @class */ (function () {
349
428
  });
350
429
  });
351
430
  };
352
- PaymentGatewayClient.prototype.SignInstrumentCallback = function (serverResponse) {
431
+ PaymentGatewayClient.prototype.SignInstrumentCallback = function (serverResponse, plexoCertificatePath, plexoCertificatePassword) {
353
432
  return __awaiter(this, void 0, void 0, function () {
354
433
  var response;
355
434
  return __generator(this, function (_a) {
356
435
  switch (_a.label) {
357
- case 0: return [4 /*yield*/, signatureHelper_1.SignatureHelper.getSignatureFromCallback(serverResponse)];
436
+ case 0: return [4 /*yield*/, signatureHelper_1.SignatureHelper.signCallback(serverResponse, plexoCertificatePath, plexoCertificatePassword)];
358
437
  case 1:
359
438
  response = _a.sent();
360
439
  return [2 /*return*/, response];
@@ -362,12 +441,12 @@ var PaymentGatewayClient = /** @class */ (function () {
362
441
  });
363
442
  });
364
443
  };
365
- PaymentGatewayClient.prototype.SignTransactionCallback = function (serverResponse) {
444
+ PaymentGatewayClient.prototype.SignTransactionCallback = function (serverResponse, plexoCertificatePath, plexoCertificatePassword) {
366
445
  return __awaiter(this, void 0, void 0, function () {
367
446
  var response;
368
447
  return __generator(this, function (_a) {
369
448
  switch (_a.label) {
370
- case 0: return [4 /*yield*/, signatureHelper_1.SignatureHelper.getSignatureFromCallback(serverResponse)];
449
+ case 0: return [4 /*yield*/, signatureHelper_1.SignatureHelper.signCallback(serverResponse, plexoCertificatePath, plexoCertificatePassword)];
371
450
  case 1:
372
451
  response = _a.sent();
373
452
  return [2 /*return*/, response];
@@ -26,6 +26,6 @@ export declare class PaymentGatewayMock implements IPaymentGatewayClient {
26
26
  EndReserveAsync(reserve: Reserve): Promise<ServerResponse<Transaction>>;
27
27
  UnwrapInstrumentCallbackAsync(serverSignedInstrumentCallback: ServerSignedCallback<InstrumentCallback>): Promise<ServerResponse<InstrumentCallback>>;
28
28
  UnwrapTransactionCallbackAsync(serverSignedTransactionCallback: ServerSignedCallback<TransactionCallback>): Promise<ServerResponse<TransactionCallback>>;
29
- SignInstrumentCallback(serverResponse: ServerResponse<InstrumentCallback>): Promise<ServerResponse<ClientSignedResponse>>;
30
- SignTransactionCallback(serverResponse: ServerResponse<TransactionCallback>): Promise<ServerResponse<ClientSignedResponse>>;
29
+ SignInstrumentCallback(serverResponse: ServerResponse<InstrumentCallback>): Promise<ClientSignedResponse>;
30
+ SignTransactionCallback(serverResponse: ServerResponse<TransactionCallback>): Promise<ClientSignedResponse>;
31
31
  }
@@ -314,20 +314,14 @@ var PaymentGatewayMock = /** @class */ (function () {
314
314
  PaymentGatewayMock.prototype.SignInstrumentCallback = function (serverResponse) {
315
315
  return __awaiter(this, void 0, void 0, function () {
316
316
  return __generator(this, function (_a) {
317
- return [2 /*return*/, {
318
- resultCode: IndexSDK_1.ResultCodes.Ok,
319
- response: mocks_1.mocks.clientSignedResponseMock,
320
- }];
317
+ return [2 /*return*/, mocks_1.mocks.clientSignedResponseMock];
321
318
  });
322
319
  });
323
320
  };
324
321
  PaymentGatewayMock.prototype.SignTransactionCallback = function (serverResponse) {
325
322
  return __awaiter(this, void 0, void 0, function () {
326
323
  return __generator(this, function (_a) {
327
- return [2 /*return*/, {
328
- resultCode: IndexSDK_1.ResultCodes.Ok,
329
- response: mocks_1.mocks.clientSignedResponseMock,
330
- }];
324
+ return [2 /*return*/, mocks_1.mocks.clientSignedResponseMock];
331
325
  });
332
326
  });
333
327
  };
@@ -1,4 +1,5 @@
1
1
  export declare enum PlexoErrorEnum {
2
+ CommerceAlreadyExists = 25,
2
3
  ExceptionHandlingTransaction = 1200,
3
4
  PlexoAuthorizationError = 1201,
4
5
  InstrumentNotFound = 1202,
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PlexoErrorEnum = void 0;
4
4
  var PlexoErrorEnum;
5
5
  (function (PlexoErrorEnum) {
6
+ PlexoErrorEnum[PlexoErrorEnum["CommerceAlreadyExists"] = 25] = "CommerceAlreadyExists";
6
7
  PlexoErrorEnum[PlexoErrorEnum["ExceptionHandlingTransaction"] = 1200] = "ExceptionHandlingTransaction";
7
8
  PlexoErrorEnum[PlexoErrorEnum["PlexoAuthorizationError"] = 1201] = "PlexoAuthorizationError";
8
9
  PlexoErrorEnum[PlexoErrorEnum["InstrumentNotFound"] = 1202] = "InstrumentNotFound";
@@ -1,10 +1,6 @@
1
1
  import { ClientSignedResponse, GenericSignedObject, GenericStateObject, InstrumentCallback, ServerResponse, TransactionCallback } from '../..';
2
- import { Certificate } from '../../types/signatureHelper.type';
3
- export declare const canonizeJson: <T>(object: T) => T;
4
2
  export declare const SignatureHelper: {
5
- getCertificate: () => Promise<Certificate>;
6
- getSignatureFromPlexo: <T extends object>(objectToSign: GenericStateObject<T>) => Promise<GenericSignedObject<T>>;
7
- getSignatureFromCallback: (response: ServerResponse<InstrumentCallback | TransactionCallback>) => Promise<ServerResponse<ClientSignedResponse>>;
8
- getPlexoSignature: <T_1 extends object>(fingerprint: string, response: GenericSignedObject<T_1>) => Promise<ServerResponse<T_1>>;
9
- toCamelKeys: <T_2 extends object>(object: T_2) => T_2;
3
+ signRequest: <T extends object>(objectToSign: GenericStateObject<T>, plexoCertificatePassword: string, plexoCertificatePath: string) => Promise<GenericSignedObject<T>>;
4
+ unwrapCallback: <T_1 extends object>(fingerprint: string, response: GenericSignedObject<T_1>, plexoUrl: string) => Promise<ServerResponse<T_1>>;
5
+ signCallback: (response: ServerResponse<InstrumentCallback | TransactionCallback>, plexoCertificatePath: string, plexoCertificatePassword: string) => Promise<ClientSignedResponse>;
10
6
  };