@pixelpay/sdk-core 2.1.0 → 2.1.3-beta.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 (37) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/lib/base/Helpers.d.ts +1 -1
  3. package/lib/base/Helpers.js +4 -3
  4. package/lib/base/Helpers.js.map +1 -1
  5. package/lib/base/RequestBehaviour.d.ts +18 -1
  6. package/lib/base/RequestBehaviour.js +22 -2
  7. package/lib/base/RequestBehaviour.js.map +1 -1
  8. package/lib/base/ServiceBehaviour.d.ts +21 -1
  9. package/lib/base/ServiceBehaviour.js +95 -28
  10. package/lib/base/ServiceBehaviour.js.map +1 -1
  11. package/lib/browser/index.js +3 -3
  12. package/lib/entities/TransactionResult.d.ts +12 -0
  13. package/lib/entities/TransactionResult.js +12 -0
  14. package/lib/entities/TransactionResult.js.map +1 -1
  15. package/lib/exceptions/FailedEncryptionException.d.ts +2 -0
  16. package/lib/exceptions/FailedEncryptionException.js +26 -0
  17. package/lib/exceptions/FailedEncryptionException.js.map +1 -0
  18. package/lib/index.d.ts +2 -0
  19. package/lib/index.js +2 -0
  20. package/lib/index.js.map +1 -1
  21. package/lib/libraries/CardinalManager.js +8 -8
  22. package/lib/requests/CardTokenization.d.ts +8 -1
  23. package/lib/requests/CardTokenization.js +34 -18
  24. package/lib/requests/CardTokenization.js.map +1 -1
  25. package/lib/requests/LookupTransaction.d.ts +18 -0
  26. package/lib/requests/LookupTransaction.js +46 -0
  27. package/lib/requests/LookupTransaction.js.map +1 -1
  28. package/lib/requests/PaymentTransaction.d.ts +8 -1
  29. package/lib/requests/PaymentTransaction.js +26 -13
  30. package/lib/requests/PaymentTransaction.js.map +1 -1
  31. package/lib/services/CardinalAuthentication.d.ts +4 -4
  32. package/lib/services/CardinalAuthentication.js +3 -3
  33. package/lib/version.d.ts +1 -1
  34. package/lib/version.js +1 -1
  35. package/lib/version.js.map +1 -1
  36. package/package.json +1 -1
  37. package/tests/Tokenization.test.ts +12 -8
