@pixelpay/sdk-core 2.0.5 → 2.1.0-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 (42) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/CONTRIBUTING.md +8 -0
  3. package/README.md +0 -7
  4. package/lib/assets/formats.json +982 -0
  5. package/lib/base/Helpers.d.ts +19 -3
  6. package/lib/base/Helpers.js +43 -10
  7. package/lib/base/Helpers.js.map +1 -1
  8. package/lib/base/RequestBehaviour.d.ts +7 -0
  9. package/lib/base/RequestBehaviour.js +10 -1
  10. package/lib/base/RequestBehaviour.js.map +1 -1
  11. package/lib/base/ServiceBehaviour.d.ts +10 -0
  12. package/lib/base/ServiceBehaviour.js +88 -34
  13. package/lib/base/ServiceBehaviour.js.map +1 -1
  14. package/lib/browser/index.js +3 -3
  15. package/lib/index.d.ts +1 -0
  16. package/lib/libraries/CardinalManager.js +1 -1
  17. package/lib/models/Settings.d.ts +4 -0
  18. package/lib/models/Settings.js +8 -4
  19. package/lib/models/Settings.js.map +1 -1
  20. package/lib/requests/CardTokenization.d.ts +9 -2
  21. package/lib/requests/CardTokenization.js +28 -0
  22. package/lib/requests/CardTokenization.js.map +1 -1
  23. package/lib/requests/PaymentTransaction.d.ts +12 -5
  24. package/lib/requests/PaymentTransaction.js +25 -0
  25. package/lib/requests/PaymentTransaction.js.map +1 -1
  26. package/lib/requests/SaleTransaction.d.ts +25 -0
  27. package/lib/requests/SaleTransaction.js +33 -1
  28. package/lib/requests/SaleTransaction.js.map +1 -1
  29. package/lib/requests/VoidTransaction.d.ts +4 -0
  30. package/lib/requests/VoidTransaction.js +4 -0
  31. package/lib/requests/VoidTransaction.js.map +1 -1
  32. package/lib/resources/Locations.d.ts +7 -0
  33. package/lib/resources/Locations.js +13 -0
  34. package/lib/resources/Locations.js.map +1 -1
  35. package/lib/services/Tokenization.js +1 -1
  36. package/lib/services/Transaction.js +1 -1
  37. package/lib/version.d.ts +1 -1
  38. package/lib/version.js +1 -1
  39. package/lib/version.js.map +1 -1
  40. package/package.json +5 -2
  41. package/tests/Locations.test.ts +7 -2
  42. package/tests/Transaction.test.ts +24 -34
package/lib/index.d.ts CHANGED
@@ -55,6 +55,7 @@ export declare const Resources: {
55
55
  Locations: {
56
56
  countriesList: () => {};
57
57
  statesList: (country_code: string) => any;
58
+ formatsList: (country_code: string) => any;
58
59
  };
59
60
  };
