@pixelpay/sdk-core 1.0.0-beta.0 → 2.0.0-beta.2

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 (152) hide show
  1. package/.vscode/launch.json +25 -0
  2. package/babel.config.js +6 -0
  3. package/index.html +454 -0
  4. package/jest.config.js +5 -0
  5. package/lib/base/Helpers.d.ts +17 -0
  6. package/lib/base/Helpers.js +43 -4
  7. package/lib/base/Helpers.js.map +1 -1
  8. package/lib/base/RequestBehaviour.d.ts +1 -1
  9. package/lib/base/RequestBehaviour.js +16 -0
  10. package/lib/base/RequestBehaviour.js.map +1 -1
  11. package/lib/base/Response.d.ts +1 -1
  12. package/lib/base/Response.js +20 -0
  13. package/lib/base/Response.js.map +1 -1
  14. package/lib/base/ServiceBehaviour.d.ts +16 -42
  15. package/lib/base/ServiceBehaviour.js +64 -73
  16. package/lib/base/ServiceBehaviour.js.map +1 -1
  17. package/lib/browser/index.js +18 -0
  18. package/lib/entities/CardResult.d.ts +74 -0
  19. package/lib/entities/CardResult.js +90 -0
  20. package/lib/entities/CardResult.js.map +1 -0
  21. package/lib/entities/TransactionResult.d.ts +97 -0
  22. package/lib/entities/TransactionResult.js +120 -0
  23. package/lib/entities/TransactionResult.js.map +1 -0
  24. package/lib/index.d.ts +41 -27
  25. package/lib/index.js +40 -28
  26. package/lib/index.js.map +1 -1
  27. package/lib/libraries/CardinalManager.d.ts +47 -0
  28. package/lib/libraries/CardinalManager.js +254 -0
  29. package/lib/libraries/CardinalManager.js.map +1 -0
  30. package/lib/libraries/PayloadManager.d.ts +26 -0
  31. package/lib/libraries/PayloadManager.js +106 -0
  32. package/lib/libraries/PayloadManager.js.map +1 -0
  33. package/lib/libraries/PixelPayLoading.d.ts +7 -0
  34. package/lib/libraries/PixelPayLoading.js +44 -0
  35. package/lib/libraries/PixelPayLoading.js.map +1 -0
  36. package/lib/libraries/PixelPayModal.d.ts +12 -0
  37. package/lib/libraries/PixelPayModal.js +72 -0
  38. package/lib/libraries/PixelPayModal.js.map +1 -0
  39. package/lib/models/Billing.js +24 -0
  40. package/lib/models/Billing.js.map +1 -1
  41. package/lib/models/Card.js +23 -0
  42. package/lib/models/Card.js.map +1 -1
  43. package/lib/models/Item.js +24 -0
  44. package/lib/models/Item.js.map +1 -1
  45. package/lib/models/Order.js +47 -0
  46. package/lib/models/Order.js.map +1 -1
  47. package/lib/models/Settings.d.ts +65 -0
  48. package/lib/models/Settings.js +90 -0
  49. package/lib/models/Settings.js.map +1 -0
  50. package/lib/requests/AuthTransaction.d.ts +3 -0
  51. package/lib/{mappings/VoidTransaction.js → requests/AuthTransaction.js} +7 -7
  52. package/lib/requests/AuthTransaction.js.map +1 -0
  53. package/lib/{mappings → requests}/CaptureTransaction.d.ts +2 -2
  54. package/lib/{mappings → requests}/CaptureTransaction.js +12 -3
  55. package/lib/requests/CaptureTransaction.js.map +1 -0
  56. package/lib/{mappings → requests}/CardTokenization.d.ts +0 -4
  57. package/lib/{mappings → requests}/CardTokenization.js +51 -2
  58. package/lib/requests/CardTokenization.js.map +1 -0
  59. package/lib/requests/LookupContinueTransaction.d.ts +11 -0
  60. package/lib/{mappings/CustomerTokenization.js → requests/LookupContinueTransaction.js} +18 -9
  61. package/lib/requests/LookupContinueTransaction.js.map +1 -0
  62. package/lib/requests/LookupTransaction.d.ts +68 -0
  63. package/lib/requests/LookupTransaction.js +107 -0
  64. package/lib/requests/LookupTransaction.js.map +1 -0
  65. package/lib/{mappings/AuthTransaction.d.ts → requests/PaymentTransaction.d.ts} +20 -5
  66. package/lib/requests/PaymentTransaction.js +190 -0
  67. package/lib/requests/PaymentTransaction.js.map +1 -0
  68. package/lib/requests/SaleTransaction.d.ts +3 -0
  69. package/lib/{mappings → requests}/SaleTransaction.js +2 -2
  70. package/lib/requests/SaleTransaction.js.map +1 -0
  71. package/lib/requests/StatusTransaction.d.ts +7 -0
  72. package/lib/{mappings → requests}/StatusTransaction.js +8 -3
  73. package/lib/requests/StatusTransaction.js.map +1 -0
  74. package/lib/{mappings → requests}/VoidTransaction.d.ts +2 -2
  75. package/lib/{base/PaymentTransaction.js → requests/VoidTransaction.js} +17 -8
  76. package/lib/requests/VoidTransaction.js.map +1 -0
  77. package/lib/resources/Environment.d.ts +6 -0
  78. package/lib/resources/Environment.js +13 -0
  79. package/lib/resources/Environment.js.map +1 -0
  80. package/lib/resources/Locations.d.ts +16 -0
  81. package/lib/resources/Locations.js +27 -0
  82. package/lib/resources/Locations.js.map +1 -0
  83. package/lib/{resources → responses}/ErrorResponse.d.ts +0 -0
  84. package/lib/{resources → responses}/ErrorResponse.js +0 -0
  85. package/lib/{resources → responses}/ErrorResponse.js.map +1 -1
  86. package/lib/{resources → responses}/FailureResponse.d.ts +0 -0
  87. package/lib/{resources → responses}/FailureResponse.js +0 -0
  88. package/lib/{resources → responses}/FailureResponse.js.map +1 -1
  89. package/lib/{resources → responses}/InputErrorResponse.d.ts +0 -0
  90. package/lib/{resources → responses}/InputErrorResponse.js +0 -0
  91. package/lib/{resources → responses}/InputErrorResponse.js.map +1 -1
  92. package/lib/{resources → responses}/NetworkFailureResponse.d.ts +0 -0
  93. package/lib/{resources → responses}/NetworkFailureResponse.js +0 -0
  94. package/lib/{resources → responses}/NetworkFailureResponse.js.map +1 -1
  95. package/lib/{resources → responses}/NoAccessResponse.d.ts +0 -0
  96. package/lib/{resources → responses}/NoAccessResponse.js +0 -0
  97. package/lib/{resources → responses}/NoAccessResponse.js.map +1 -1
  98. package/lib/{resources → responses}/NotFoundResponse.d.ts +0 -0
  99. package/lib/{resources → responses}/NotFoundResponse.js +0 -0
  100. package/lib/{resources → responses}/NotFoundResponse.js.map +1 -1
  101. package/lib/{resources → responses}/PayloadResponse.d.ts +0 -0
  102. package/lib/{resources → responses}/PayloadResponse.js +0 -0
  103. package/lib/{resources → responses}/PayloadResponse.js.map +1 -1
  104. package/lib/{resources → responses}/PaymentDeclinedResponse.d.ts +0 -0
  105. package/lib/{resources → responses}/PaymentDeclinedResponse.js +0 -0
  106. package/lib/{resources → responses}/PaymentDeclinedResponse.js.map +1 -1
  107. package/lib/{resources → responses}/PreconditionalResponse.d.ts +0 -0
  108. package/lib/{resources → responses}/PreconditionalResponse.js +0 -0
  109. package/lib/{resources → responses}/PreconditionalResponse.js.map +1 -1
  110. package/lib/{resources → responses}/SuccessResponse.d.ts +0 -0
  111. package/lib/{resources → responses}/SuccessResponse.js +0 -0
  112. package/lib/{resources → responses}/SuccessResponse.js.map +1 -1
  113. package/lib/responses/TimeoutResponse.d.ts +3 -0
  114. package/lib/responses/TimeoutResponse.js +27 -0
  115. package/lib/responses/TimeoutResponse.js.map +1 -0
  116. package/lib/services/CardinalAuthentication.d.ts +19 -0
  117. package/lib/services/CardinalAuthentication.js +56 -0
  118. package/lib/services/CardinalAuthentication.js.map +1 -0
  119. package/lib/services/Tokenization.d.ts +5 -14
  120. package/lib/services/Tokenization.js +87 -20
  121. package/lib/services/Tokenization.js.map +1 -1
  122. package/lib/services/Transaction.d.ts +54 -5
  123. package/lib/services/Transaction.js +193 -25
  124. package/lib/services/Transaction.js.map +1 -1
  125. package/lib/version.d.ts +1 -1
  126. package/lib/version.js +1 -1
  127. package/lib/web.d.ts +28 -0
  128. package/package.json +16 -5
  129. package/{test.js → test-node.js} +0 -0
  130. package/tests/Locations.test.ts +9 -0
  131. package/tests/Models/Card.test.ts +33 -0
  132. package/tests/Models/Order.test.ts +64 -0
  133. package/tests/Models/Settings.test.ts +65 -0
  134. package/tests/Tokenization.test.ts +229 -0
  135. package/tests/Transaction.test.ts +342 -0
  136. package/webpack.mix.js +12 -0
  137. package/lib/base/PaymentTransaction.d.ts +0 -3
  138. package/lib/base/PaymentTransaction.js.map +0 -1
  139. package/lib/mappings/AuthTransaction.js +0 -78
  140. package/lib/mappings/AuthTransaction.js.map +0 -1
  141. package/lib/mappings/CaptureTransaction.js.map +0 -1
  142. package/lib/mappings/CardTokenization.js.map +0 -1
  143. package/lib/mappings/CustomerTokenization.d.ts +0 -7
  144. package/lib/mappings/CustomerTokenization.js.map +0 -1
  145. package/lib/mappings/SaleTransaction.d.ts +0 -3
  146. package/lib/mappings/SaleTransaction.js.map +0 -1
  147. package/lib/mappings/StatusTransaction.d.ts +0 -7
  148. package/lib/mappings/StatusTransaction.js.map +0 -1
  149. package/lib/mappings/VoidTransaction.js.map +0 -1
  150. package/lib/models/CardToken.d.ts +0 -14
  151. package/lib/models/CardToken.js +0 -9
  152. package/lib/models/CardToken.js.map +0 -1