package/CHANGELOG.md CHANGED
@@ -5,6 +5,28 @@ El formato se basa en [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
5
  y este proyecto se adhiere a [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
  Tipos de cambios: `Added`, `Changed`, `Deprecated`, `Removed`, `Fixed`, `Security`.
7
7
 
8
+ ## [v2.1.3-beta.0] - 2023-08-16
9
+ ### Added
10
+ - Se agregó campo de cuotas para autenticación con 3D Secure
11
+
12
+ ## [v2.1.2] - 2023-08-16
13
+ ### Added
14
+ - Se omiten los métodos de encriptación si la petición no lo requiere
15
+
16
+ ### Changed
17
+ - En caso de fallos, se hacen reintentos para adquirir la llave pública del comercio
18
+ - En caso de fallos, se hacen reintentos para encriptar los datos de tarjeta
19
+
20
+ ### Fixed
21
+ - Se corrigió caso donde reintentos de transacciones con una misma instancia de `RequestBehaviour` encripta datos múltiples veces
22
+ - Se corrigió encriptación para transacciones de 3D Secure
23
+ - Se arregló conflicto de encriptación al reutilizar instancias de `RequestBehaviour`
24
+ - Se arregló servicios de tokenización enviando fecha de expiración incorrecta si no se llenan los campos
25
+
26
+ ## [v2.1.1] - 2023-08-09
27
+ ### Changed
28
+ - Rollback temporal a v2.0.6
29
+
8
30
  ## [v2.1.0] - 2023-07-18
9
31
  ### Added
10
32
  - Se agregó encriptación de datos de tarjeta.
@@ -6,7 +6,7 @@ declare const _default: {
6
6
  * @param value
7
7
  * @return
8
8
  */
9
- objectToJson(value: any): string;
9
+ objectToJson(value: any, ignore?: string[]): string;
10
10
  /**
11
11
  * Helper to hash object by algorithm
12
12
  *
@@ -24,10 +24,11 @@ exports.default = {
24
24
  * @param value
25
25
  * @return
26
26
  */
27
- objectToJson: function (value) {
27
+ objectToJson: function (value, ignore) {
28
+ if (ignore === void 0) { ignore = []; }
28
29
  var filtered = __assign({}, value);
29
30
  for (var propName in filtered) {
30
- if (filtered[propName] === null || filtered[propName] === undefined) {
31
+ if (filtered[propName] === null || filtered[propName] === undefined || ignore.includes(propName)) {
31
32
  delete filtered[propName];
32
33
  }
33
34
  }
@@ -106,7 +107,7 @@ exports.default = {
106
107
  if (!message) {
107
108
  return null;
108
109
  }
109
- if (!publicKey) {
110
+ if (message.includes('|')) {
110
111
  return message;
111
112
  }
112
113
  var nonce = tweetnacl_1.default.randomBytes(24);
@@ -1 +1 @@
1
- {"version":3,"file":"Helpers.js","sourceRoot":"","sources":["../../src/base/Helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Helpers.js","sourceRoot":"","sources":["../../src/base/Helpers.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import nacl from 'tweetnacl';
1
2
  export default class RequestBehaviour {
2
3
  /**
3
4
  * Environment identifier (live|test|sandbox)
@@ -15,15 +16,31 @@ export default class RequestBehaviour {
15
16
  * SDK version
16
17
  */
17
18
  sdk_version: string;
19
+ /**
20
+ * For internal use to prevent encrypting same request instance twice
21
+ */
22
+ protected sdk_key_pair: nacl.BoxKeyPair;
18
23
  /**
19
24
  * Initialize request
20
25
  */
21
26
  constructor();
27
+ /**
28
+ * Get sdk_key_pair from current instance
29
+ *
30
+ * @return
31
+ */
32
+ getSDKKeyPair(): nacl.BoxKeyPair | null;
33
+ /**
34
+ * Check if current request needs encryption, must be overriden by inherited classes.
35
+ *
36
+ * @return
37
+ */
38
+ isEncryptable(): boolean;
22
39
  /**
23
40
  * Encrypt fields with sensitive data, must be overriden by inherited classes.
24
41
  *
25
42
  * @param publicKey
26
- * @returns
43
+ * @return
27
44
  */
28
45
  withEncryption(publicKey: string): string | null;
29
46
  /**
@@ -26,6 +26,10 @@ var RequestBehaviour = /** @class */ (function () {
26
26
  * SDK version
27
27
  */
28
28
  this.sdk_version = null;
29
+ /**
30
+ * For internal use to prevent encrypting same request instance twice
31
+ */
32
+ this.sdk_key_pair = null;
29
33
  this.lang = Intl.DateTimeFormat().resolvedOptions().locale;
30
34
  this.from = 'sdk-javascript';
31
35
  this.sdk_version = version_1.default;
@@ -33,11 +37,27 @@ var RequestBehaviour = /** @class */ (function () {
33
37
  this.lang = 'es';
34
38
  }
35
39
  }
40
+ /**
41
+ * Get sdk_key_pair from current instance
42
+ *
43
+ * @return
44
+ */
45
+ RequestBehaviour.prototype.getSDKKeyPair = function () {
46
+ return this.sdk_key_pair;
47
+ };
48
+ /**
49
+ * Check if current request needs encryption, must be overriden by inherited classes.
50
+ *
51
+ * @return
52
+ */
53
+ RequestBehaviour.prototype.isEncryptable = function () {
54
+ return false;
55
+ };
36
56
  /**
37
57
  * Encrypt fields with sensitive data, must be overriden by inherited classes.
38
58
  *
39
59
  * @param publicKey
40
- * @returns
60
+ * @return
41
61
  */
42
62
  RequestBehaviour.prototype.withEncryption = function (publicKey) {
43
63
  return null;
@@ -48,7 +68,7 @@ var RequestBehaviour = /** @class */ (function () {
48
68
  * @return
49
69
  */
50
70
  RequestBehaviour.prototype.toJson = function () {
51
- return Helpers_1.default.objectToJson(this);
71
+ return Helpers_1.default.objectToJson(this, ['sdk_key_pair']);
52
72
  };
53
73
  return RequestBehaviour;
54
74
  }());
@@ -1 +1 @@
1
- {"version":3,"file":"RequestBehaviour.js","sourceRoot":"","sources":["../../src/base/RequestBehaviour.ts"],"names":[],"mappings":";;;;;AAAA,sDAAgC;AAChC,uDAAiC;AAEjC;IAqBC;;OAEG;IACH;QAvBA;;WAEG;QACH,QAAG,GAAW,IAAI,CAAC;QAEnB;;WAEG;QACH,SAAI,GAAW,IAAI,CAAC;QAEpB;;WAEG;QACH,SAAI,GAAW,IAAI,CAAC;QAEpB;;WAEG;QACH,gBAAW,GAAW,IAAI,CAAC;QAM1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC;QAC3D,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,iBAAO,CAAC;QAE3B,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SACjB;IACF,CAAC;IAED;;;;;OAKG;IACH,yCAAc,GAAd,UAAe,SAAiB;QAC/B,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;OAIG;IACH,iCAAM,GAAN;QACC,OAAO,iBAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IACF,uBAAC;AAAD,CAAC,AApDD,IAoDC"}
1
+ {"version":3,"file":"RequestBehaviour.js","sourceRoot":"","sources":["../../src/base/RequestBehaviour.ts"],"names":[],"mappings":";;;;;AACA,sDAAgC;AAChC,uDAAiC;AAEjC;IA0BC;;OAEG;IACH;QA5BA;;WAEG;QACH,QAAG,GAAW,IAAI,CAAC;QAEnB;;WAEG;QACH,SAAI,GAAW,IAAI,CAAC;QAEpB;;WAEG;QACH,SAAI,GAAW,IAAI,CAAC;QAEpB;;WAEG;QACH,gBAAW,GAAW,IAAI,CAAC;QAE3B;;WAEG;QACO,iBAAY,GAAoB,IAAI,CAAC;QAM9C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC;QAC3D,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,iBAAO,CAAC;QAE3B,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SACjB;IACF,CAAC;IAED;;;;OAIG;IACH,wCAAa,GAAb;QACC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,wCAAa,GAAb;QACC,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,yCAAc,GAAd,UAAe,SAAiB;QAC/B,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;OAIG;IACH,iCAAM,GAAN;QACC,OAAO,iBAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IACrD,CAAC;IACF,uBAAC;AAAD,CAAC,AA3ED,IA2EC"}
@@ -9,7 +9,7 @@ export default class ServiceBehaviour {
9
9
  /**
10
10
  * Public key from pair generated by current instance.
11
11
  */
12
- sdk_public_key: string;
12
+ private sdk_public_key;
13
13
  /**
14
14
  * Initialize service
15
15
  */
@@ -43,6 +43,26 @@ export default class ServiceBehaviour {
43
43
  * @param request
44
44
  */
45
45
  private validateEncryption;
46
+ /**
47
+ * Resiliently fetch merchant public key, trying at least 3 times before failing
48
+ *
49
+ * @throws InvalidCredentialsException
50
+ */
51
+ private validateMerchantPublicKey;
52
+ /**
53
+ * Resiliently generate keys and encrypt request, trying at least 3 times before failing
54
+ *
55
+ * @param request
56
+ * @throws FailedEncryptionException
57
+ */
58
+ private validateSDKPublicKey;
59
+ /**
60
+ * Fetch merchant public key for encryption
61
+ *
62
+ * @return
63
+ * @throws InvalidCredentialsException
64
+ */
65
+ private fetchMerchantPublicKey;
46
66
  /**
47
67
  * Get API route
48
68
  *
@@ -41,6 +41,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
41
41
  Object.defineProperty(exports, "__esModule", { value: true });
42
42
  var axios_1 = __importDefault(require("axios"));
43
43
  var InvalidCredentialsException_1 = __importDefault(require("../exceptions/InvalidCredentialsException"));
44
+ var FailedEncryptionException_1 = __importDefault(require("../exceptions/FailedEncryptionException"));
44
45
  var RequestBehaviour_1 = __importDefault(require("./RequestBehaviour"));
45
46
  var Response_1 = __importDefault(require("./Response"));
46
47
  var ErrorResponse_1 = __importDefault(require("../responses/ErrorResponse"));
@@ -178,34 +179,100 @@ var ServiceBehaviour = /** @class */ (function () {
178
179
  */
179
180
  ServiceBehaviour.prototype.validateEncryption = function (request) {
180
181
  return __awaiter(this, void 0, void 0, function () {
181
- var response, e_1;
182
182
  return __generator(this, function (_a) {
183
183
  switch (_a.label) {
184
184
  case 0:
185
- if (!!this.settings.public_key) return [3 /*break*/, 4];
186
- _a.label = 1;
185
+ if (!request.isEncryptable()) {
186
+ return [2 /*return*/];
187
+ }
188
+ return [4 /*yield*/, this.validateMerchantPublicKey()];
187
189
  case 1:
188
- _a.trys.push([1, 3, , 4]);
189
- return [4 /*yield*/, this.get(PUBLIC_KEY_PATH, new RequestBehaviour_1.default())];
190
+ _a.sent();
191
+ this.validateSDKPublicKey(request);
192
+ return [2 /*return*/];
193
+ }
194
+ });
195
+ });
196
+ };
197
+ /**
198
+ * Resiliently fetch merchant public key, trying at least 3 times before failing
199
+ *
200
+ * @throws InvalidCredentialsException
201
+ */
202
+ ServiceBehaviour.prototype.validateMerchantPublicKey = function () {
203
+ return __awaiter(this, void 0, void 0, function () {
204
+ var tries, _a;
205
+ return __generator(this, function (_b) {
206
+ switch (_b.label) {
207
+ case 0:
208
+ tries = 0;
209
+ _b.label = 1;
210
+ case 1:
211
+ if (!(!this.settings.public_key && tries < 3)) return [3 /*break*/, 3];
212
+ _a = this.settings;
213
+ return [4 /*yield*/, this.fetchMerchantPublicKey()];
190
214
  case 2:
191
- response = _a.sent();
192
- if (response.success) {
193
- this.settings.public_key = response.getData('public_key');
194
- }
195
- return [3 /*break*/, 4];
215
+ _a.public_key = _b.sent();
216
+ tries++;
217
+ return [3 /*break*/, 1];
196
218
  case 3:
197
- e_1 = _a.sent();
198
- console.error(e_1);
199
- return [3 /*break*/, 4];
200
- case 4:
201
- if (this.settings.public_key) {
202
- this.sdk_public_key = request.withEncryption(this.settings.public_key);
219
+ if (this.settings.public_key == null) {
220
+ throw new InvalidCredentialsException_1.default('Could not obtain necessary credentials for transaction.');
203
221
  }
204
222
  return [2 /*return*/];
205
223
  }
206
224
  });
207
225
  });
208
226
  };
227
+ /**
228
+ * Resiliently generate keys and encrypt request, trying at least 3 times before failing
229
+ *
230
+ * @param request
231
+ * @throws FailedEncryptionException
232
+ */
233
+ ServiceBehaviour.prototype.validateSDKPublicKey = function (request) {
234
+ var tries = 0;
235
+ var lastError = null;
236
+ while (!this.sdk_public_key && tries < 3 || tries === 0) {
237
+ try {
238
+ this.sdk_public_key = request.withEncryption(this.settings.public_key);
239
+ }
240
+ catch (err) {
241
+ lastError = err;
242
+ }
243
+ finally {
244
+ tries++;
245
+ }
246
+ }
247
+ if (!this.sdk_public_key && lastError) {
248
+ throw lastError;
249
+ }
250
+ if (!this.sdk_public_key) {
251
+ throw new FailedEncryptionException_1.default('Could not process encryption, please try again.');
252
+ }
253
+ };
254
+ /**
255
+ * Fetch merchant public key for encryption
256
+ *
257
+ * @return
258
+ * @throws InvalidCredentialsException
259
+ */
260
+ ServiceBehaviour.prototype.fetchMerchantPublicKey = function () {
261
+ return __awaiter(this, void 0, void 0, function () {
262
+ var response;
263
+ return __generator(this, function (_a) {
264
+ switch (_a.label) {
265
+ case 0: return [4 /*yield*/, this.get(PUBLIC_KEY_PATH, new RequestBehaviour_1.default())];
266
+ case 1:
267
+ response = _a.sent();
268
+ if (response.success) {
269
+ return [2 /*return*/, response.getData('public_key')];
270
+ }
271
+ return [2 /*return*/, null];
272
+ }
273
+ });
274
+ });
275
+ };
209
276
  /**
210
277
  * Get API route
211
278
  *
@@ -225,7 +292,7 @@ var ServiceBehaviour = /** @class */ (function () {
225
292
  */
226
293
  ServiceBehaviour.prototype.post = function (url, body) {
227
294
  return __awaiter(this, void 0, void 0, function () {
228
- var response, e_2;
295
+ var response, e_1;
229
296
  return __generator(this, function (_a) {
230
297
  switch (_a.label) {
231
298
  case 0:
@@ -238,8 +305,8 @@ var ServiceBehaviour = /** @class */ (function () {
238
305
  response = _a.sent();
239
306
  return [2 /*return*/, this.parseResponse(response.data, response.status)];
240
307
  case 3:
241
- e_2 = _a.sent();
242
- return [2 /*return*/, this.exceptionResponse(e_2)];
308
+ e_1 = _a.sent();
309
+ return [2 /*return*/, this.exceptionResponse(e_1)];
243
310
  case 4: return [2 /*return*/];
244
311
  }
245
312
  });
@@ -255,7 +322,7 @@ var ServiceBehaviour = /** @class */ (function () {
255
322
  */
256
323
  ServiceBehaviour.prototype.put = function (url, body) {
257
324
  return __awaiter(this, void 0, void 0, function () {
258
- var response, e_3;
325
+ var response, e_2;
259
326
  return __generator(this, function (_a) {
260
327
  switch (_a.label) {
261
328
  case 0:
@@ -268,8 +335,8 @@ var ServiceBehaviour = /** @class */ (function () {
268
335
  response = _a.sent();
269
336
  return [2 /*return*/, this.parseResponse(response.data, response.status)];
270
337
  case 3:
271
- e_3 = _a.sent();
272
- return [2 /*return*/, this.exceptionResponse(e_3)];
338
+ e_2 = _a.sent();
339
+ return [2 /*return*/, this.exceptionResponse(e_2)];
273
340
  case 4: return [2 /*return*/];
274
341
  }
275
342
  });
@@ -285,7 +352,7 @@ var ServiceBehaviour = /** @class */ (function () {
285
352
  */
286
353
  ServiceBehaviour.prototype.delete = function (url, body) {
287
354
  return __awaiter(this, void 0, void 0, function () {
288
- var response, e_4;
355
+ var response, e_3;
289
356
  return __generator(this, function (_a) {
290
357
  switch (_a.label) {
291
358
  case 0:
@@ -300,8 +367,8 @@ var ServiceBehaviour = /** @class */ (function () {
300
367
  response = _a.sent();
301
368
  return [2 /*return*/, this.parseResponse(response.data, response.status)];
302
369
  case 3:
303
- e_4 = _a.sent();
304
- return [2 /*return*/, this.exceptionResponse(e_4)];
370
+ e_3 = _a.sent();
371
+ return [2 /*return*/, this.exceptionResponse(e_3)];
305
372
  case 4: return [2 /*return*/];
306
373
  }
307
374
  });
@@ -317,7 +384,7 @@ var ServiceBehaviour = /** @class */ (function () {
317
384
  */
318
385
  ServiceBehaviour.prototype.get = function (url, body) {
319
386
  return __awaiter(this, void 0, void 0, function () {
320
- var response, e_5;
387
+ var response, e_4;
321
388
  return __generator(this, function (_a) {
322
389
  switch (_a.label) {
323
390
  case 0:
@@ -334,8 +401,8 @@ var ServiceBehaviour = /** @class */ (function () {
334
401
  response = _a.sent();
335
402
  return [2 /*return*/, this.parseResponse(response.data, response.status)];
336
403
  case 4:
337
- e_5 = _a.sent();
338
- return [2 /*return*/, this.exceptionResponse(e_5)];
404
+ e_4 = _a.sent();
405
+ return [2 /*return*/, this.exceptionResponse(e_4)];
339
406
  case 5: return [2 /*return*/];
340
407
  }
341
408
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceBehaviour.js","sourceRoot":"","sources":["../../src/base/ServiceBehaviour.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ServiceBehaviour.js","sourceRoot":"","sources":["../../src/base/ServiceBehaviour.ts"],"names":[],"mappings":"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"}