60
61
  export declare const Responses: {
@@ -14,7 +14,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
14
14
  function verb(n) { return function (v) { return step([n, v]); }; }
15
15
  function step(op) {
16
16
  if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
18
  if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
19
  if (y = 0, t) op = [op[0] & 2, t.value];
20
20
  switch (op[0]) {
@@ -23,6 +23,10 @@ export default class Settings {
23
23
  * Settings response messages language
24
24
  */
25
25
  lang: string;
26
+ /**
27
+ * Public encryption key
28
+ */
29
+ public_key: string;
26
30
  /**
27
31
  * Initialize service
28
32
  */
@@ -31,7 +31,11 @@ var Settings = /** @class */ (function () {
31
31
  * Settings response messages language
32
32
  */
33
33
  this.lang = undefined;
34
- this.endpoint = "https://pixelpay.app";
34
+ /**
35
+ * Public encryption key
36
+ */
37
+ this.public_key = undefined;
38
+ this.endpoint = 'https://pixelpay.app';
35
39
  }
36
40
  /**
37
41
  * Setup API endpoint URL
@@ -71,9 +75,9 @@ var Settings = /** @class */ (function () {
71
75
  * Setup defaults to Sandbox credentials
72
76
  */
73
77
  Settings.prototype.setupSandbox = function () {
74
- this.endpoint = "https://pixel-pay.com";
75
- this.auth_key = "1234567890";
76
- this.auth_hash = Helpers_1.default.hash("MD5", "@s4ndb0x-abcd-1234-n1l4-p1x3l");
78
+ this.endpoint = 'https://pixel-pay.com';
79
+ this.auth_key = '1234567890';
80
+ this.auth_hash = Helpers_1.default.hash('MD5', '@s4ndb0x-abcd-1234-n1l4-p1x3l');
77
81
  this.environment = Environment_1.default.SANDBOX;
78
82
  };
79
83
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Settings.js","sourceRoot":"","sources":["../../src/models/Settings.ts"],"names":[],"mappings":";;AAAA,2CAAsC;AACtC,wDAAmD;AAEnD;IA+BC;;OAEG;IACH;QAjCA;;WAEG;QACH,aAAQ,GAAW,SAAS,CAAC;QAE7B;;WAEG;QACH,cAAS,GAAW,SAAS,CAAC;QAE9B;;WAEG;QACH,cAAS,GAAW,SAAS,CAAC;QAE9B;;WAEG;QACH,aAAQ,GAAW,SAAS,CAAC;QAE7B;;WAEG;QACH,gBAAW,GAAW,SAAS,CAAC;QAEhC;;WAEG;QACH,SAAI,GAAW,SAAS,CAAC;QAMxB,IAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACH,gCAAa,GAAb,UAAc,QAAgB;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,mCAAgB,GAAhB,UAAiB,GAAW,EAAE,IAAY;QACzC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,oCAAiB,GAAjB,UAAkB,IAAY;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,mCAAgB,GAAhB,UAAiB,GAAW;QAC3B,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,+BAAY,GAAZ;QACC,IAAI,CAAC,QAAQ,GAAG,uBAAuB,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,iBAAO,CAAC,IAAI,CAAC,KAAK,EAAE,+BAA+B,CAAC,CAAC;QACtE,IAAI,CAAC,WAAW,GAAG,qBAAW,CAAC,OAAO,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACH,gCAAa,GAAb,UAAc,IAAY;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;IACF,eAAC;AAAD,CAAC,AA9FD,IA8FC"}
1
+ {"version":3,"file":"Settings.js","sourceRoot":"","sources":["../../src/models/Settings.ts"],"names":[],"mappings":";;AAAA,2CAAsC;AACtC,wDAAmD;AAEnD;IAoCC;;OAEG;IACH;QAtCA;;WAEG;QACH,aAAQ,GAAW,SAAS,CAAC;QAE7B;;WAEG;QACH,cAAS,GAAW,SAAS,CAAC;QAE9B;;WAEG;QACH,cAAS,GAAW,SAAS,CAAC;QAE9B;;WAEG;QACH,aAAQ,GAAW,SAAS,CAAC;QAE7B;;WAEG;QACH,gBAAW,GAAW,SAAS,CAAC;QAEhC;;WAEG;QACH,SAAI,GAAW,SAAS,CAAC;QAEzB;;WAEG;QACH,eAAU,GAAW,SAAS,CAAC;QAM9B,IAAI,CAAC,QAAQ,GAAG,sBAAsB,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACH,gCAAa,GAAb,UAAc,QAAgB;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,mCAAgB,GAAhB,UAAiB,GAAW,EAAE,IAAY;QACzC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,oCAAiB,GAAjB,UAAkB,IAAY;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,mCAAgB,GAAhB,UAAiB,GAAW;QAC3B,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,+BAAY,GAAZ;QACC,IAAI,CAAC,QAAQ,GAAG,uBAAuB,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,iBAAO,CAAC,IAAI,CAAC,KAAK,EAAE,+BAA+B,CAAC,CAAC;QACtE,IAAI,CAAC,WAAW,GAAG,qBAAW,CAAC,OAAO,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACH,gCAAa,GAAb,UAAc,IAAY;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;IACF,eAAC;AAAD,CAAC,AAnGD,IAmGC"}
@@ -1,6 +1,6 @@
1
1
  import RequestBehaviour from '../base/RequestBehaviour';
2
- import Card from "../models/Card";
3
- import Billing from "../models/Billing";
2
+ import Card from '../models/Card';
3
+ import Billing from '../models/Billing';
4
4
  export default class CardTokenization extends RequestBehaviour {
5
5
  /**
6
6
  * Card number or PAN
@@ -62,4 +62,11 @@ export default class CardTokenization extends RequestBehaviour {
62
62
  * @param billing
63
63
  */
64
64
  setBilling(billing: Billing): void;
65
+ /**
66
+ * Encrypt fields with sensitive data.
67
+ *
68
+ * @param publicKey
69
+ * @return
70
+ */
71
+ withEncryption(publicKey: string | null): string | null;
65
72
  }
@@ -15,6 +15,7 @@ var __extends = (this && this.__extends) || (function () {
15
15
  };
16
16
  })();
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
+ var tweetnacl_util_1 = require("tweetnacl-util");
18
19
  var RequestBehaviour_1 = require("../base/RequestBehaviour");
19
20
  var Helpers_1 = require("../base/Helpers");
20
21
  var CardTokenization = /** @class */ (function (_super) {
@@ -96,6 +97,33 @@ var CardTokenization = /** @class */ (function (_super) {
96
97
  this.zip = billing.zip;
97
98
  this.phone = billing.phone;
98
99
  };
100
+ /**
101
+ * Encrypt fields with sensitive data.
102
+ *
103
+ * @param publicKey
104
+ * @return
105
+ */
106
+ CardTokenization.prototype.withEncryption = function (publicKey) {
107
+ if (!publicKey) {
108
+ return null;
109
+ }
110
+ var keyPair = Helpers_1.default.getKeyPair();
111
+ var number = Helpers_1.default.encrypt(this.number, publicKey, keyPair);
112
+ var cvv2 = Helpers_1.default.encrypt(this.cvv2, publicKey, keyPair);
113
+ var expire_month = Helpers_1.default.encrypt(this.expire_month, publicKey, keyPair);
114
+ var expire_year = Helpers_1.default.encrypt(this.expire_year, publicKey, keyPair);
115
+ if (this.number === number
116
+ && this.cvv2 === cvv2
117
+ && this.expire_month === expire_month
118
+ && this.expire_year === expire_year) {
119
+ return null;
120
+ }
121
+ this.number = number;
122
+ this.cvv2 = cvv2;
123
+ this.expire_month = expire_month;
124
+ this.expire_year = expire_year;
125
+ return tweetnacl_util_1.default.encodeBase64(keyPair.publicKey);
126
+ };
99
127
  return CardTokenization;
100
128
  }(RequestBehaviour_1.default));
101
129
  exports.default = CardTokenization;
@@ -1 +1 @@
1
- {"version":3,"file":"CardTokenization.js","sourceRoot":"","sources":["../../src/requests/CardTokenization.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6DAAwD;AACxD,2CAAsC;AAItC;IAA8C,oCAAgB;IAA9D;QAAA,qEAuFC;QAtFA;;WAEG;QACH,YAAM,GAAW,IAAI,CAAC;QAEtB;;WAEG;QACH,UAAI,GAAW,IAAI,CAAC;QAEpB;;WAEG;QACH,kBAAY,GAAW,IAAI,CAAC;QAE5B;;WAEG;QACH,iBAAW,GAAW,IAAI,CAAC;QAE3B;;WAEG;QACH,gBAAU,GAAW,IAAI,CAAC;QAE1B;;WAEG;QACH,aAAO,GAAW,IAAI,CAAC;QAEvB;;WAEG;QACH,aAAO,GAAW,IAAI,CAAC;QAEvB;;WAEG;QACH,WAAK,GAAW,IAAI,CAAC;QAErB;;WAEG;QACH,UAAI,GAAW,IAAI,CAAC;QAEpB;;WAEG;QACH,SAAG,GAAW,IAAI,CAAC;QAEnB;;WAEG;QACH,WAAK,GAAW,IAAI,CAAC;QAErB;;WAEG;QACH,WAAK,GAAW,IAAI,CAAC;;IA4BtB,CAAC;IA1BA;;;;OAIG;IACH,kCAAO,GAAP,UAAQ,IAAU;QACjB,IAAI,CAAC,MAAM,GAAG,iBAAO,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,iBAAO,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtD,CAAC;IAED;;;;OAIG;IACH,qCAAU,GAAV,UAAW,OAAgB;QAC1B,IAAI,CAAC,OAAO,GAAG,iBAAO,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,iBAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,CAAC;IACF,uBAAC;AAAD,CAAC,AAvFD,CAA8C,0BAAgB,GAuF7D"}
1
+ {"version":3,"file":"CardTokenization.js","sourceRoot":"","sources":["../../src/requests/CardTokenization.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import Item from "../models/Item";
2
- import Order from "../models/Order";
3
- import Card from "../models/Card";
4
- import Billing from "../models/Billing";
5
- import RequestBehaviour from "../base/RequestBehaviour";
1
+ import Item from '../models/Item';
2
+ import Order from '../models/Order';
3
+ import Card from '../models/Card';
4
+ import Billing from '../models/Billing';
5
+ import RequestBehaviour from '../base/RequestBehaviour';
6
6
  export default class PaymentTransaction extends RequestBehaviour {
7
7
  /**
8
8
  * Payment UUID
@@ -136,4 +136,11 @@ export default class PaymentTransaction extends RequestBehaviour {
136
136
  * Enable 3DS/EMV authentication request
137
137
  */
138
138
  withAuthenticationRequest(): void;
139
+ /**
140
+ * Encrypt fields with sensitive data.
141
+ *
142
+ * @param publicKey
143
+ * @return
144
+ */
145
+ withEncryption(publicKey: string | null): string | null;
139
146
  }
@@ -15,6 +15,7 @@ var __extends = (this && this.__extends) || (function () {
15
15
  };
16
16
  })();
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
+ var tweetnacl_util_1 = require("tweetnacl-util");
18
19
  var Helpers_1 = require("../base/Helpers");
19
20
  var RequestBehaviour_1 = require("../base/RequestBehaviour");
20
21
  var PaymentTransaction = /** @class */ (function (_super) {
@@ -184,6 +185,30 @@ var PaymentTransaction = /** @class */ (function (_super) {
184
185
  PaymentTransaction.prototype.withAuthenticationRequest = function () {
185
186
  this.authentication_request = true;
186
187
  };
188
+ /**
189
+ * Encrypt fields with sensitive data.
190
+ *
191
+ * @param publicKey
192
+ * @return
193
+ */
194
+ PaymentTransaction.prototype.withEncryption = function (publicKey) {
195
+ if (!publicKey) {
196
+ return null;
197
+ }
198
+ var keyPair = Helpers_1.default.getKeyPair();
199
+ var card_number = Helpers_1.default.encrypt(this.card_number, publicKey, keyPair);
200
+ var card_cvv = Helpers_1.default.encrypt(this.card_cvv, publicKey, keyPair);
201
+ var card_expire = Helpers_1.default.encrypt(this.card_expire, publicKey, keyPair);
202
+ if (this.card_number === card_number
203
+ && this.card_cvv === card_cvv
204
+ && this.card_expire === card_expire) {
205
+ return null;
206
+ }
207
+ this.card_number = card_number;
208
+ this.card_cvv = card_cvv;
209
+ this.card_expire = card_expire;
210
+ return tweetnacl_util_1.default.encodeBase64(keyPair.publicKey);
211
+ };
187
212
  return PaymentTransaction;
188
213
  }(RequestBehaviour_1.default));
189
214
  exports.default = PaymentTransaction;
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentTransaction.js","sourceRoot":"","sources":["../../src/requests/PaymentTransaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PaymentTransaction.js","sourceRoot":"","sources":["../../src/requests/PaymentTransaction.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,28 @@
1
1
  import PaymentTransaction from './PaymentTransaction';
2
2
  export default class SaleTransaction extends PaymentTransaction {
3
+ /**
4
+ * Transaction installment type
5
+ */
6
+ installment_type: string;
7
+ /**
8
+ * Transaction installment value
9
+ */
10
+ installment_months: string;
11
+ /**
12
+ * Transaction total points redeem amount
13
+ */
14
+ points_redeem_amount: string;
15
+ /**
16
+ * Set Installment service values to transaction
17
+ *
18
+ * @param months
19
+ * @param type
20
+ */
21
+ setInstallment(months: number, type: string): void;
22
+ /**
23
+ * Set transaction points redeem amount
24
+ *
25
+ * @param amount
26
+ */
27
+ withPointsRedeemAmount(amount: number): void;
3
28
  }
@@ -15,12 +15,44 @@ var __extends = (this && this.__extends) || (function () {
15
15
  };
16
16
  })();
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
+ var Helpers_1 = require("../base/Helpers");
18
19
  var PaymentTransaction_1 = require("./PaymentTransaction");
19
20
  var SaleTransaction = /** @class */ (function (_super) {
20
21
  __extends(SaleTransaction, _super);
21
22
  function SaleTransaction() {
22
- return _super !== null && _super.apply(this, arguments) || this;
23
+ var _this = _super !== null && _super.apply(this, arguments) || this;
24
+ /**
25
+ * Transaction installment type
26
+ */
27
+ _this.installment_type = null;
28
+ /**
29
+ * Transaction installment value
30
+ */
31
+ _this.installment_months = null;
32
+ /**
33
+ * Transaction total points redeem amount
34
+ */
35
+ _this.points_redeem_amount = null;
36
+ return _this;
23
37
  }
38
+ /**
39
+ * Set Installment service values to transaction
40
+ *
41
+ * @param months
42
+ * @param type
43
+ */
44
+ SaleTransaction.prototype.setInstallment = function (months, type) {
45
+ this.installment_months = String(months);
46
+ this.installment_type = type;
47
+ };
48
+ /**
49
+ * Set transaction points redeem amount
50
+ *
51
+ * @param amount
52
+ */
53
+ SaleTransaction.prototype.withPointsRedeemAmount = function (amount) {
54
+ this.points_redeem_amount = Helpers_1.default.parseAmount(amount);
55
+ };
24
56
  return SaleTransaction;
25
57
  }(PaymentTransaction_1.default));
26
58
  exports.default = SaleTransaction;
@@ -1 +1 @@
1
- {"version":3,"file":"SaleTransaction.js","sourceRoot":"","sources":["../../src/requests/SaleTransaction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2DAAsD;AAEtD;IAA6C,mCAAkB;IAA/D;;IAEA,CAAC;IAAD,sBAAC;AAAD,CAAC,AAFD,CAA6C,4BAAkB,GAE9D"}
1
+ {"version":3,"file":"SaleTransaction.js","sourceRoot":"","sources":["../../src/requests/SaleTransaction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2CAAsC;AACtC,2DAAsD;AAEtD;IAA6C,mCAAkB;IAA/D;QAAA,qEAmCC;QAlCA;;WAEG;QACH,sBAAgB,GAAW,IAAI,CAAC;QAEhC;;WAEG;QACH,wBAAkB,GAAW,IAAI,CAAC;QAElC;;WAEG;QACH,0BAAoB,GAAW,IAAI,CAAC;;IAqBrC,CAAC;IAnBA;;;;;OAKG;IACH,wCAAc,GAAd,UAAe,MAAc,EAAE,IAAY;QAC1C,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,gDAAsB,GAAtB,UAAuB,MAAc;QACpC,IAAI,CAAC,oBAAoB,GAAG,iBAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;IACF,sBAAC;AAAD,CAAC,AAnCD,CAA6C,4BAAkB,GAmC9D"}
@@ -8,4 +8,8 @@ export default class VoidTransaction extends RequestBehaviour {
8
8
  * Reason for void the order
9
9
  */
10
10
  void_reason: string;
11
+ /**
12
+ * Required signature for void authentication
13
+ */
14
+ void_signature: string;
11
15
  }
@@ -28,6 +28,10 @@ var VoidTransaction = /** @class */ (function (_super) {
28
28
  * Reason for void the order
29
29
  */
30
30
  _this.void_reason = null;
31
+ /**
32
+ * Required signature for void authentication
33
+ */
34
+ _this.void_signature = null;
31
35
  return _this;
32
36
  }
33
37
  return VoidTransaction;
@@ -1 +1 @@
1
- {"version":3,"file":"VoidTransaction.js","sourceRoot":"","sources":["../../src/requests/VoidTransaction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6DAAwD;AAExD;IAA6C,mCAAgB;IAA7D;QAAA,qEAUC;QATA;;WAEG;QACH,kBAAY,GAAW,IAAI,CAAC;QAE5B;;WAEG;QACH,iBAAW,GAAW,IAAI,CAAC;;IAC5B,CAAC;IAAD,sBAAC;AAAD,CAAC,AAVD,CAA6C,0BAAgB,GAU5D"}
1
+ {"version":3,"file":"VoidTransaction.js","sourceRoot":"","sources":["../../src/requests/VoidTransaction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6DAAwD;AAExD;IAA6C,mCAAgB;IAA7D;QAAA,qEAeC;QAdA;;WAEG;QACH,kBAAY,GAAW,IAAI,CAAC;QAE5B;;WAEG;QACH,iBAAW,GAAW,IAAI,CAAC;QAE3B;;WAEG;QACH,oBAAc,GAAW,IAAI,CAAC;;IAC/B,CAAC;IAAD,sBAAC;AAAD,CAAC,AAfD,CAA6C,0BAAgB,GAe5D"}
@@ -12,5 +12,12 @@ declare const _default: {
12
12
  * @return
13
13
  */
14
14
  statesList: (country_code: string) => any;
15
+ /**
16
+ * Get phone and zip formats list by country ISO code
17
+ *
18
+ * @param country_code
19
+ * @return
20
+ */
21
+ formatsList: (country_code: string) => any;
15
22
  };
16
23
  export default _default;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var countriesRepository = require("../assets/countries.json");
4
4
  var statesRepository = require("../assets/states.json");
5
+ var formatsRepository = require("../assets/formats.json");
5
6
  exports.default = {
6
7
  /**
7
8
  * Return a list of countries
@@ -23,5 +24,17 @@ exports.default = {
23
24
  }
24
25
  return statesRepository[country_code] || {};
25
26
  },
27
+ /**
28
+ * Get phone and zip formats list by country ISO code
29
+ *
30
+ * @param country_code
31
+ * @return
32
+ */
33
+ formatsList: function (country_code) {
34
+ if (!Object.prototype.hasOwnProperty.call(formatsRepository || {}, country_code)) {
35
+ return {};
36
+ }
37
+ return formatsRepository[country_code] || {};
38
+ },
26
39
  };
27
40
  //# sourceMappingURL=Locations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Locations.js","sourceRoot":"","sources":["../../src/resources/Locations.ts"],"names":[],"mappings":";;AAAA,8DAAgE;AAChE,wDAA0D;AAE1D,kBAAe;IACd;;;;OAIG;IACH,aAAa,EAAE;QACd,OAAO,mBAAmB,IAAI,EAAE,CAAC;IAClC,CAAC;IAED;;;;;OAKG;IACH,UAAU,EAAE,UAAC,YAAoB;QAChC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,EAAE,YAAY,CAAC,EAAE;YAChF,OAAO,EAAE,CAAC;SACV;QAED,OAAO,gBAAgB,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAC7C,CAAC;CACD,CAAA"}
1
+ {"version":3,"file":"Locations.js","sourceRoot":"","sources":["../../src/resources/Locations.ts"],"names":[],"mappings":";;AAAA,8DAAgE;AAChE,wDAA0D;AAC1D,0DAA4D;AAE5D,kBAAe;IACd;;;;OAIG;IACH,aAAa,EAAE;QACd,OAAO,mBAAmB,IAAI,EAAE,CAAC;IAClC,CAAC;IAED;;;;;OAKG;IACH,UAAU,EAAE,UAAC,YAAoB;QAChC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,EAAE,YAAY,CAAC,EAAE;YAChF,OAAO,EAAE,CAAC;SACV;QAED,OAAO,gBAAgB,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACH,WAAW,EAAE,UAAC,YAAoB;QACjC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,EAAE,YAAY,CAAC,EAAE;YACjF,OAAO,EAAE,CAAC;SACV;QAED,OAAO,iBAAiB,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAC9C,CAAC;CACD,CAAA"}
@@ -29,7 +29,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
29
29
  function verb(n) { return function (v) { return step([n, v]); }; }
30
30
  function step(op) {
31
31
  if (f) throw new TypeError("Generator is already executing.");
32
- while (_) try {
32
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
33
33
  if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
34
  if (y = 0, t) op = [op[0] & 2, t.value];
35
35
  switch (op[0]) {
@@ -29,7 +29,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
29
29
  function verb(n) { return function (v) { return step([n, v]); }; }
30
30
  function step(op) {
31
31
  if (f) throw new TypeError("Generator is already executing.");
32
- while (_) try {
32
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
33
33
  if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
34
  if (y = 0, t) op = [op[0] & 2, t.value];
35
35
  switch (op[0]) {
package/lib/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- declare const _default: "2.0.5";
1
+ declare const _default: "2.1.0-beta.0";
2
2
  export default _default;
package/lib/version.js CHANGED
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = '2.0.5';
3
+ exports.default = '2.1.0-beta.0';
4
4
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":";;AAAA,kBAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":";;AAAA,kBAAe,cAAc,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pixelpay/sdk-core",
3
- "version": "2.0.5",
3
+ "version": "2.1.0-beta.0",
4
4
  "description": "PixelPay SDK toolkit",
5
5
  "main": "lib/index.js",
6
6
  "browser": "lib/browser/index.js",
@@ -10,6 +10,7 @@
10
10
  "@babel/preset-env": "^7.19.4",
11
11
  "@babel/preset-typescript": "^7.18.6",
12
12
  "@types/jest": "^27.5.2",
13
+ "@types/node": "^18.11.18",
13
14
  "babel-jest": "^27.5.1",
14
15
  "browser-sync": "^2.27.10",
15
16
  "browserify": "^17.0.0",
@@ -29,6 +30,8 @@
29
30
  "license": "MTI",
30
31
  "dependencies": {
31
32
  "axios": "^0.21.4",
32
- "crypto-js": "^4.1.1"
33
+ "crypto-js": "^4.1.1",
34
+ "tweetnacl": "^1.0.3",
35
+ "tweetnacl-util": "^0.15.1"
33
36
  }
34
37
  }
@@ -5,5 +5,10 @@ test('Location countires', () => {
5
5
  });
6
6
 
7
7
  test('Location states', () => {
8
- expect(Locations.statesList("HN")["HN-CR"]).toBe("Cortes")
9
- });
8
+ expect(Locations.statesList("HN")["HN-CR"]).toBe("Cortes")
9
+ });
10
+
11
+ test('Location formats', () => {
12
+ expect(Locations.formatsList("HN")["phone_code"]).toBe(504)
13
+ expect(Locations.formatsList("HN")["zip_format"]).toBe("")
14
+ });
@@ -1,7 +1,8 @@
1
1
  import SaleTransaction from "../src/requests/SaleTransaction";
2
+ import VoidTransaction from "../src/requests/VoidTransaction";
2
3
  import Settings from "../src/models/Settings"
3
4
  import Transaction from "../src/services/Transaction";
4
- import FailureResponse from "../src/responses/FailureResponse";
5
+ import FailureResponse from "../src/responses/FailureResponse";
5
6
  import Card from "../src/models/Card";
6
7
  import Billing from "../src/models/Billing";
7
8
  import Order from "../src/models/Order";
@@ -12,6 +13,7 @@ import ErrorResponse from "../src/responses/ErrorResponse";
12
13
  import NotFoundResponse from "../src/responses/NotFoundResponse";
13
14
  import PreconditionalResponse from "../src/responses/PreconditionalResponse";
14
15
  import TimeoutResponse from "../src/responses/TimeoutResponse";
16
+ import Helpers from "../src/base/Helpers";
15
17
 
16
18
  const TIMEOUT = 30000;
17
19
 
@@ -69,7 +71,7 @@ it('Test invalid credentials', () => {
69
71
  expect.assertions(1);
70
72
  let settings = new Settings();
71
73
  let service = new Transaction(settings)
72
-
74
+
73
75
  let sale = new SaleTransaction();
74
76
  return service.doSale(sale).then( response => {
75
77
  expect(response).toBeInstanceOf(FailureResponse);
@@ -77,7 +79,7 @@ it('Test invalid credentials', () => {
77
79
  expect(FailureResponse).toBeInstanceOf(error);
78
80
  expect('The merchant credentials are not definied (key/hash).').toBe(error.message)
79
81
  });
80
- }, TIMEOUT)
82
+ }, TIMEOUT)
81
83
 
82
84
  it('Transaction sale by invalid card fields', () => {
83
85
  expect.assertions(7);
@@ -88,7 +90,7 @@ it('Transaction sale by invalid card fields', () => {
88
90
  let sale = new SaleTransaction();
89
91
  sale.setBilling(getBilling());
90
92
  sale.setOrder(getOrder());
91
-
93
+
92
94
  return service.doSale(sale).then( response => {
93
95
  expect(response).toBeInstanceOf(InputErrorResponse);
94
96
  expect(false).toBe(response.success);
@@ -109,7 +111,7 @@ it('Transaction sale by invalid billing fields', () => {
109
111
  let sale = new SaleTransaction();
110
112
  sale.setCard(getCard());
111
113
  sale.setOrder(getOrder());
112
-
114
+
113
115
  return service.doSale(sale).then( response => {
114
116
  expect(response).toBeInstanceOf(InputErrorResponse);
115
117
  expect(false).toBe(response.success);
@@ -120,7 +122,7 @@ it('Transaction sale by invalid billing fields', () => {
120
122
  expect(true).toBe(response.inputHasError('billing_phone'))
121
123
  expect(true).toBe(response.inputHasError('billing_state'))
122
124
  })
123
- }, TIMEOUT)
125
+ }, TIMEOUT)
124
126
 
125
127
  it('Transaction sale by invalid order fields', () => {
126
128
  expect.assertions(8);
@@ -131,7 +133,7 @@ it('Transaction sale by invalid order fields', () => {
131
133
  let sale = new SaleTransaction();
132
134
  sale.setCard(getCard());
133
135
  sale.setBilling(getBilling());
134
-
136
+
135
137
  return service.doSale(sale).then( response => {
136
138
  expect(response).toBeInstanceOf(InputErrorResponse);
137
139
  expect(false).toBe(response.success);
@@ -142,7 +144,7 @@ it('Transaction sale by invalid order fields', () => {
142
144
  expect(true).toBe(response.inputHasError('order_currency'));
143
145
  expect(true).toBe(response.inputHasError('order_id'));
144
146
  })
145
- }, TIMEOUT)
147
+ }, TIMEOUT)
146
148
 
147
149
  it('Test successful transaction', () => {
148
150
  expect.assertions(1);
@@ -312,31 +314,19 @@ it('Transaction fail due not accepted payments for a country or region', () => {
312
314
  })
313
315
  }, TIMEOUT)
314
316
 
315
- it('Transaction fail due not accepted payments for a country or region', () => {
316
- expect.assertions(3)
317
- let service: Transaction = getSaleService();
318
- let sale: SaleTransaction = getSaleRequest(14);
317
+ it('Transaction with Installment', () => {
318
+ let sale: SaleTransaction = new SaleTransaction();
319
319
 
320
- return service.doSale(sale).then( response => {
321
- expect(response).toBeInstanceOf(PreconditionalResponse);
322
- expect(response.message).toBe("El comercio no permite transacciones de este país o región.");
323
- expect(412).toBe(response.status)
324
- })
325
- }, TIMEOUT)
320
+ sale.setInstallment(12, 'extra');
321
+
322
+ expect(sale.installment_months).toBe('12');
323
+ expect(sale.installment_type).toBe('extra');
324
+ })
325
+
326
+ it('Void Transaction with signature', () => {
327
+ let voidTx: VoidTransaction = new VoidTransaction();
328
+
329
+ voidTx.void_signature = "d206a1e51ffd42f0a8c4146d4a06846f560df211e28ec011e92b8dd4648d454f64be3ca50f753fb624f8c4c3585b3ebb6b3a954869818728f23a78b474a5b1fc";
326
330
 
327
- // it('Success 3DS transaction', () => {
328
- // expect.assertions(3)
329
- // let service: Transaction = getSaleService();
330
- // let sale: SaleTransaction = new SaleTransaction();
331
- // sale.setBilling(getBilling());
332
- // sale.setOrder(getOrder());
333
- // sale.setCard(getCard('4000 0000 0000 1000'));
334
-
335
- // return service.doSale(sale).then( response => {
336
- // expect(response).toBeInstanceOf(PreconditionalResponse);
337
- // expect(response.message).toBe("El comercio no permite transacciones de este país o región.");
338
- // expect(412).toBe(response.status);
339
- // }).catch(error => {
340
- // error
341
- // })
342
- // }, TIMEOUT)
331
+ expect(voidTx.void_signature).toBe(Helpers.hash('SHA-512', "sonia@pixel.hn|20230530|@s4ndb0x-abcd-1234-n1l4-p1x3l"));
332
+ })