@@ -0,0 +1,254 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
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
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ var Helpers_1 = require("../base/Helpers");
40
+ var LookupContinueTransaction_1 = require("../requests/LookupContinueTransaction");
41
+ var LookupTransaction_1 = require("../requests/LookupTransaction");
42
+ var Environment_1 = require("../resources/Environment");
43
+ var FailureResponse_1 = require("../responses/FailureResponse");
44
+ var CardinalAuthentication_1 = require("../services/CardinalAuthentication");
45
+ var PixelPayLoading_1 = require("./PixelPayLoading");
46
+ var PixelPayModal_1 = require("./PixelPayModal");
47
+ var CardinalManager = /** @class */ (function () {
48
+ /**
49
+ * Initialize service
50
+ */
51
+ function CardinalManager(settings, request) {
52
+ this.settings = settings;
53
+ this.transaction = request;
54
+ this.service = new CardinalAuthentication_1.default(this.settings);
55
+ }
56
+ /**
57
+ * Clean al Cardinal instances
58
+ */
59
+ CardinalManager.clearAllEvents = function () {
60
+ if (Helpers_1.default.checkIsBrowser()) {
61
+ PixelPayLoading_1.default.hide();
62
+ if (typeof window.Cardinal != 'undefined') {
63
+ window.Cardinal.off('payments.setupComplete');
64
+ window.Cardinal.off('payments.validated');
65
+ }
66
+ }
67
+ };
68
+ /**
69
+ * Initialize manager
70
+ */
71
+ CardinalManager.prototype.init = function (jwt) {
72
+ return __awaiter(this, void 0, void 0, function () {
73
+ var testing, songbirdEnv;
74
+ return __generator(this, function (_a) {
75
+ switch (_a.label) {
76
+ case 0:
77
+ testing = this.settings.environment === Environment_1.default.SANDBOX || this.settings.environment === Environment_1.default.STAGING;
78
+ songbirdEnv = testing ? 'stag' : '';
79
+ return [4 /*yield*/, Helpers_1.default.addScriptToWebsite("https://songbird".concat(songbirdEnv, ".cardinalcommerce.com/edge/v1/songbird.js"))];
80
+ case 1:
81
+ _a.sent();
82
+ window.Cardinal.configure({
83
+ payment: {
84
+ framework: 'inline'
85
+ },
86
+ logging: {
87
+ level: testing ? 'on' : 'off'
88
+ },
89
+ });
90
+ return [4 /*yield*/, this.startCardinalTransaction(jwt, this)];
91
+ case 2: return [2 /*return*/, _a.sent()];
92
+ }
93
+ });
94
+ });
95
+ };
96
+ /**
97
+ * Cardinal transacction starting service
98
+ */
99
+ CardinalManager.prototype.startCardinalTransaction = function (jwt_setup, manager) {
100
+ var _this = this;
101
+ return new Promise(function (resolve, reject) {
102
+ try {
103
+ window.Cardinal.on('payments.setupComplete', function (setupCompleteData) { return __awaiter(_this, void 0, void 0, function () {
104
+ var lookup, lookup_response;
105
+ return __generator(this, function (_a) {
106
+ switch (_a.label) {
107
+ case 0:
108
+ if (typeof setupCompleteData.sessionId == 'undefined'
109
+ || (typeof setupCompleteData.sessionId != 'undefined'
110
+ && (!setupCompleteData.sessionId || setupCompleteData.sessionId == ''))) {
111
+ throw new Error("Cardinal initial setup error.");
112
+ }
113
+ lookup = new LookupTransaction_1.default();
114
+ lookup.fromPaymentTransaction(manager.transaction);
115
+ lookup.reference = setupCompleteData.sessionId;
116
+ return [4 /*yield*/, manager.service.authenticationLookup(lookup)];
117
+ case 1:
118
+ lookup_response = _a.sent();
119
+ manager.identifier = lookup_response.data.identifier;
120
+ manager.validationLookupResponse(lookup_response, resolve);
121
+ return [2 /*return*/];
122
+ }
123
+ });
124
+ }); });
125
+ window.Cardinal.on("payments.validated", function (data, jwt) { return __awaiter(_this, void 0, void 0, function () {
126
+ var lookup_continue, result, result, failure;
127
+ return __generator(this, function (_a) {
128
+ switch (_a.label) {
129
+ case 0:
130
+ if (!(typeof jwt != 'undefined' && jwt && jwt != '')) return [3 /*break*/, 3];
131
+ lookup_continue = new LookupContinueTransaction_1.default();
132
+ lookup_continue.identifier = manager.identifier;
133
+ lookup_continue.payload = jwt;
134
+ return [4 /*yield*/, manager.service.authenticationContinue(lookup_continue)];
135
+ case 1:
136
+ _a.sent();
137
+ return [4 /*yield*/, manager.service.retryTransaction(manager.transaction)];
138
+ case 2:
139
+ result = _a.sent();
140
+ CardinalManager.clearAllEvents();
141
+ resolve(result);
142
+ return [3 /*break*/, 6];
143
+ case 3:
144
+ if (!(data.ActionCode == "NOACTION")) return [3 /*break*/, 5];
145
+ return [4 /*yield*/, manager.service.retryTransaction(manager.transaction)];
146
+ case 4:
147
+ result = _a.sent();
148
+ CardinalManager.clearAllEvents();
149
+ resolve(result);
150
+ return [3 /*break*/, 6];
151
+ case 5:
152
+ failure = new FailureResponse_1.default();
153
+ failure.setStatus(520);
154
+ failure.message = "Cardinal validation failed. ".concat(data.ErrorDescription, " (").concat(data.ErrorNumber, ")");
155
+ CardinalManager.clearAllEvents();
156
+ resolve(failure);
157
+ _a.label = 6;
158
+ case 6: return [2 /*return*/];
159
+ }
160
+ });
161
+ }); });
162
+ window.Cardinal.on('ui.close', function () {
163
+ PixelPayModal_1.default.hide();
164
+ });
165
+ window.Cardinal.on('ui.inline.setup', function (htmlTemplate, details, resolve, reject) {
166
+ try {
167
+ var container = void 0;
168
+ if (htmlTemplate !== undefined && details !== undefined) {
169
+ switch (details.paymentType) {
170
+ case 'CCA':
171
+ switch (details.data.mode) {
172
+ case 'static':
173
+ PixelPayModal_1.default.show();
174
+ var el = document.querySelector('.pixelpay-modal');
175
+ if (document.querySelector('[without-sdk-modal]')) {
176
+ el = document.querySelector('[without-sdk-modal]');
177
+ }
178
+ container = el.querySelector('.pixelpay-modal-container') || el;
179
+ el.setAttribute('data-size', details.data.challengeWindowSizeId);
180
+ break;
181
+ case 'suppress':
182
+ PixelPayModal_1.default.hide();
183
+ container = document.querySelector('.pixelpay-modal-container');
184
+ break;
185
+ default:
186
+ throw new Error("Unsupported inline mode found [" + details.data.mode + "]");
187
+ }
188
+ break;
189
+ default:
190
+ throw new Error("Unsupported inline payment type found [" + details.paymentType + "]");
191
+ }
192
+ container.innerHTML = htmlTemplate;
193
+ resolve();
194
+ }
195
+ else {
196
+ throw new Error("Unable to process request due to invalid arguments");
197
+ }
198
+ }
199
+ catch (error) {
200
+ reject(error);
201
+ }
202
+ });
203
+ window.Cardinal.setup("init", { jwt: jwt_setup });
204
+ }
205
+ catch (err) {
206
+ CardinalManager.clearAllEvents();
207
+ reject(err);
208
+ }
209
+ });
210
+ };
211
+ /**
212
+ * Verify lookup response and run Cardinal attempt
213
+ */
214
+ CardinalManager.prototype.validationLookupResponse = function (response, resolve) {
215
+ return __awaiter(this, void 0, void 0, function () {
216
+ var result;
217
+ return __generator(this, function (_a) {
218
+ switch (_a.label) {
219
+ case 0:
220
+ this.transaction.authentication_identifier = this.identifier;
221
+ if (!response.success) return [3 /*break*/, 4];
222
+ if (!(response.action == "continue")) return [3 /*break*/, 1];
223
+ window.Cardinal.continue('cca', {
224
+ AcsUrl: response.data.continue_url,
225
+ Payload: response.data.continue_payload,
226
+ }, {
227
+ OrderDetails: {
228
+ TransactionId: response.data.transaction_id,
229
+ OrderNumber: this.transaction.order_id,
230
+ CurrencyCode: this.transaction.order_currency,
231
+ // Amount: this.transaction.order_amount,
232
+ }
233
+ });
234
+ return [3 /*break*/, 3];
235
+ case 1: return [4 /*yield*/, this.service.retryTransaction(this.transaction)];
236
+ case 2:
237
+ result = _a.sent();
238
+ CardinalManager.clearAllEvents();
239
+ resolve(result);
240
+ _a.label = 3;
241
+ case 3: return [3 /*break*/, 5];
242
+ case 4:
243
+ CardinalManager.clearAllEvents();
244
+ resolve(response);
245
+ _a.label = 5;
246
+ case 5: return [2 /*return*/];
247
+ }
248
+ });
249
+ });
250
+ };
251
+ return CardinalManager;
252
+ }());
253
+ exports.default = CardinalManager;
254
+ //# sourceMappingURL=CardinalManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardinalManager.js","sourceRoot":"","sources":["../../src/libraries/CardinalManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import Response from '../base/Response';
2
+ import ServiceBehaviour from "../base/ServiceBehaviour";
3
+ export default class PayloadManager extends ServiceBehaviour {
4
+ /**
5
+ * Create a new IFRAME DOM element
6
+ *
7
+ * @param {*} onerror
8
+ */
9
+ private createIFrameElement;
10
+ /**
11
+ * Evalua las respuestas enviadas por @method postMessage()
12
+ * desde el servidor de la URL agregada al iFrame
13
+ *
14
+ * @param {object} ev
15
+ * @param {*} resolve
16
+ * @param {*} reject
17
+ */
18
+ private evaluatePostMessage;
19
+ /**
20
+ * Método encargado de ejecutar al proceso de carga del Iframe
21
+ *
22
+ * @param {*} payload
23
+ * @returns
24
+ */
25
+ loadPayload(payload: any): Promise<Response>;
26
+ }
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ var ServiceBehaviour_1 = require("../base/ServiceBehaviour");
19
+ var PixelPayModal_1 = require("./PixelPayModal");
20
+ var PixelPayLoading_1 = require("./PixelPayLoading");
21
+ var PayloadManager = /** @class */ (function (_super) {
22
+ __extends(PayloadManager, _super);
23
+ function PayloadManager() {
24
+ return _super !== null && _super.apply(this, arguments) || this;
25
+ }
26
+ /**
27
+ * Create a new IFRAME DOM element
28
+ *
29
+ * @param {*} onerror
30
+ */
31
+ PayloadManager.prototype.createIFrameElement = function (onerror) {
32
+ var iframe = document.createElement('iframe');
33
+ iframe.setAttribute('frameborder', '0');
34
+ iframe.setAttribute('frameborder', '0');
35
+ iframe.setAttribute('scrolling', 'auto');
36
+ iframe.setAttribute('allowtransparency', 'true');
37
+ iframe.classList.add('pixelpay-modal-iframe');
38
+ iframe.classList.add('pixelpay-modal-loading');
39
+ iframe.onload = function () {
40
+ iframe.classList.remove('pixelpay-modal-loading');
41
+ };
42
+ iframe.onerror = onerror;
43
+ return iframe;
44
+ };
45
+ /**
46
+ * Evalua las respuestas enviadas por @method postMessage()
47
+ * desde el servidor de la URL agregada al iFrame
48
+ *
49
+ * @param {object} ev
50
+ * @param {*} resolve
51
+ * @param {*} reject
52
+ */
53
+ PayloadManager.prototype.evaluatePostMessage = function (ev, resolve, reject) {
54
+ var _this = this;
55
+ var _a;
56
+ if (!ev || !ev.data || !ev.data.hasOwnProperty('success')) {
57
+ return;
58
+ }
59
+ PixelPayModal_1.default.hide();
60
+ if ((ev === null || ev === void 0 ? void 0 : ev.origin) == this.settings.endpoint) {
61
+ setTimeout(function () {
62
+ var _a, _b;
63
+ PixelPayLoading_1.default.hide();
64
+ resolve(_this.parseResponse(ev === null || ev === void 0 ? void 0 : ev.data, ((_a = ev === null || ev === void 0 ? void 0 : ev.data) === null || _a === void 0 ? void 0 : _a.status) || (((_b = ev === null || ev === void 0 ? void 0 : ev.data) === null || _b === void 0 ? void 0 : _b.success) ? 200 : 400)));
65
+ }, 300);
66
+ }
67
+ else {
68
+ PixelPayLoading_1.default.hide();
69
+ reject(new Error(((_a = ev === null || ev === void 0 ? void 0 : ev.data) === null || _a === void 0 ? void 0 : _a.message) || 'Payload frame response error'));
70
+ }
71
+ };
72
+ /**
73
+ * Método encargado de ejecutar al proceso de carga del Iframe
74
+ *
75
+ * @param {*} payload
76
+ * @returns
77
+ */
78
+ PayloadManager.prototype.loadPayload = function (payload) {
79
+ var _this = this;
80
+ return new Promise(function (resolve, reject) {
81
+ try {
82
+ var container = document.querySelector('[without-sdk-modal]') || PixelPayModal_1.default._init().querySelector('.pixelpay-modal-container');
83
+ if (container) {
84
+ var iframe = _this.createIFrameElement(reject);
85
+ container.appendChild(iframe);
86
+ var iframe_document = iframe.contentWindow.document;
87
+ var iframe_content = atob(payload);
88
+ iframe_document.open();
89
+ iframe_document.write(iframe_content);
90
+ iframe_document.close();
91
+ window.onmessage = function (ev) {
92
+ _this.evaluatePostMessage(ev, resolve, reject);
93
+ };
94
+ }
95
+ PixelPayModal_1.default.show();
96
+ }
97
+ catch (err) {
98
+ PixelPayLoading_1.default.hide();
99
+ reject(err);
100
+ }
101
+ });
102
+ };
103
+ return PayloadManager;
104
+ }(ServiceBehaviour_1.default));
105
+ exports.default = PayloadManager;
106
+ //# sourceMappingURL=PayloadManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PayloadManager.js","sourceRoot":"","sources":["../../src/libraries/PayloadManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import '../assets/loading.css';
2
+ declare const Loading: {
3
+ _container: () => Element;
4
+ show: () => void;
5
+ hide: () => void;
6
+ };
7
+ export default Loading;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ require("../assets/loading.css");
4
+ var Helpers_1 = require("../base/Helpers");
5
+ var Media = require("../assets/media.json");
6
+ var Loading = {
7
+ _container: function () {
8
+ var container = document.querySelector('.pixelpay-loading');
9
+ if (container) {
10
+ return container;
11
+ }
12
+ container = document.createElement('div');
13
+ container.classList.add('pixelpay-loading');
14
+ container.innerHTML = "<div>\n\t\t\t<img alt=\"Powered by PixelPay\u00AE\" src=\"".concat(Media.logo, "\" width=\"120\" height=\"40\" />\n\t\t\t<img alt=\"Credit/Debit card\" src=\"").concat(Media.icon, "\" width=\"32\" height=\"32\" />\n\t\t</div>\n\t\t<p><span></span></p>");
15
+ document.querySelector('body').appendChild(container);
16
+ return container;
17
+ },
18
+ show: function () {
19
+ if (Helpers_1.default.checkIsBrowser()) {
20
+ document.dispatchEvent(new Event('pxshowloading'));
21
+ if (document.querySelector('[without-sdk-loading]')) {
22
+ return;
23
+ }
24
+ Loading._container();
25
+ setTimeout(function () {
26
+ Loading._container().classList.add('show-loading');
27
+ }, 100);
28
+ }
29
+ },
30
+ hide: function () {
31
+ if (Helpers_1.default.checkIsBrowser()) {
32
+ document.dispatchEvent(new Event('pxhideloading'));
33
+ if (document.querySelector('[without-sdk-loading]')) {
34
+ return;
35
+ }
36
+ Loading._container().classList.add('closing-loading');
37
+ setTimeout(function () {
38
+ Loading._container().classList.remove('show-loading', 'closing-loading');
39
+ }, 300);
40
+ }
41
+ },
42
+ };
43
+ exports.default = Loading;
44
+ //# sourceMappingURL=PixelPayLoading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PixelPayLoading.js","sourceRoot":"","sources":["../../src/libraries/PixelPayLoading.ts"],"names":[],"mappings":";;AAAA,iCAA+B;AAC/B,2CAAsC;AACtC,4CAA8C;AAE9C,IAAM,OAAO,GAAG;IACf,UAAU,EAAE;QACX,IAAI,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;QAE5D,IAAI,SAAS,EAAE;YACd,OAAO,SAAS,CAAC;SACjB;QAED,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAE5C,SAAS,CAAC,SAAS,GAAG,oEACkB,KAAK,CAAC,IAAI,2FACb,KAAK,CAAC,IAAI,2EAE1B,CAAC;QAEtB,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAEtD,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,IAAI,EAAE;QACL,IAAI,iBAAO,CAAC,cAAc,EAAE,EAAE;YAC7B,QAAQ,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;YAEnD,IAAI,QAAQ,CAAC,aAAa,CAAC,uBAAuB,CAAC,EAAE;gBACpD,OAAO;aACP;YAED,OAAO,CAAC,UAAU,EAAE,CAAC;YAErB,UAAU,CAAC;gBACV,OAAO,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACpD,CAAC,EAAE,GAAG,CAAC,CAAC;SACR;IACF,CAAC;IAED,IAAI,EAAE;QACL,IAAI,iBAAO,CAAC,cAAc,EAAE,EAAE;YAC7B,QAAQ,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;YAEnD,IAAI,QAAQ,CAAC,aAAa,CAAC,uBAAuB,CAAC,EAAE;gBACpD,OAAO;aACP;YAED,OAAO,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YAEtD,UAAU,CAAC;gBACV,OAAO,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;YAC1E,CAAC,EAAE,GAAG,CAAC,CAAC;SACR;IACF,CAAC;CACD,CAAA;AAED,kBAAe,OAAO,CAAC"}
@@ -0,0 +1,12 @@
1
+ import '../assets/modal.css';
2
+ declare const Modal: {
3
+ is_open: boolean;
4
+ el: any;
5
+ _init: () => HTMLDivElement;
6
+ _createContainer: () => HTMLDivElement;
7
+ _createLoading: () => HTMLDivElement;
8
+ _createModalElement: () => HTMLDivElement;
9
+ show: () => void;
10
+ hide: () => void;
11
+ };
12
+ export default Modal;
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ require("../assets/modal.css");
4
+ var Helpers_1 = require("../base/Helpers");
5
+ var Modal = {
6
+ is_open: false,
7
+ el: null,
8
+ _init: function () {
9
+ Modal.is_open = false;
10
+ Modal.el = document.querySelector('body .pixelpay-modal');
11
+ if (!Modal.el) {
12
+ Modal.el = Modal._createModalElement();
13
+ }
14
+ return Modal.el;
15
+ },
16
+ _createContainer: function () {
17
+ var container = document.createElement('div');
18
+ container.classList.add('pixelpay-modal-container');
19
+ container.setAttribute('aria-modal', 'true');
20
+ return container;
21
+ },
22
+ _createLoading: function () {
23
+ var overlay = document.createElement('p');
24
+ overlay.innerHTML = '<span></span>';
25
+ return overlay;
26
+ },
27
+ _createModalElement: function () {
28
+ var modal = document.createElement('div');
29
+ modal.classList.add('pixelpay-modal');
30
+ modal.setAttribute('aria-hidden', 'true');
31
+ modal.appendChild(Modal._createContainer());
32
+ modal.appendChild(Modal._createLoading());
33
+ document.querySelector('body').appendChild(modal);
34
+ return modal;
35
+ },
36
+ show: function () {
37
+ if (Helpers_1.default.checkIsBrowser()) {
38
+ document.dispatchEvent(new Event('pxshowmodal'));
39
+ if (document.querySelector('[without-sdk-modal]')) {
40
+ return;
41
+ }
42
+ Modal._init();
43
+ setTimeout(function () {
44
+ Modal.el.classList.add('open-modal');
45
+ Modal.el.setAttribute('aria-hidden', 'true');
46
+ Modal.is_open = true;
47
+ }, 100);
48
+ }
49
+ },
50
+ hide: function () {
51
+ if (Helpers_1.default.checkIsBrowser()) {
52
+ document.dispatchEvent(new Event('pxshowmodal'));
53
+ if (document.querySelector('[without-sdk-modal]')) {
54
+ return;
55
+ }
56
+ Modal._init();
57
+ setTimeout(function () {
58
+ Modal.el.classList.remove('pixelpay-modal-fullscreen');
59
+ Modal.el.classList.remove('open-modal');
60
+ Modal.el.setAttribute('aria-hidden', 'false');
61
+ var frame = Modal.el.querySelector('.pixelpay-modal-iframe');
62
+ if (frame) {
63
+ frame.parentNode.removeChild(frame);
64
+ }
65
+ Modal.is_open = false;
66
+ Modal.el.dispatchEvent(new Event('onclose'));
67
+ }, 300);
68
+ }
69
+ },
70
+ };
71
+ exports.default = Modal;
72
+ //# sourceMappingURL=PixelPayModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PixelPayModal.js","sourceRoot":"","sources":["../../src/libraries/PixelPayModal.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,30 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var Billing = /** @class */ (function () {
4
4
  function Billing() {
5
+ /**
6
+ * Customer billing address
7
+ */
8
+ this.address = undefined;
9
+ /**
10
+ * Customer billing country alpha-2 code (ISO 3166-1)
11
+ */
12
+ this.country = undefined;
13
+ /**
14
+ * Customer billing state alpha code (ISO 3166-2)
15
+ */
16
+ this.state = undefined;
17
+ /**
18
+ * Customer billing city
19
+ */
20
+ this.city = undefined;
21
+ /**
22
+ * Customer billing postal code
23
+ */
24
+ this.zip = undefined;
25
+ /**
26
+ * Customer billing phone
27
+ */
28
+ this.phone = undefined;
5
29
  }
