@montonio/montonio-js 1.0.44 → 1.0.45

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.
@@ -1,7 +1,7 @@
1
- var r;
2
- (function(s) {
3
- s.CHECKOUT_PAYMENT_COMPONENT_READY = "montonio:checkout.paymentComponentReady", s.CHECKOUT_CHANGE_LOCALE = "montonio:checkout.changeLocale", s.CHECKOUT_SUBMIT_PAYMENT = "montonio:checkout.submitPayment", s.CHECKOUT_START_PAYMENT_AUTH = "montonio:checkout.startPaymentAuth", s.CHECKOUT_SEND_PAYMENT_AUTH_DATA = "montonio:checkout.sendPaymentAuthData", s.CHECKOUT_PAYMENT_AUTH_COMPONENT_READY = "montonio:checkout.paymentAuthComponentReady", s.CHECKOUT_PAYMENT_AUTH_COMPLETED = "montonio:checkout.paymentAuthCompleted", s.CHECKOUT_PAYMENT_COMPLETED = "montonio:checkout.paymentCompleted", s.CHECKOUT_PAYMENT_FAILED = "montonio:checkout.paymentFailed", s.CHECKOUT_SEND_PAYMENT_FAILED_DATA = "montonio:checkout.sendPaymentFailedData", s.CHECKOUT_HEIGHT_CHANGED = "montonio:checkout.heightChanged", s.CHECKOUT_VALIDATE_FIELDS = "montonio:checkout.validateFields", s.CHECKOUT_VALIDATE_FIELDS_RESULT = "montonio:checkout.validateFieldsResult";
4
- })(r || (r = {}));
1
+ var o;
2
+ (function(i) {
3
+ i.CHECKOUT_PAYMENT_COMPONENT_READY = "montonio:checkout.paymentComponentReady", i.CHECKOUT_CHANGE_LOCALE = "montonio:checkout.changeLocale", i.CHECKOUT_SUBMIT_PAYMENT = "montonio:checkout.submitPayment", i.CHECKOUT_START_PAYMENT_AUTH = "montonio:checkout.startPaymentAuth", i.CHECKOUT_SEND_PAYMENT_AUTH_DATA = "montonio:checkout.sendPaymentAuthData", i.CHECKOUT_PAYMENT_AUTH_COMPONENT_READY = "montonio:checkout.paymentAuthComponentReady", i.CHECKOUT_PAYMENT_AUTH_COMPLETED = "montonio:checkout.paymentAuthCompleted", i.CHECKOUT_PAYMENT_COMPLETED = "montonio:checkout.paymentCompleted", i.CHECKOUT_PAYMENT_FAILED = "montonio:checkout.paymentFailed", i.CHECKOUT_SEND_PAYMENT_FAILED_DATA = "montonio:checkout.sendPaymentFailedData", i.CHECKOUT_HEIGHT_CHANGED = "montonio:checkout.heightChanged", i.CHECKOUT_VALIDATE_FIELDS = "montonio:checkout.validateFields", i.CHECKOUT_VALIDATE_FIELDS_RESULT = "montonio:checkout.validateFieldsResult", i.CHECKOUT_PAYMENT_FORM_CHANGED = "montonio:checkout.paymentFormChanged";
4
+ })(o || (o = {}));
5
5
  class h {
6
6
  constructor() {
7
7
  this.environmentVariables = {
@@ -21,12 +21,12 @@ class h {
21
21
  return this.environmentVariables[t][e];
22
22
  }
23
23
  }
24
- class m {
24
+ class l {
25
25
  constructor() {
26
26
  this.timeout = 3e4;
27
27
  }
28
28
  static get instance() {
29
- return m._instance || (m._instance = new m()), m._instance;
29
+ return l._instance || (l._instance = new l()), l._instance;
30
30
  }
31
31
  async get(t) {
32
32
  return this.request(t, "GET");
@@ -44,28 +44,28 @@ class m {
44
44
  * @param data Optional data to send in the request body
45
45
  * @returns Promise that resolves with the JSON response
46
46
  */
47
- async request(t, e, i) {
47
+ async request(t, e, s) {
48
48
  const n = new AbortController(), a = setTimeout(() => n.abort(), this.timeout);
49
49
  try {
50
- const o = {
50
+ const r = {
51
51
  Accept: "application/json",
52
- "X-Montonio-Js-Version": "1.0.44"
52
+ "X-Montonio-Js-Version": "1.0.45"
53
53
  };
54
- i && (o["Content-Type"] = "application/json");
54
+ s && (r["Content-Type"] = "application/json");
55
55
  const c = {
56
56
  method: e,
57
- headers: o,
57
+ headers: r,
58
58
  credentials: "include",
59
59
  mode: "cors",
60
60
  signal: n.signal
61
61
  };
62
- i && (c.body = JSON.stringify(i));
63
- const l = await fetch(t, c);
64
- if (!l.ok)
65
- throw new Error(`HTTP error ${l.status}: ${l.statusText}`);
66
- return await l.json();
67
- } catch (o) {
68
- throw o instanceof DOMException && o.name === "AbortError" ? new Error(`Request timeout after ${this.timeout}ms`) : o;
62
+ s && (c.body = JSON.stringify(s));
63
+ const m = await fetch(t, c);
64
+ if (!m.ok)
65
+ throw new Error(`HTTP error ${m.status}: ${m.statusText}`);
66
+ return await m.json();
67
+ } catch (r) {
68
+ throw r instanceof DOMException && r.name === "AbortError" ? new Error(`Request timeout after ${this.timeout}ms`) : r;
69
69
  } finally {
70
70
  clearTimeout(a);
71
71
  }
@@ -82,10 +82,10 @@ class f {
82
82
  * @param iframe Iframe object to listen to
83
83
  * @returns Subscription ID that can be used to unsubscribe
84
84
  */
85
- subscribe(t, e, i) {
85
+ subscribe(t, e, s) {
86
86
  if (this.subscriptions.has(t))
87
87
  throw new Error(`Subscription for '${t}' already exists`);
88
- const n = this.extractWindowFromIframe(i);
88
+ const n = this.extractWindowFromIframe(s);
89
89
  this.subscriptions.set(t, {
90
90
  handler: e,
91
91
  sources: [n]
@@ -95,11 +95,11 @@ class f {
95
95
  * Add an iframe to an existing subscription
96
96
  */
97
97
  addIframeToSubscription(t, e) {
98
- const i = this.subscriptions.get(t);
99
- if (!i)
98
+ const s = this.subscriptions.get(t);
99
+ if (!s)
100
100
  throw new Error(`Subscription for '${t}' not found`);
101
101
  const n = this.extractWindowFromIframe(e);
102
- i.sources.includes(n) || i.sources.push(n);
102
+ s.sources.includes(n) || s.sources.push(n);
103
103
  }
104
104
  /**
105
105
  * Wait for a specific message type from a specific source Iframe
@@ -108,21 +108,21 @@ class f {
108
108
  * @param timeout Timeout in milliseconds
109
109
  * @returns Promise that resolves when the message is received or rejects on timeout
110
110
  */
111
- waitForMessage(t, e, i = 3e4) {
111
+ waitForMessage(t, e, s = 3e4) {
112
112
  return new Promise((n, a) => {
113
- const o = setTimeout(() => {
114
- this.removeIframeFromSubscription(t, e), a(new Error(`Message ${t} timeout after ${i}ms`));
115
- }, i);
113
+ const r = setTimeout(() => {
114
+ this.removeIframeFromSubscription(t, e), a(new Error(`Message ${t} timeout after ${s}ms`));
115
+ }, s);
116
116
  this.subscribe(t, (c) => {
117
- clearTimeout(o), this.removeIframeFromSubscription(t, e), n(c);
117
+ clearTimeout(r), this.removeIframeFromSubscription(t, e), n(c);
118
118
  }, e);
119
119
  });
120
120
  }
121
121
  /**
122
122
  * Post a message to a specific iframe window
123
123
  */
124
- postMessage(t, e, i = "*") {
125
- this.extractWindowFromIframe(t).postMessage(e, i);
124
+ postMessage(t, e, s = "*") {
125
+ this.extractWindowFromIframe(t).postMessage(e, s);
126
126
  }
127
127
  /**
128
128
  * Clear all subscriptions
@@ -130,15 +130,22 @@ class f {
130
130
  clearAllSubscriptions() {
131
131
  this.subscriptions.clear();
132
132
  }
133
+ /**
134
+ * Clear all subscriptions except the ones in the except array
135
+ */
136
+ clearSubscriptionsExcept(t) {
137
+ for (const e of [...this.subscriptions.keys()])
138
+ t.includes(e) || this.subscriptions.delete(e);
139
+ }
133
140
  /**
134
141
  * Remove subscription for an iframe
135
142
  */
136
143
  removeIframeFromSubscription(t, e) {
137
- const i = this.subscriptions.get(t);
138
- if (!i)
144
+ const s = this.subscriptions.get(t);
145
+ if (!s)
139
146
  throw new Error(`Subscription for '${t}' not found`);
140
147
  const n = this.extractWindowFromIframe(e);
141
- i.sources = i.sources.filter((a) => a !== n), i.sources.length === 0 && this.subscriptions.delete(t);
148
+ s.sources = s.sources.filter((a) => a !== n), s.sources.length === 0 && this.subscriptions.delete(t);
142
149
  }
143
150
  /**
144
151
  * Set up the message listener for capturing all window messages
@@ -149,12 +156,12 @@ class f {
149
156
  if (!t.data || typeof t.data != "object" || !t.data.name)
150
157
  return;
151
158
  const e = t.data;
152
- this.subscriptions.forEach((i, n) => {
153
- if (!(n !== e.name || !i.sources.some((o) => o === t.source)))
159
+ this.subscriptions.forEach((s, n) => {
160
+ if (!(n !== e.name || !s.sources.some((r) => r === t.source)))
154
161
  try {
155
- i.handler(e);
156
- } catch (o) {
157
- console.error("Error in message handler:", o);
162
+ s.handler(e);
163
+ } catch (r) {
164
+ console.error("Error in message handler:", r);
158
165
  }
159
166
  });
160
167
  } catch (e) {
@@ -199,20 +206,20 @@ class C {
199
206
  * Listen to height change messages from the child window and change the height of the iframe element
200
207
  */
201
208
  startResizing(t) {
202
- this.messagingService.subscribe(r.CHECKOUT_HEIGHT_CHANGED, (e) => {
209
+ this.messagingService.subscribe(o.CHECKOUT_HEIGHT_CHANGED, (e) => {
203
210
  t.style.height = e.payload.height + "px";
204
211
  }, this);
205
212
  }
206
213
  setupIframe() {
207
- const { src: t, allow: e = "payment", styles: i = {} } = this.options;
214
+ const { src: t, allow: e = "payment", styles: s = {} } = this.options;
208
215
  this.element.src = t, this.element.allow = e;
209
- const n = { ...this.defaultStyles, ...i };
216
+ const n = { ...this.defaultStyles, ...s };
210
217
  Object.assign(this.element.style, n);
211
218
  }
212
219
  }
213
220
  class A {
214
221
  constructor() {
215
- this.mountElement = null, this.loaded = !1, this._iframe = null, this.messagingService = new f(), this.httpService = m.instance, this.configService = h.instance;
222
+ this.loaded = !1, this.mountElement = null, this._iframe = null, this.messagingService = new f(), this.httpService = l.instance, this.configService = h.instance;
216
223
  }
217
224
  get iframe() {
218
225
  if (!this._iframe)
@@ -226,38 +233,65 @@ class A {
226
233
  this.iframe && (this.iframe.unmount(), this.iframe = null);
227
234
  }
228
235
  }
229
- class T extends A {
236
+ function _(i) {
237
+ if (typeof i == "string") {
238
+ const t = document.querySelector(i);
239
+ if (!t || !(t instanceof HTMLElement))
240
+ throw new Error(`Element not found: ${i}`);
241
+ return t;
242
+ }
243
+ return i;
244
+ }
245
+ function T() {
246
+ const i = document.body.style.overflow || null;
247
+ return document.body.style.overflow = "hidden", { originalOverflow: i };
248
+ }
249
+ function g(i) {
250
+ i ? document.body.style.overflow = i : document.body.style.removeProperty("overflow");
251
+ }
252
+ class w extends A {
230
253
  constructor(t) {
231
- super(), this.options = t, this.mountElement = t.mountElement || document.body;
254
+ super(), this.originalBodyOverflow = null, this.options = t, this.mountElement = t.mountElement || document.body;
232
255
  }
233
256
  /**
234
257
  * Initialize and mount the payment auth iframe
235
258
  */
236
259
  async initialize() {
237
- if (this.options.paymentAuthData.type === "redirect") {
238
- await this.redirectViaPost(this.options.paymentAuthData);
239
- return;
240
- }
241
- if (!this.options.paymentAuthData.embeddedUrl)
242
- throw new Error("Embedded URL is not set in paymentAuthData");
243
- this.iframe = new C({
244
- src: this.options.paymentAuthData.embeddedUrl,
245
- mountElement: this.mountElement,
246
- styles: {
247
- width: "100vw",
248
- height: "100vh",
249
- position: "fixed",
250
- top: "0",
251
- left: "0",
252
- zIndex: "16777271"
253
- },
254
- resizeOnHeightChange: !1
255
- }), this.iframe.mount(), await this.messagingService.waitForMessage(r.CHECKOUT_PAYMENT_AUTH_COMPONENT_READY, this.iframe), this.messagingService.postMessage(this.iframe, {
256
- name: r.CHECKOUT_SEND_PAYMENT_AUTH_DATA,
257
- payload: {
258
- paymentAuthData: this.options.paymentAuthData
260
+ try {
261
+ if (this.options.paymentAuthData.type === "redirect") {
262
+ await this.redirectViaPost(this.options.paymentAuthData);
263
+ return;
259
264
  }
260
- });
265
+ if (!this.options.paymentAuthData.embeddedUrl)
266
+ throw new Error("Embedded URL is not set in paymentAuthData");
267
+ const { originalOverflow: t } = T();
268
+ this.originalBodyOverflow = t, this.iframe = new C({
269
+ src: this.options.paymentAuthData.embeddedUrl,
270
+ mountElement: this.mountElement,
271
+ styles: {
272
+ width: "100dvw",
273
+ height: "100dvh",
274
+ position: "fixed",
275
+ top: "0",
276
+ left: "0",
277
+ zIndex: "2147483647"
278
+ },
279
+ resizeOnHeightChange: !1
280
+ }), this.iframe.mount(), await this.messagingService.waitForMessage(o.CHECKOUT_PAYMENT_AUTH_COMPONENT_READY, this.iframe), this.messagingService.postMessage(this.iframe, {
281
+ name: o.CHECKOUT_SEND_PAYMENT_AUTH_DATA,
282
+ payload: {
283
+ paymentAuthData: this.options.paymentAuthData
284
+ }
285
+ }), this.loaded = !0;
286
+ } catch (t) {
287
+ throw this.cleanup(), t;
288
+ }
289
+ }
290
+ /**
291
+ * Clean up the payment auth component and restore body overflow
292
+ */
293
+ cleanup() {
294
+ this.loaded && g(this.originalBodyOverflow), super.cleanup();
261
295
  }
262
296
  /**
263
297
  * Handle redirect-based payment auth
@@ -267,25 +301,16 @@ class T extends A {
267
301
  throw new Error("Redirect URL is not set in paymentAuthData");
268
302
  const e = document.createElement("form");
269
303
  if (e.method = t.redirectMethod || "get", e.action = t.redirectUrl, e.style.display = "none", t.formData)
270
- for (const [i, n] of Object.entries(t.formData)) {
304
+ for (const [s, n] of Object.entries(t.formData)) {
271
305
  const a = document.createElement("input");
272
- a.type = "hidden", a.name = i, a.value = n, e.appendChild(a);
306
+ a.type = "hidden", a.name = s, a.value = n, e.appendChild(a);
273
307
  }
274
- throw document.body.appendChild(e), e.submit(), await new Promise((i) => setTimeout(i, 3e4)), new Error("Redirect timeout: Expected redirect to occur within 30 seconds");
275
- }
276
- }
277
- function g(s) {
278
- if (typeof s == "string") {
279
- const t = document.querySelector(s);
280
- if (!t || !(t instanceof HTMLElement))
281
- throw new Error(`Element not found: ${s}`);
282
- return t;
308
+ throw document.body.appendChild(e), e.submit(), await new Promise((s) => setTimeout(s, 3e4)), new Error("Redirect timeout: Expected redirect to occur within 30 seconds");
283
309
  }
284
- return s;
285
310
  }
286
311
  var d;
287
- (function(s) {
288
- s.DEVELOPMENT = "development", s.PRODUCTION = "production", s.SANDBOX = "sandbox", s.PRELIVE_SANDBOX = "prelive-sandbox", s.PRELIVE_PRODUCTION = "prelive-production";
312
+ (function(i) {
313
+ i.DEVELOPMENT = "development", i.PRODUCTION = "production", i.SANDBOX = "sandbox", i.PRELIVE_SANDBOX = "prelive-sandbox", i.PRELIVE_PRODUCTION = "prelive-production";
289
314
  })(d || (d = {}));
290
315
  class E extends Error {
291
316
  constructor(t = "MontonioCheckout not initialized. Please call the .initialize() method of the MontonioCheckout class first.") {
@@ -293,18 +318,18 @@ class E extends Error {
293
318
  }
294
319
  }
295
320
  class u extends Error {
296
- constructor() {
297
- super("Validation failed"), this.name = "ValidationError";
321
+ constructor(t = "Validation failed. Check payment details and try again.") {
322
+ super(t), this.name = "ValidationError";
298
323
  }
299
324
  }
300
- class _ extends Error {
325
+ class y extends Error {
301
326
  constructor(t) {
302
327
  super(`Payment failed: ${t.errorCode}`), this.name = "PaymentFailedError", this.paymentFailedMessageData = t;
303
328
  }
304
329
  }
305
- class y extends A {
330
+ class b extends A {
306
331
  constructor(t) {
307
- super(), this.paymentAuth = null, this.options = t, this.environment = t.environment || d.PRODUCTION;
332
+ super(), this.isValid = !1, this.paymentAuth = null, this.options = t, this.environment = t.environment || d.PRODUCTION;
308
333
  }
309
334
  /**
310
335
  * Mount the checkout to the DOM
@@ -312,7 +337,7 @@ class y extends A {
312
337
  */
313
338
  async initialize(t) {
314
339
  try {
315
- this.mountElement = g(t);
340
+ this.mountElement = _(t);
316
341
  const e = await this.fetchSession();
317
342
  return this.iframe = new C({
318
343
  src: e.url,
@@ -320,7 +345,7 @@ class y extends A {
320
345
  styles: {
321
346
  minHeight: "230px"
322
347
  }
323
- }), this.iframe.mount(), await this.messagingService.waitForMessage(r.CHECKOUT_PAYMENT_COMPONENT_READY, this.iframe), this.loaded = !0, !0;
348
+ }), this.iframe.mount(), await this.messagingService.waitForMessage(o.CHECKOUT_PAYMENT_COMPONENT_READY, this.iframe), this.listenForPaymentFormChanges(), this.loaded = !0, !0;
324
349
  } catch (e) {
325
350
  throw this.cleanup(), e;
326
351
  }
@@ -333,7 +358,7 @@ class y extends A {
333
358
  if (!this.loaded)
334
359
  throw new E();
335
360
  t.locale !== void 0 && (this.options.locale = t.locale, this.messagingService.postMessage(this.iframe, {
336
- name: r.CHECKOUT_CHANGE_LOCALE,
361
+ name: o.CHECKOUT_CHANGE_LOCALE,
337
362
  payload: { locale: t.locale }
338
363
  }));
339
364
  }
@@ -342,10 +367,10 @@ class y extends A {
342
367
  */
343
368
  async validateOrReject() {
344
369
  return new Promise((t, e) => {
345
- this.messagingService.waitForMessage(r.CHECKOUT_VALIDATE_FIELDS_RESULT, this.iframe).then((i) => {
346
- i.payload.isValid ? t() : e(new u());
370
+ this.messagingService.waitForMessage(o.CHECKOUT_VALIDATE_FIELDS_RESULT, this.iframe).then((s) => {
371
+ s.payload.isValid ? t() : e(new u());
347
372
  }).catch(() => e(new u())), this.messagingService.postMessage(this.iframe, {
348
- name: r.CHECKOUT_VALIDATE_FIELDS
373
+ name: o.CHECKOUT_VALIDATE_FIELDS
349
374
  });
350
375
  });
351
376
  }
@@ -357,29 +382,29 @@ class y extends A {
357
382
  if (!this.loaded)
358
383
  throw new E();
359
384
  return new Promise((t, e) => {
360
- this.messagingService.subscribe(r.CHECKOUT_PAYMENT_COMPLETED, async (i) => {
361
- console.log("CHECKOUT_PAYMENT_COMPLETED (from main iframe)", i);
362
- const n = await this.handlePaymentCompletedMessage(i);
385
+ this.messagingService.subscribe(o.CHECKOUT_PAYMENT_COMPLETED, async (s) => {
386
+ console.log("CHECKOUT_PAYMENT_COMPLETED (from main iframe)", s);
387
+ const n = await this.handlePaymentCompletedMessage(s);
363
388
  t(n), this.cleanupAfterPaymentSubmission();
364
- }, this.iframe), this.messagingService.subscribe(r.CHECKOUT_PAYMENT_FAILED, (i) => {
365
- console.error("CHECKOUT_PAYMENT_FAILED (from main iframe)", i), this.messagingService.postMessage(this.iframe, {
366
- name: r.CHECKOUT_SEND_PAYMENT_FAILED_DATA,
367
- payload: i.payload
368
- }), e(new _(i.payload)), this.cleanupAfterPaymentSubmission();
369
- }, this.iframe), this.messagingService.subscribe(r.CHECKOUT_VALIDATE_FIELDS_RESULT, (i) => {
370
- console.log("CHECKOUT_VALIDATE_FIELDS_RESULT", i), i.payload.isValid || e(new u());
371
- }, this.iframe), this.messagingService.subscribe(r.CHECKOUT_START_PAYMENT_AUTH, async (i) => {
389
+ }, this.iframe), this.messagingService.subscribe(o.CHECKOUT_PAYMENT_FAILED, (s) => {
390
+ console.error("CHECKOUT_PAYMENT_FAILED (from main iframe)", s), this.messagingService.postMessage(this.iframe, {
391
+ name: o.CHECKOUT_SEND_PAYMENT_FAILED_DATA,
392
+ payload: s.payload
393
+ }), e(new y(s.payload)), this.cleanupAfterPaymentSubmission();
394
+ }, this.iframe), this.messagingService.subscribe(o.CHECKOUT_VALIDATE_FIELDS_RESULT, (s) => {
395
+ console.log("CHECKOUT_VALIDATE_FIELDS_RESULT", s), s.payload.isValid || e(new u());
396
+ }, this.iframe), this.messagingService.subscribe(o.CHECKOUT_START_PAYMENT_AUTH, async (s) => {
372
397
  try {
373
- console.log("PAYMENT AUTH STARTED", i), this.paymentAuth = new T({
374
- paymentAuthData: i.payload.paymentAuthData
398
+ console.log("PAYMENT AUTH STARTED", s), this.paymentAuth = new w({
399
+ paymentAuthData: s.payload.paymentAuthData
375
400
  }), await this.paymentAuth.initialize();
376
401
  const n = this.paymentAuth.iframe;
377
- this.messagingService.addIframeToSubscription(r.CHECKOUT_PAYMENT_COMPLETED, n), this.messagingService.addIframeToSubscription(r.CHECKOUT_PAYMENT_FAILED, n);
402
+ this.messagingService.addIframeToSubscription(o.CHECKOUT_PAYMENT_COMPLETED, n), this.messagingService.addIframeToSubscription(o.CHECKOUT_PAYMENT_FAILED, n);
378
403
  } catch (n) {
379
404
  e(n);
380
405
  }
381
406
  }, this.iframe), this.messagingService.postMessage(this.iframe, {
382
- name: r.CHECKOUT_SUBMIT_PAYMENT
407
+ name: o.CHECKOUT_SUBMIT_PAYMENT
383
408
  });
384
409
  });
385
410
  }
@@ -387,42 +412,50 @@ class y extends A {
387
412
  const e = `${this.configService.getConfig("stargateUrl", this.environment)}/api/sessions/${this.options.sessionUuid}/gateway-url${this.options.locale ? `?preferredLocale=${this.options.locale}` : ""}`;
388
413
  return await this.httpService.get(e);
389
414
  }
415
+ /**
416
+ * Listen for changes in the payment form and update the isValid property
417
+ */
418
+ listenForPaymentFormChanges() {
419
+ this.messagingService.subscribe(o.CHECKOUT_PAYMENT_FORM_CHANGED, (t) => {
420
+ this.isValid = t.payload.isValid, console.log("CHECKOUT_PAYMENT_FORM_CHANGED", this.isValid);
421
+ }, this.iframe);
422
+ }
390
423
  /**
391
424
  * After a payment has completed, fetch the return URL. Keep fetching until we
392
425
  * exhaust all the attempts
393
426
  */
394
427
  async handlePaymentCompletedMessage(t) {
395
- const i = `${this.configService.getConfig("stargateUrl", this.environment)}/api/payment-intents/${t.payload.paymentIntentUuid}/return-url`, n = 10, a = 1e3;
396
- let o = 0;
397
- for (; o < n; ) {
428
+ const s = `${this.configService.getConfig("stargateUrl", this.environment)}/api/payment-intents/${t.payload.paymentIntentUuid}/return-url`, n = 10, a = 1e3;
429
+ let r = 0;
430
+ for (; r < n; ) {
398
431
  try {
399
- const c = await this.httpService.get(i);
400
- if (o++, c != null && c.merchantReturnUrl)
432
+ const c = await this.httpService.get(s);
433
+ if (r++, c != null && c.merchantReturnUrl)
401
434
  return {
402
435
  returnUrl: c.merchantReturnUrl
403
436
  };
404
437
  } catch (c) {
405
438
  console.error("Error fetching return URL:", c);
406
439
  }
407
- o < n && await new Promise((c) => setTimeout(c, a));
440
+ r < n && await new Promise((c) => setTimeout(c, a));
408
441
  }
409
- throw new Error(`Failed to fetch the return url after ${o} attempts`);
442
+ throw new Error(`Failed to fetch the return url after ${r} attempts`);
410
443
  }
411
444
  cleanupAfterPaymentSubmission() {
412
- this.messagingService.clearAllSubscriptions(), this.cleanupPaymentAuth();
445
+ this.messagingService.clearSubscriptionsExcept([o.CHECKOUT_PAYMENT_FORM_CHANGED]), this.cleanupPaymentAuth();
413
446
  }
414
447
  cleanupPaymentAuth() {
415
448
  this.paymentAuth && (this.paymentAuth.cleanup(), this.paymentAuth = null);
416
449
  }
417
450
  }
418
451
  var p;
419
- (function(s) {
420
- s.EN_US = "en_US", s.ET = "et", s.LV = "lv", s.LT = "lt", s.PL = "pl", s.FI = "fi", s.RU = "ru";
452
+ (function(i) {
453
+ i.EN_US = "en_US", i.ET = "et", i.LV = "lv", i.LT = "lt", i.PL = "pl", i.FI = "fi", i.RU = "ru";
421
454
  })(p || (p = {}));
422
455
  export {
423
456
  d as Environment,
424
457
  p as LocaleEnum,
425
- r as MessageTypeEnum,
426
- y as MontonioCheckout
458
+ o as MessageTypeEnum,
459
+ b as MontonioCheckout
427
460
  };
428
461
  //# sourceMappingURL=montonio.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"montonio.es.js","sources":["../src/services/Messaging/types.ts","../src/services/Config/Config.ts","../src/services/HTTP/HTTP.ts","../src/services/Messaging/Messaging.ts","../src/components/Iframe/Iframe.ts","../src/components/BaseComponent.ts","../src/components/PaymentAuth/PaymentAuth.ts","../src/utils/DOM/DOM.ts","../src/services/Config/types.ts","../src/common/exceptions/exceptions.ts","../src/components/MontonioCheckout/MontonioCheckout.ts","../src/components/MontonioCheckout/types.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null],"names":["MessageTypeEnum","ConfigService","name","environment","HTTPService","url","data","method","controller","timeoutId","headers","options","response","error","MessagingService","messageType","handler","iframe","windowSource","subscription","timeout","resolve","reject","message","messageData","targetOrigin","source","event","key","Iframe","_a","element","src","allow","styles","combinedStyles","BaseComponent","value","PaymentAuth","paymentAuthData","form","input","getElement","selector","Environment","MontonioCheckoutNotInitializedError","ValidationError","PaymentFailedError","paymentFailedMessageData","MontonioCheckout","mountTo","sessionData","res","completedMessage","result","failedMessage","paymentAuthIframe","paymentCompletedMessage","MAX_ATTEMPTS","DELAY_BETWEEN_ATTEMPTS_IN_MS","attempts","LocaleEnum"],"mappings":"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"}
1
+ {"version":3,"file":"montonio.es.js","sources":["../src/services/Messaging/types.ts","../src/services/Config/Config.ts","../src/services/HTTP/HTTP.ts","../src/services/Messaging/Messaging.ts","../src/components/Iframe/Iframe.ts","../src/components/BaseComponent.ts","../src/utils/DOM/DOM.ts","../src/components/PaymentAuth/PaymentAuth.ts","../src/services/Config/types.ts","../src/common/exceptions/exceptions.ts","../src/components/MontonioCheckout/MontonioCheckout.ts","../src/components/MontonioCheckout/types.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null],"names":["MessageTypeEnum","ConfigService","name","environment","HTTPService","url","data","method","controller","timeoutId","headers","options","response","error","MessagingService","messageType","handler","iframe","windowSource","subscription","timeout","resolve","reject","message","messageData","targetOrigin","except","key","source","event","Iframe","_a","element","src","allow","styles","combinedStyles","BaseComponent","value","getElement","selector","disableBodyScroll","originalOverflow","restoreBodyOverflow","PaymentAuth","paymentAuthData","form","input","Environment","MontonioCheckoutNotInitializedError","ValidationError","PaymentFailedError","paymentFailedMessageData","MontonioCheckout","mountTo","sessionData","res","completedMessage","result","failedMessage","paymentAuthIframe","paymentCompletedMessage","MAX_ATTEMPTS","DELAY_BETWEEN_ATTEMPTS_IN_MS","attempts","LocaleEnum"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- (function(s,h){typeof exports=="object"&&typeof module!="undefined"?h(exports):typeof define=="function"&&define.amd?define(["exports"],h):(s=typeof globalThis!="undefined"?globalThis:s||self,h(s.Montonio={}))})(this,function(s){"use strict";s.MessageTypeEnum=void 0,function(n){n.CHECKOUT_PAYMENT_COMPONENT_READY="montonio:checkout.paymentComponentReady",n.CHECKOUT_CHANGE_LOCALE="montonio:checkout.changeLocale",n.CHECKOUT_SUBMIT_PAYMENT="montonio:checkout.submitPayment",n.CHECKOUT_START_PAYMENT_AUTH="montonio:checkout.startPaymentAuth",n.CHECKOUT_SEND_PAYMENT_AUTH_DATA="montonio:checkout.sendPaymentAuthData",n.CHECKOUT_PAYMENT_AUTH_COMPONENT_READY="montonio:checkout.paymentAuthComponentReady",n.CHECKOUT_PAYMENT_AUTH_COMPLETED="montonio:checkout.paymentAuthCompleted",n.CHECKOUT_PAYMENT_COMPLETED="montonio:checkout.paymentCompleted",n.CHECKOUT_PAYMENT_FAILED="montonio:checkout.paymentFailed",n.CHECKOUT_SEND_PAYMENT_FAILED_DATA="montonio:checkout.sendPaymentFailedData",n.CHECKOUT_HEIGHT_CHANGED="montonio:checkout.heightChanged",n.CHECKOUT_VALIDATE_FIELDS="montonio:checkout.validateFields",n.CHECKOUT_VALIDATE_FIELDS_RESULT="montonio:checkout.validateFieldsResult"}(s.MessageTypeEnum||(s.MessageTypeEnum={}));class h{constructor(){this.environmentVariables={stargateUrl:{sandbox:"https://sandbox-stargate.montonio.com",production:"https://stargate.montonio.com","prelive-sandbox":"https://sandbox-stargate.prelive.montonio.com","prelive-production":"https://stargate.prelive.montonio.com",development:"https://api-stargate.montonio.dev"}}}static get instance(){return h._instance||(h._instance=new h),h._instance}getConfig(e,t){return this.environmentVariables[e][t]}}class m{constructor(){this.timeout=3e4}static get instance(){return m._instance||(m._instance=new m),m._instance}async get(e){return this.request(e,"GET")}async post(e,t){return this.request(e,"POST",t)}async patch(e,t){return this.request(e,"PATCH",t)}async request(e,t,i){const o=new AbortController,a=setTimeout(()=>o.abort(),this.timeout);try{const r={Accept:"application/json","X-Montonio-Js-Version":"1.0.44"};i&&(r["Content-Type"]="application/json");const c={method:t,headers:r,credentials:"include",mode:"cors",signal:o.signal};i&&(c.body=JSON.stringify(i));const u=await fetch(e,c);if(!u.ok)throw new Error(`HTTP error ${u.status}: ${u.statusText}`);return await u.json()}catch(r){throw r instanceof DOMException&&r.name==="AbortError"?new Error(`Request timeout after ${this.timeout}ms`):r}finally{clearTimeout(a)}}}class d{constructor(){this.subscriptions=new Map,this.setupMessageListener()}subscribe(e,t,i){if(this.subscriptions.has(e))throw new Error(`Subscription for '${e}' already exists`);const o=this.extractWindowFromIframe(i);this.subscriptions.set(e,{handler:t,sources:[o]})}addIframeToSubscription(e,t){const i=this.subscriptions.get(e);if(!i)throw new Error(`Subscription for '${e}' not found`);const o=this.extractWindowFromIframe(t);i.sources.includes(o)||i.sources.push(o)}waitForMessage(e,t,i=3e4){return new Promise((o,a)=>{const r=setTimeout(()=>{this.removeIframeFromSubscription(e,t),a(new Error(`Message ${e} timeout after ${i}ms`))},i);this.subscribe(e,c=>{clearTimeout(r),this.removeIframeFromSubscription(e,t),o(c)},t)})}postMessage(e,t,i="*"){this.extractWindowFromIframe(e).postMessage(t,i)}clearAllSubscriptions(){this.subscriptions.clear()}removeIframeFromSubscription(e,t){const i=this.subscriptions.get(e);if(!i)throw new Error(`Subscription for '${e}' not found`);const o=this.extractWindowFromIframe(t);i.sources=i.sources.filter(a=>a!==o),i.sources.length===0&&this.subscriptions.delete(e)}setupMessageListener(){window.addEventListener("message",e=>{try{if(!e.data||typeof e.data!="object"||!e.data.name)return;const t=e.data;this.subscriptions.forEach((i,o)=>{if(!(o!==t.name||!i.sources.some(r=>r===e.source)))try{i.handler(t)}catch(r){console.error("Error in message handler:",r)}})}catch(t){console.error("Error processing iframe message:",t)}})}extractWindowFromIframe(e){return e.getContentWindow()}}class E{constructor(e){var t;this.defaultStyles={all:"unset",display:"block",width:"100%",height:"100%"},this.options=e,this.resizeOnHeightChange=(t=e.resizeOnHeightChange)!==null&&t!==void 0?t:!0,this.element=document.createElement("iframe"),this.messagingService=new d,this.setupIframe()}mount(){return this.options.mountElement.appendChild(this.element),this.resizeOnHeightChange&&this.startResizing(this.element),this.element}unmount(){this.element.contentWindow&&this.messagingService.clearAllSubscriptions(),this.element.parentNode&&this.element.parentNode.removeChild(this.element)}getContentWindow(){if(!this.element.contentWindow)throw new Error("Iframe contentWindow is not available. Make sure the iframe is mounted and loaded.");return this.element.contentWindow}startResizing(e){this.messagingService.subscribe(s.MessageTypeEnum.CHECKOUT_HEIGHT_CHANGED,t=>{e.style.height=t.payload.height+"px"},this)}setupIframe(){const{src:e,allow:t="payment",styles:i={}}=this.options;this.element.src=e,this.element.allow=t;const o={...this.defaultStyles,...i};Object.assign(this.element.style,o)}}class f{constructor(){this.mountElement=null,this.loaded=!1,this._iframe=null,this.messagingService=new d,this.httpService=m.instance,this.configService=h.instance}get iframe(){if(!this._iframe)throw new Error("Iframe not initialized");return this._iframe}set iframe(e){this._iframe=e}cleanup(){this.iframe&&(this.iframe.unmount(),this.iframe=null)}}class T extends f{constructor(e){super(),this.options=e,this.mountElement=e.mountElement||document.body}async initialize(){if(this.options.paymentAuthData.type==="redirect"){await this.redirectViaPost(this.options.paymentAuthData);return}if(!this.options.paymentAuthData.embeddedUrl)throw new Error("Embedded URL is not set in paymentAuthData");this.iframe=new E({src:this.options.paymentAuthData.embeddedUrl,mountElement:this.mountElement,styles:{width:"100vw",height:"100vh",position:"fixed",top:"0",left:"0",zIndex:"16777271"},resizeOnHeightChange:!1}),this.iframe.mount(),await this.messagingService.waitForMessage(s.MessageTypeEnum.CHECKOUT_PAYMENT_AUTH_COMPONENT_READY,this.iframe),this.messagingService.postMessage(this.iframe,{name:s.MessageTypeEnum.CHECKOUT_SEND_PAYMENT_AUTH_DATA,payload:{paymentAuthData:this.options.paymentAuthData}})}async redirectViaPost(e){if(!e.redirectUrl)throw new Error("Redirect URL is not set in paymentAuthData");const t=document.createElement("form");if(t.method=e.redirectMethod||"get",t.action=e.redirectUrl,t.style.display="none",e.formData)for(const[i,o]of Object.entries(e.formData)){const a=document.createElement("input");a.type="hidden",a.name=i,a.value=o,t.appendChild(a)}throw document.body.appendChild(t),t.submit(),await new Promise(i=>setTimeout(i,3e4)),new Error("Redirect timeout: Expected redirect to occur within 30 seconds")}}function g(n){if(typeof n=="string"){const e=document.querySelector(n);if(!e||!(e instanceof HTMLElement))throw new Error(`Element not found: ${n}`);return e}return n}s.Environment=void 0,function(n){n.DEVELOPMENT="development",n.PRODUCTION="production",n.SANDBOX="sandbox",n.PRELIVE_SANDBOX="prelive-sandbox",n.PRELIVE_PRODUCTION="prelive-production"}(s.Environment||(s.Environment={}));class p extends Error{constructor(e="MontonioCheckout not initialized. Please call the .initialize() method of the MontonioCheckout class first."){super(e),this.name="MontonioCheckoutNotInitializedError"}}class l extends Error{constructor(){super("Validation failed"),this.name="ValidationError"}}class C extends Error{constructor(e){super(`Payment failed: ${e.errorCode}`),this.name="PaymentFailedError",this.paymentFailedMessageData=e}}class A extends f{constructor(e){super(),this.paymentAuth=null,this.options=e,this.environment=e.environment||s.Environment.PRODUCTION}async initialize(e){try{this.mountElement=g(e);const t=await this.fetchSession();return this.iframe=new E({src:t.url,mountElement:this.mountElement,styles:{minHeight:"230px"}}),this.iframe.mount(),await this.messagingService.waitForMessage(s.MessageTypeEnum.CHECKOUT_PAYMENT_COMPONENT_READY,this.iframe),this.loaded=!0,!0}catch(t){throw this.cleanup(),t}}updateOptions(e){if(!this.loaded)throw new p;e.locale!==void 0&&(this.options.locale=e.locale,this.messagingService.postMessage(this.iframe,{name:s.MessageTypeEnum.CHECKOUT_CHANGE_LOCALE,payload:{locale:e.locale}}))}async validateOrReject(){return new Promise((e,t)=>{this.messagingService.waitForMessage(s.MessageTypeEnum.CHECKOUT_VALIDATE_FIELDS_RESULT,this.iframe).then(i=>{i.payload.isValid?e():t(new l)}).catch(()=>t(new l)),this.messagingService.postMessage(this.iframe,{name:s.MessageTypeEnum.CHECKOUT_VALIDATE_FIELDS})})}async submitPayment(){if(!this.loaded)throw new p;return new Promise((e,t)=>{this.messagingService.subscribe(s.MessageTypeEnum.CHECKOUT_PAYMENT_COMPLETED,async i=>{console.log("CHECKOUT_PAYMENT_COMPLETED (from main iframe)",i);const o=await this.handlePaymentCompletedMessage(i);e(o),this.cleanupAfterPaymentSubmission()},this.iframe),this.messagingService.subscribe(s.MessageTypeEnum.CHECKOUT_PAYMENT_FAILED,i=>{console.error("CHECKOUT_PAYMENT_FAILED (from main iframe)",i),this.messagingService.postMessage(this.iframe,{name:s.MessageTypeEnum.CHECKOUT_SEND_PAYMENT_FAILED_DATA,payload:i.payload}),t(new C(i.payload)),this.cleanupAfterPaymentSubmission()},this.iframe),this.messagingService.subscribe(s.MessageTypeEnum.CHECKOUT_VALIDATE_FIELDS_RESULT,i=>{console.log("CHECKOUT_VALIDATE_FIELDS_RESULT",i),i.payload.isValid||t(new l)},this.iframe),this.messagingService.subscribe(s.MessageTypeEnum.CHECKOUT_START_PAYMENT_AUTH,async i=>{try{console.log("PAYMENT AUTH STARTED",i),this.paymentAuth=new T({paymentAuthData:i.payload.paymentAuthData}),await this.paymentAuth.initialize();const o=this.paymentAuth.iframe;this.messagingService.addIframeToSubscription(s.MessageTypeEnum.CHECKOUT_PAYMENT_COMPLETED,o),this.messagingService.addIframeToSubscription(s.MessageTypeEnum.CHECKOUT_PAYMENT_FAILED,o)}catch(o){t(o)}},this.iframe),this.messagingService.postMessage(this.iframe,{name:s.MessageTypeEnum.CHECKOUT_SUBMIT_PAYMENT})})}async fetchSession(){const t=`${this.configService.getConfig("stargateUrl",this.environment)}/api/sessions/${this.options.sessionUuid}/gateway-url${this.options.locale?`?preferredLocale=${this.options.locale}`:""}`;return await this.httpService.get(t)}async handlePaymentCompletedMessage(e){const i=`${this.configService.getConfig("stargateUrl",this.environment)}/api/payment-intents/${e.payload.paymentIntentUuid}/return-url`,o=10,a=1e3;let r=0;for(;r<o;){try{const c=await this.httpService.get(i);if(r++,c!=null&&c.merchantReturnUrl)return{returnUrl:c.merchantReturnUrl}}catch(c){console.error("Error fetching return URL:",c)}r<o&&await new Promise(c=>setTimeout(c,a))}throw new Error(`Failed to fetch the return url after ${r} attempts`)}cleanupAfterPaymentSubmission(){this.messagingService.clearAllSubscriptions(),this.cleanupPaymentAuth()}cleanupPaymentAuth(){this.paymentAuth&&(this.paymentAuth.cleanup(),this.paymentAuth=null)}}s.LocaleEnum=void 0,function(n){n.EN_US="en_US",n.ET="et",n.LV="lv",n.LT="lt",n.PL="pl",n.FI="fi",n.RU="ru"}(s.LocaleEnum||(s.LocaleEnum={})),s.MontonioCheckout=A,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})});
1
+ (function(s,h){typeof exports=="object"&&typeof module!="undefined"?h(exports):typeof define=="function"&&define.amd?define(["exports"],h):(s=typeof globalThis!="undefined"?globalThis:s||self,h(s.Montonio={}))})(this,function(s){"use strict";s.MessageTypeEnum=void 0,function(i){i.CHECKOUT_PAYMENT_COMPONENT_READY="montonio:checkout.paymentComponentReady",i.CHECKOUT_CHANGE_LOCALE="montonio:checkout.changeLocale",i.CHECKOUT_SUBMIT_PAYMENT="montonio:checkout.submitPayment",i.CHECKOUT_START_PAYMENT_AUTH="montonio:checkout.startPaymentAuth",i.CHECKOUT_SEND_PAYMENT_AUTH_DATA="montonio:checkout.sendPaymentAuthData",i.CHECKOUT_PAYMENT_AUTH_COMPONENT_READY="montonio:checkout.paymentAuthComponentReady",i.CHECKOUT_PAYMENT_AUTH_COMPLETED="montonio:checkout.paymentAuthCompleted",i.CHECKOUT_PAYMENT_COMPLETED="montonio:checkout.paymentCompleted",i.CHECKOUT_PAYMENT_FAILED="montonio:checkout.paymentFailed",i.CHECKOUT_SEND_PAYMENT_FAILED_DATA="montonio:checkout.sendPaymentFailedData",i.CHECKOUT_HEIGHT_CHANGED="montonio:checkout.heightChanged",i.CHECKOUT_VALIDATE_FIELDS="montonio:checkout.validateFields",i.CHECKOUT_VALIDATE_FIELDS_RESULT="montonio:checkout.validateFieldsResult",i.CHECKOUT_PAYMENT_FORM_CHANGED="montonio:checkout.paymentFormChanged"}(s.MessageTypeEnum||(s.MessageTypeEnum={}));class h{constructor(){this.environmentVariables={stargateUrl:{sandbox:"https://sandbox-stargate.montonio.com",production:"https://stargate.montonio.com","prelive-sandbox":"https://sandbox-stargate.prelive.montonio.com","prelive-production":"https://stargate.prelive.montonio.com",development:"https://api-stargate.montonio.dev"}}}static get instance(){return h._instance||(h._instance=new h),h._instance}getConfig(e,t){return this.environmentVariables[e][t]}}class l{constructor(){this.timeout=3e4}static get instance(){return l._instance||(l._instance=new l),l._instance}async get(e){return this.request(e,"GET")}async post(e,t){return this.request(e,"POST",t)}async patch(e,t){return this.request(e,"PATCH",t)}async request(e,t,n){const o=new AbortController,a=setTimeout(()=>o.abort(),this.timeout);try{const r={Accept:"application/json","X-Montonio-Js-Version":"1.0.45"};n&&(r["Content-Type"]="application/json");const c={method:t,headers:r,credentials:"include",mode:"cors",signal:o.signal};n&&(c.body=JSON.stringify(n));const m=await fetch(e,c);if(!m.ok)throw new Error(`HTTP error ${m.status}: ${m.statusText}`);return await m.json()}catch(r){throw r instanceof DOMException&&r.name==="AbortError"?new Error(`Request timeout after ${this.timeout}ms`):r}finally{clearTimeout(a)}}}class d{constructor(){this.subscriptions=new Map,this.setupMessageListener()}subscribe(e,t,n){if(this.subscriptions.has(e))throw new Error(`Subscription for '${e}' already exists`);const o=this.extractWindowFromIframe(n);this.subscriptions.set(e,{handler:t,sources:[o]})}addIframeToSubscription(e,t){const n=this.subscriptions.get(e);if(!n)throw new Error(`Subscription for '${e}' not found`);const o=this.extractWindowFromIframe(t);n.sources.includes(o)||n.sources.push(o)}waitForMessage(e,t,n=3e4){return new Promise((o,a)=>{const r=setTimeout(()=>{this.removeIframeFromSubscription(e,t),a(new Error(`Message ${e} timeout after ${n}ms`))},n);this.subscribe(e,c=>{clearTimeout(r),this.removeIframeFromSubscription(e,t),o(c)},t)})}postMessage(e,t,n="*"){this.extractWindowFromIframe(e).postMessage(t,n)}clearAllSubscriptions(){this.subscriptions.clear()}clearSubscriptionsExcept(e){for(const t of[...this.subscriptions.keys()])e.includes(t)||this.subscriptions.delete(t)}removeIframeFromSubscription(e,t){const n=this.subscriptions.get(e);if(!n)throw new Error(`Subscription for '${e}' not found`);const o=this.extractWindowFromIframe(t);n.sources=n.sources.filter(a=>a!==o),n.sources.length===0&&this.subscriptions.delete(e)}setupMessageListener(){window.addEventListener("message",e=>{try{if(!e.data||typeof e.data!="object"||!e.data.name)return;const t=e.data;this.subscriptions.forEach((n,o)=>{if(!(o!==t.name||!n.sources.some(r=>r===e.source)))try{n.handler(t)}catch(r){console.error("Error in message handler:",r)}})}catch(t){console.error("Error processing iframe message:",t)}})}extractWindowFromIframe(e){return e.getContentWindow()}}class E{constructor(e){var t;this.defaultStyles={all:"unset",display:"block",width:"100%",height:"100%"},this.options=e,this.resizeOnHeightChange=(t=e.resizeOnHeightChange)!==null&&t!==void 0?t:!0,this.element=document.createElement("iframe"),this.messagingService=new d,this.setupIframe()}mount(){return this.options.mountElement.appendChild(this.element),this.resizeOnHeightChange&&this.startResizing(this.element),this.element}unmount(){this.element.contentWindow&&this.messagingService.clearAllSubscriptions(),this.element.parentNode&&this.element.parentNode.removeChild(this.element)}getContentWindow(){if(!this.element.contentWindow)throw new Error("Iframe contentWindow is not available. Make sure the iframe is mounted and loaded.");return this.element.contentWindow}startResizing(e){this.messagingService.subscribe(s.MessageTypeEnum.CHECKOUT_HEIGHT_CHANGED,t=>{e.style.height=t.payload.height+"px"},this)}setupIframe(){const{src:e,allow:t="payment",styles:n={}}=this.options;this.element.src=e,this.element.allow=t;const o={...this.defaultStyles,...n};Object.assign(this.element.style,o)}}class f{constructor(){this.loaded=!1,this.mountElement=null,this._iframe=null,this.messagingService=new d,this.httpService=l.instance,this.configService=h.instance}get iframe(){if(!this._iframe)throw new Error("Iframe not initialized");return this._iframe}set iframe(e){this._iframe=e}cleanup(){this.iframe&&(this.iframe.unmount(),this.iframe=null)}}function T(i){if(typeof i=="string"){const e=document.querySelector(i);if(!e||!(e instanceof HTMLElement))throw new Error(`Element not found: ${i}`);return e}return i}function g(){const i=document.body.style.overflow||null;return document.body.style.overflow="hidden",{originalOverflow:i}}function C(i){i?document.body.style.overflow=i:document.body.style.removeProperty("overflow")}class y extends f{constructor(e){super(),this.originalBodyOverflow=null,this.options=e,this.mountElement=e.mountElement||document.body}async initialize(){try{if(this.options.paymentAuthData.type==="redirect"){await this.redirectViaPost(this.options.paymentAuthData);return}if(!this.options.paymentAuthData.embeddedUrl)throw new Error("Embedded URL is not set in paymentAuthData");const{originalOverflow:e}=g();this.originalBodyOverflow=e,this.iframe=new E({src:this.options.paymentAuthData.embeddedUrl,mountElement:this.mountElement,styles:{width:"100dvw",height:"100dvh",position:"fixed",top:"0",left:"0",zIndex:"2147483647"},resizeOnHeightChange:!1}),this.iframe.mount(),await this.messagingService.waitForMessage(s.MessageTypeEnum.CHECKOUT_PAYMENT_AUTH_COMPONENT_READY,this.iframe),this.messagingService.postMessage(this.iframe,{name:s.MessageTypeEnum.CHECKOUT_SEND_PAYMENT_AUTH_DATA,payload:{paymentAuthData:this.options.paymentAuthData}}),this.loaded=!0}catch(e){throw this.cleanup(),e}}cleanup(){this.loaded&&C(this.originalBodyOverflow),super.cleanup()}async redirectViaPost(e){if(!e.redirectUrl)throw new Error("Redirect URL is not set in paymentAuthData");const t=document.createElement("form");if(t.method=e.redirectMethod||"get",t.action=e.redirectUrl,t.style.display="none",e.formData)for(const[n,o]of Object.entries(e.formData)){const a=document.createElement("input");a.type="hidden",a.name=n,a.value=o,t.appendChild(a)}throw document.body.appendChild(t),t.submit(),await new Promise(n=>setTimeout(n,3e4)),new Error("Redirect timeout: Expected redirect to occur within 30 seconds")}}s.Environment=void 0,function(i){i.DEVELOPMENT="development",i.PRODUCTION="production",i.SANDBOX="sandbox",i.PRELIVE_SANDBOX="prelive-sandbox",i.PRELIVE_PRODUCTION="prelive-production"}(s.Environment||(s.Environment={}));class p extends Error{constructor(e="MontonioCheckout not initialized. Please call the .initialize() method of the MontonioCheckout class first."){super(e),this.name="MontonioCheckoutNotInitializedError"}}class u extends Error{constructor(e="Validation failed. Check payment details and try again."){super(e),this.name="ValidationError"}}class A extends Error{constructor(e){super(`Payment failed: ${e.errorCode}`),this.name="PaymentFailedError",this.paymentFailedMessageData=e}}class _ extends f{constructor(e){super(),this.isValid=!1,this.paymentAuth=null,this.options=e,this.environment=e.environment||s.Environment.PRODUCTION}async initialize(e){try{this.mountElement=T(e);const t=await this.fetchSession();return this.iframe=new E({src:t.url,mountElement:this.mountElement,styles:{minHeight:"230px"}}),this.iframe.mount(),await this.messagingService.waitForMessage(s.MessageTypeEnum.CHECKOUT_PAYMENT_COMPONENT_READY,this.iframe),this.listenForPaymentFormChanges(),this.loaded=!0,!0}catch(t){throw this.cleanup(),t}}updateOptions(e){if(!this.loaded)throw new p;e.locale!==void 0&&(this.options.locale=e.locale,this.messagingService.postMessage(this.iframe,{name:s.MessageTypeEnum.CHECKOUT_CHANGE_LOCALE,payload:{locale:e.locale}}))}async validateOrReject(){return new Promise((e,t)=>{this.messagingService.waitForMessage(s.MessageTypeEnum.CHECKOUT_VALIDATE_FIELDS_RESULT,this.iframe).then(n=>{n.payload.isValid?e():t(new u)}).catch(()=>t(new u)),this.messagingService.postMessage(this.iframe,{name:s.MessageTypeEnum.CHECKOUT_VALIDATE_FIELDS})})}async submitPayment(){if(!this.loaded)throw new p;return new Promise((e,t)=>{this.messagingService.subscribe(s.MessageTypeEnum.CHECKOUT_PAYMENT_COMPLETED,async n=>{console.log("CHECKOUT_PAYMENT_COMPLETED (from main iframe)",n);const o=await this.handlePaymentCompletedMessage(n);e(o),this.cleanupAfterPaymentSubmission()},this.iframe),this.messagingService.subscribe(s.MessageTypeEnum.CHECKOUT_PAYMENT_FAILED,n=>{console.error("CHECKOUT_PAYMENT_FAILED (from main iframe)",n),this.messagingService.postMessage(this.iframe,{name:s.MessageTypeEnum.CHECKOUT_SEND_PAYMENT_FAILED_DATA,payload:n.payload}),t(new A(n.payload)),this.cleanupAfterPaymentSubmission()},this.iframe),this.messagingService.subscribe(s.MessageTypeEnum.CHECKOUT_VALIDATE_FIELDS_RESULT,n=>{console.log("CHECKOUT_VALIDATE_FIELDS_RESULT",n),n.payload.isValid||t(new u)},this.iframe),this.messagingService.subscribe(s.MessageTypeEnum.CHECKOUT_START_PAYMENT_AUTH,async n=>{try{console.log("PAYMENT AUTH STARTED",n),this.paymentAuth=new y({paymentAuthData:n.payload.paymentAuthData}),await this.paymentAuth.initialize();const o=this.paymentAuth.iframe;this.messagingService.addIframeToSubscription(s.MessageTypeEnum.CHECKOUT_PAYMENT_COMPLETED,o),this.messagingService.addIframeToSubscription(s.MessageTypeEnum.CHECKOUT_PAYMENT_FAILED,o)}catch(o){t(o)}},this.iframe),this.messagingService.postMessage(this.iframe,{name:s.MessageTypeEnum.CHECKOUT_SUBMIT_PAYMENT})})}async fetchSession(){const t=`${this.configService.getConfig("stargateUrl",this.environment)}/api/sessions/${this.options.sessionUuid}/gateway-url${this.options.locale?`?preferredLocale=${this.options.locale}`:""}`;return await this.httpService.get(t)}listenForPaymentFormChanges(){this.messagingService.subscribe(s.MessageTypeEnum.CHECKOUT_PAYMENT_FORM_CHANGED,e=>{this.isValid=e.payload.isValid,console.log("CHECKOUT_PAYMENT_FORM_CHANGED",this.isValid)},this.iframe)}async handlePaymentCompletedMessage(e){const n=`${this.configService.getConfig("stargateUrl",this.environment)}/api/payment-intents/${e.payload.paymentIntentUuid}/return-url`,o=10,a=1e3;let r=0;for(;r<o;){try{const c=await this.httpService.get(n);if(r++,c!=null&&c.merchantReturnUrl)return{returnUrl:c.merchantReturnUrl}}catch(c){console.error("Error fetching return URL:",c)}r<o&&await new Promise(c=>setTimeout(c,a))}throw new Error(`Failed to fetch the return url after ${r} attempts`)}cleanupAfterPaymentSubmission(){this.messagingService.clearSubscriptionsExcept([s.MessageTypeEnum.CHECKOUT_PAYMENT_FORM_CHANGED]),this.cleanupPaymentAuth()}cleanupPaymentAuth(){this.paymentAuth&&(this.paymentAuth.cleanup(),this.paymentAuth=null)}}s.LocaleEnum=void 0,function(i){i.EN_US="en_US",i.ET="et",i.LV="lv",i.LT="lt",i.PL="pl",i.FI="fi",i.RU="ru"}(s.LocaleEnum||(s.LocaleEnum={})),s.MontonioCheckout=_,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})});
2
2
  //# sourceMappingURL=montonio.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"montonio.umd.js","sources":["../src/services/Messaging/types.ts","../src/services/Config/Config.ts","../src/services/HTTP/HTTP.ts","../src/services/Messaging/Messaging.ts","../src/components/Iframe/Iframe.ts","../src/components/BaseComponent.ts","../src/components/PaymentAuth/PaymentAuth.ts","../src/utils/DOM/DOM.ts","../src/services/Config/types.ts","../src/common/exceptions/exceptions.ts","../src/components/MontonioCheckout/MontonioCheckout.ts","../src/components/MontonioCheckout/types.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null],"names":["MessageTypeEnum","ConfigService","name","environment","HTTPService","url","data","method","controller","timeoutId","headers","options","response","error","MessagingService","messageType","handler","iframe","windowSource","subscription","timeout","resolve","reject","message","messageData","targetOrigin","source","event","key","Iframe","_a","element","src","allow","styles","combinedStyles","BaseComponent","value","PaymentAuth","paymentAuthData","form","input","getElement","selector","Environment","MontonioCheckoutNotInitializedError","ValidationError","PaymentFailedError","paymentFailedMessageData","MontonioCheckout","mountTo","sessionData","res","completedMessage","result","failedMessage","paymentAuthIframe","paymentCompletedMessage","MAX_ATTEMPTS","DELAY_BETWEEN_ATTEMPTS_IN_MS","attempts","LocaleEnum"],"mappings":"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"}
1
+ {"version":3,"file":"montonio.umd.js","sources":["../src/services/Messaging/types.ts","../src/services/Config/Config.ts","../src/services/HTTP/HTTP.ts","../src/services/Messaging/Messaging.ts","../src/components/Iframe/Iframe.ts","../src/components/BaseComponent.ts","../src/utils/DOM/DOM.ts","../src/components/PaymentAuth/PaymentAuth.ts","../src/services/Config/types.ts","../src/common/exceptions/exceptions.ts","../src/components/MontonioCheckout/MontonioCheckout.ts","../src/components/MontonioCheckout/types.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null],"names":["MessageTypeEnum","ConfigService","name","environment","HTTPService","url","data","method","controller","timeoutId","headers","options","response","error","MessagingService","messageType","handler","iframe","windowSource","subscription","timeout","resolve","reject","message","messageData","targetOrigin","except","key","source","event","Iframe","_a","element","src","allow","styles","combinedStyles","BaseComponent","value","getElement","selector","disableBodyScroll","originalOverflow","restoreBodyOverflow","PaymentAuth","paymentAuthData","form","input","Environment","MontonioCheckoutNotInitializedError","ValidationError","PaymentFailedError","paymentFailedMessageData","MontonioCheckout","mountTo","sessionData","res","completedMessage","result","failedMessage","paymentAuthIframe","paymentCompletedMessage","MAX_ATTEMPTS","DELAY_BETWEEN_ATTEMPTS_IN_MS","attempts","LocaleEnum"],"mappings":"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"}
@@ -6,7 +6,7 @@ export declare class PaymentAuthNotInitializedError extends Error {
6
6
  constructor(message?: string);
7
7
  }
8
8
  export declare class ValidationError extends Error {
9
- constructor();
9
+ constructor(message?: string);
10
10
  }
11
11
  export declare class PaymentFailedError extends Error {
12
12
  paymentFailedMessageData: PaymentFailedMessageData;
@@ -1,11 +1,11 @@
1
1
  import { Iframe } from './';
2
2
  import { ConfigService, HTTPService, MessagingService } from '../services';
3
3
  export declare abstract class BaseComponent {
4
+ loaded: boolean;
4
5
  protected httpService: HTTPService;
5
6
  protected configService: ConfigService;
6
7
  protected messagingService: MessagingService;
7
8
  protected mountElement: HTMLElement | null;
8
- protected loaded: boolean;
9
9
  private _iframe;
10
10
  protected constructor();
11
11
  get iframe(): Iframe;
@@ -1,6 +1,7 @@
1
1
  import { CheckoutOptions, PaymentResult, UpdatableCheckoutOptions } from './types';
2
2
  import { BaseComponent } from '../BaseComponent';
3
3
  export declare class MontonioCheckout extends BaseComponent {
4
+ isValid: boolean;
4
5
  private options;
5
6
  private readonly environment;
6
7
  private paymentAuth;
@@ -25,6 +26,10 @@ export declare class MontonioCheckout extends BaseComponent {
25
26
  */
26
27
  submitPayment(): Promise<PaymentResult>;
27
28
  private fetchSession;
29
+ /**
30
+ * Listen for changes in the payment form and update the isValid property
31
+ */
32
+ private listenForPaymentFormChanges;
28
33
  /**
29
34
  * After a payment has completed, fetch the return URL. Keep fetching until we
30
35
  * exhaust all the attempts
@@ -2,11 +2,16 @@ import { PaymentAuthOptions } from './types';
2
2
  import { BaseComponent } from '../BaseComponent';
3
3
  export declare class PaymentAuth extends BaseComponent {
4
4
  private options;
5
+ private originalBodyOverflow;
5
6
  constructor(options: PaymentAuthOptions);
6
7
  /**
7
8
  * Initialize and mount the payment auth iframe
8
9
  */
9
10
  initialize(): Promise<void>;
11
+ /**
12
+ * Clean up the payment auth component and restore body overflow
13
+ */
14
+ cleanup(): void;
10
15
  /**
11
16
  * Handle redirect-based payment auth
12
17
  */
@@ -41,6 +41,10 @@ export declare class MessagingService {
41
41
  * Clear all subscriptions
42
42
  */
43
43
  clearAllSubscriptions(): void;
44
+ /**
45
+ * Clear all subscriptions except the ones in the except array
46
+ */
47
+ clearSubscriptionsExcept(except: MessageTypeEnum[]): void;
44
48
  /**
45
49
  * Remove subscription for an iframe
46
50
  */
@@ -19,7 +19,8 @@ export declare enum MessageTypeEnum {
19
19
  CHECKOUT_SEND_PAYMENT_FAILED_DATA = "montonio:checkout.sendPaymentFailedData",
20
20
  CHECKOUT_HEIGHT_CHANGED = "montonio:checkout.heightChanged",
21
21
  CHECKOUT_VALIDATE_FIELDS = "montonio:checkout.validateFields",
22
- CHECKOUT_VALIDATE_FIELDS_RESULT = "montonio:checkout.validateFieldsResult"
22
+ CHECKOUT_VALIDATE_FIELDS_RESULT = "montonio:checkout.validateFieldsResult",
23
+ CHECKOUT_PAYMENT_FORM_CHANGED = "montonio:checkout.paymentFormChanged"
23
24
  }
24
25
  export type Messages = {
25
26
  name: MessageTypeEnum.CHECKOUT_PAYMENT_COMPONENT_READY;
@@ -70,6 +71,11 @@ export type Messages = {
70
71
  payload: {
71
72
  isValid: boolean;
72
73
  };
74
+ } | {
75
+ name: MessageTypeEnum.CHECKOUT_PAYMENT_FORM_CHANGED;
76
+ payload: {
77
+ isValid: boolean;
78
+ };
73
79
  };
74
80
  export type MessageByType<T extends MessageTypeEnum> = Extract<Messages, {
75
81
  name: T;
@@ -8,3 +8,14 @@
8
8
  * @throws Error if element is not found
9
9
  */
10
10
  export declare function getElement(selector: string | HTMLElement): HTMLElement;
11
+ /**
12
+ * Set 'overflow: hidden' on the document body and return the original value which can be used to restore it later
13
+ * @returns object with the original overflow value
14
+ */
15
+ export declare function disableBodyScroll(): {
16
+ originalOverflow: string | null;
17
+ };
18
+ /**
19
+ * Restore the body overflow to its original value
20
+ */
21
+ export declare function restoreBodyOverflow(originalOverflow: string | null): void;
@@ -1 +1 @@
1
- export { getElement } from './DOM/DOM';
1
+ export { getElement, disableBodyScroll, restoreBodyOverflow } from './DOM/DOM';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@montonio/montonio-js",
3
- "version": "1.0.44",
3
+ "version": "1.0.45",
4
4
  "description": "Montonio JS SDK for front-end web applications",
5
5
  "type": "module",
6
6
  "publishConfig": {