6
30
  return Billing;
7
31
  }());
@@ -1 +1 @@
1
- {"version":3,"file":"Billing.js","sourceRoot":"","sources":["../../src/models/Billing.ts"],"names":[],"mappings":";;AAAA;IAAA;IA8BA,CAAC;IAAD,cAAC;AAAD,CAAC,AA9BD,IA8BC"}
1
+ {"version":3,"file":"Billing.js","sourceRoot":"","sources":["../../src/models/Billing.ts"],"names":[],"mappings":";;AAAA;IAAA;QACC;;WAEG;QACH,YAAO,GAAW,SAAS,CAAC;QAE5B;;WAEG;QACH,YAAO,GAAW,SAAS,CAAC;QAE5B;;WAEG;QACH,UAAK,GAAW,SAAS,CAAC;QAE1B;;WAEG;QACH,SAAI,GAAW,SAAS,CAAC;QAEzB;;WAEG;QACH,QAAG,GAAW,SAAS,CAAC;QAExB;;WAEG;QACH,UAAK,GAAW,SAAS,CAAC;IAC3B,CAAC;IAAD,cAAC;AAAD,CAAC,AA9BD,IA8BC"}
@@ -2,6 +2,26 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var Card = /** @class */ (function () {
4
4
  function Card() {
5
+ /**
6
+ * Card number or PAN
7
+ */
8
+ this.number = undefined;
9
+ /**
10
+ * Card security code
11
+ */
12
+ this.cvv2 = undefined;
13
+ /**
14
+ * Card expire month date (MM)
15
+ */
16
+ this.expire_month = undefined;
17
+ /**
18
+ * Card expire year date (YYYY)
19
+ */
20
+ this.expire_year = undefined;
21
+ /**
22
+ * Cardholder name
23
+ */
24
+ this.cardholder = undefined;
5
25
  }
6
26
  /**
7
27
  * Get expire ISO format (YYMM)
@@ -9,6 +29,9 @@ var Card = /** @class */ (function () {
9
29
  * @return
10
30
  */
11
31
  Card.prototype.getExpireFormat = function () {
32
+ if (!this.expire_month || !this.expire_year) {
33
+ return '';
34
+ }
12
35
  var year = String(this.expire_year);
13
36
  var month = ('00' + this.expire_month).slice(-2);
14
37
  return year.substr(-2) + month;
@@ -1 +1 @@
1
- {"version":3,"file":"Card.js","sourceRoot":"","sources":["../../src/models/Card.ts"],"names":[],"mappings":";;AAAA;IAAA;IAqCA,CAAC;IAXA;;;;OAIG;IACH,8BAAe,GAAf;QACC,IAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACtC,IAAM,KAAK,GAAG,CAAC,IAAI,GAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IAChC,CAAC;IACF,WAAC;AAAD,CAAC,AArCD,IAqCC"}
1
+ {"version":3,"file":"Card.js","sourceRoot":"","sources":["../../src/models/Card.ts"],"names":[],"mappings":";;AAAA;IAAA;QACC;;WAEG;QACH,WAAM,GAAW,SAAS,CAAC;QAE3B;;WAEG;QACH,SAAI,GAAW,SAAS,CAAC;QAEzB;;WAEG;QACH,iBAAY,GAAW,SAAS,CAAC;QAEjC;;WAEG;QACH,gBAAW,GAAW,SAAS,CAAC;QAEhC;;WAEG;QACH,eAAU,GAAW,SAAS,CAAC;IAiBhC,CAAC;IAfA;;;;OAIG;IACH,8BAAe,GAAf;QACC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAC5C,OAAO,EAAE,CAAC;SACV;QAED,IAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACtC,IAAM,KAAK,GAAG,CAAC,IAAI,GAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IAChC,CAAC;IACF,WAAC;AAAD,CAAC,AAzCD,IAyCC"}