@montonio/montonio-js 1.0.57 → 1.0.58

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.
package/README.md CHANGED
@@ -37,7 +37,7 @@ The following examples use the async/await syntax. If you are using `<script>` t
37
37
 
38
38
  # Usage
39
39
 
40
- To integrate Montonio's embeddable payment methods into your checkout, you first need to create a Montonio Session on your server. Follow the [Montonio Documentation](https://docs.montonio.com/) to create a session. Once you have the session UUID, you can use it to initialize the `MontonioCheckout` component on your front-end.
40
+ To integrate Montonio's embeddable payment methods into your checkout, you first need to create a Montonio Session on your server. Follow the [Embedded Cards](https://docs.montonio.com/api/stargate/guides/embedded-cards) guide to create a session. Once you have the session UUID, you can use it to initialize the `MontonioCheckout` component on your front-end.
41
41
 
42
42
  ### 1. Initialize MontonioCheckout
43
43
 
@@ -47,7 +47,7 @@ First, create a container element in your HTML where MontonioCheckout will be re
47
47
  <div id="montonio-checkout-container"></div>
48
48
  ```
49
49
 
50
- Then, initialize the `MontonioCheckout` component with the session UUID and the container element.
50
+ Then, initialize the `MontonioCheckout` component with the session UUID, callback handlers, and the container element.
51
51
 
52
52
  ```javascript
53
53
  import { MontonioCheckout } from '@montonio/montonio-js'; // ES Module usage. See above for UMD imports
@@ -55,6 +55,17 @@ import { MontonioCheckout } from '@montonio/montonio-js'; // ES Module usage. Se
55
55
  const checkoutOptions = {
56
56
  sessionUuid: 'session-uuid', // The UUID of the session created on your server
57
57
  environment: 'sandbox', // Defaults to 'production'
58
+ onSuccess: (result) => {
59
+ // Payment completed successfully
60
+ // Redirect to the thank you page
61
+ window.location.href = result.returnUrl;
62
+ },
63
+ onError: (error) => {
64
+ // Payment failed or validation error occurred
65
+ console.error('Payment failed:', error);
66
+ alert('Payment failed. Please try again.');
67
+ // Unlock your checkout form to allow the user to try again
68
+ }
58
69
  };
59
70
 
60
71
  const montonioCheckout = new MontonioCheckout(checkoutOptions);
@@ -71,7 +82,7 @@ Most embedded payment methods require user input (e.g. card details). As such, y
71
82
  // User clicks the "Pay" button in your checkout form
72
83
  // Make sure to now lock your checkout and prevent the user from making any further changes.
73
84
  try {
74
- await montonioCheckout.validateOrReject();
85
+ montonioCheckout.validateOrReject();
75
86
  // Proceed with the payment
76
87
  } catch (error) {
77
88
  // Handle validation errors
@@ -80,21 +91,26 @@ try {
80
91
 
81
92
  ### 3. Create the order and submit the payment
82
93
 
83
- Once the user has clicked the "Pay" button in your checkout and you have validated the form, you can create the order and submit the payment. First, you need to create a Montonio Order on your server. Follow the [Montonio Documentation](https://docs.montonio.com/) to create an order. Make sure you include the session UUID in the order request.
94
+ Once the user has clicked the "Pay" button in your checkout and you have validated the form, you can create the order and submit the payment. First, you need to create a Montonio Order on your server. Follow the [Create and validate an Order](https://docs.montonio.com/api/stargate/guides/orders) guide to create an order. Make sure you include the session UUID in the order request.
84
95
 
85
96
  Once the order is created, you can call the `submitPayment` method on the `MontonioCheckout` instance.
86
97
 
87
98
  Immediately after the user clicks "Pay" and even before you create the Montonio order, lock your checkout and prevent the user from making any further changes. Show a loading indicator to the user while the order is being created and while the payment is being submitted.
88
99
 
89
100
  ```javascript
90
- try {
91
- const result = await montonioCheckout.submitPayment();
92
- window.location.href = result.returnUrl; // Redirect the user to the thank you page
93
- } catch (error) {
94
- // Handle errors
95
- }
101
+ // Submit the payment
102
+ montonioCheckout.submitPayment();
103
+
104
+ // The onSuccess callback will be invoked when payment completes successfully
105
+ // The onError callback will be invoked if payment fails
96
106
  ```
97
107
 
98
- The `MontonioCheckout.submitPayment()` method will attempt to submit the payment form and complete the payment. In case a payment method requires additional user authentication (such as 3DS for card payments), a modal will pop up to handle the authentication. The original `submitPayment` promise will be resolved when the authentication is complete, and the final result of the payment process will be returned.
108
+ The `MontonioCheckout.submitPayment()` method will initiate the payment submission. In case a payment method requires additional user authentication (such as 3DS for card payments), a modal will pop up to handle the authentication.
109
+
110
+ When the payment completes (successfully or with an error), the appropriate callback you defined during initialization will be invoked:
111
+ - **`onSuccess(result)`**: Called when payment is successful. The result contains `paymentStatus`, `orderToken`, and `returnUrl` fields.
112
+ - **`onError(error)`**: Called when payment fails or validation errors occur.
113
+
114
+ The `returnUrl` is the URL you provided in the backend request to create the order. As per the API documentation, this URL will contain the `order-token` query parameter, which you can use to validate the payment. In most cases, you should redirect the user to the `returnUrl` in your `onSuccess` callback and handle the token validation on that page.
99
115
 
100
- The final result will contain the `paymentStatus`, `orderToken`, and `returnUrl` fields. The `returnUrl` is the URL you provided in the backend request to create the order. As per the API documentation, this URL will contain the `order-token` query parameter, which you can use to validate the payment. In most cases, you should just redirect the user to the `returnUrl` and handle the token validation on that page.
116
+ **Note:** The callbacks will be invoked even if the payment completes without explicitly calling `submitPayment()`, for example if the user completes the payment directly within the embedded payment form.
@@ -2,17 +2,17 @@ var m;
2
2
  (function(e) {
3
3
  e.MONTONIO_CHECKOUT_NOT_INITIALIZED = "MONTONIO_CHECKOUT_NOT_INITIALIZED", e.VALIDATION_ERROR = "VALIDATION_ERROR", e.PAYMENT_FAILED = "PAYMENT_FAILED", e.FAILED_TO_FETCH_RETURN_URL = "FAILED_TO_FETCH_RETURN_URL";
4
4
  })(m || (m = {}));
5
- class p extends Error {
5
+ class E extends Error {
6
6
  constructor(t = "MontonioCheckout not initialized. Please call the .initialize() method of the MontonioCheckout class first.") {
7
7
  super(t), this.name = m.MONTONIO_CHECKOUT_NOT_INITIALIZED;
8
8
  }
9
9
  }
10
- class d extends Error {
10
+ class p extends Error {
11
11
  constructor(t = "Validation failed. Check payment details and try again.") {
12
12
  super(t), this.displayedInPaymentComponent = !0, this.name = m.VALIDATION_ERROR;
13
13
  }
14
14
  }
15
- class g extends Error {
15
+ class y extends Error {
16
16
  constructor(t) {
17
17
  super(`Payment failed: ${t.errorCode}`), this.displayedInPaymentComponent = !0, this.name = m.PAYMENT_FAILED, this.paymentFailedMessageData = t;
18
18
  }
@@ -69,22 +69,22 @@ class l {
69
69
  * @param data Optional data to send in the request body
70
70
  * @returns Promise that resolves with the JSON response
71
71
  */
72
- async request(t, i, o) {
73
- const s = new AbortController(), c = setTimeout(() => s.abort(), this.timeout);
72
+ async request(t, i, s) {
73
+ const o = new AbortController(), c = setTimeout(() => o.abort(), this.timeout);
74
74
  try {
75
75
  const r = {
76
76
  Accept: "application/json",
77
- "X-Montonio-Js-Version": "1.0.57"
77
+ "X-Montonio-Js-Version": "1.0.58"
78
78
  };
79
- o && (r["Content-Type"] = "application/json");
79
+ s && (r["Content-Type"] = "application/json");
80
80
  const a = {
81
81
  method: i,
82
82
  headers: r,
83
83
  credentials: "include",
84
84
  mode: "cors",
85
- signal: s.signal
85
+ signal: o.signal
86
86
  };
87
- o && (a.body = JSON.stringify(o));
87
+ s && (a.body = JSON.stringify(s));
88
88
  const u = await fetch(t, a);
89
89
  if (!u.ok)
90
90
  throw new Error(`HTTP error ${u.status}: ${u.statusText}`);
@@ -107,24 +107,24 @@ class T {
107
107
  * @param iframe Iframe object to listen to
108
108
  * @returns Subscription ID that can be used to unsubscribe
109
109
  */
110
- subscribe(t, i, o) {
110
+ subscribe(t, i, s) {
111
111
  if (this.subscriptions.has(t))
112
112
  throw new Error(`Subscription for '${t}' already exists`);
113
- const s = this.extractWindowFromIframe(o);
113
+ const o = this.extractWindowFromIframe(s);
114
114
  this.subscriptions.set(t, {
115
115
  handler: i,
116
- sources: [s]
116
+ sources: [o]
117
117
  });
118
118
  }
119
119
  /**
120
120
  * Add an iframe to an existing subscription
121
121
  */
122
122
  addIframeToSubscription(t, i) {
123
- const o = this.subscriptions.get(t);
124
- if (!o)
123
+ const s = this.subscriptions.get(t);
124
+ if (!s)
125
125
  throw new Error(`Subscription for '${t}' not found`);
126
- const s = this.extractWindowFromIframe(i);
127
- o.sources.includes(s) || o.sources.push(s);
126
+ const o = this.extractWindowFromIframe(i);
127
+ s.sources.includes(o) || s.sources.push(o);
128
128
  }
129
129
  /**
130
130
  * Wait for a specific message type from a specific source Iframe
@@ -133,21 +133,21 @@ class T {
133
133
  * @param timeout Timeout in milliseconds
134
134
  * @returns Promise that resolves when the message is received or rejects on timeout
135
135
  */
136
- waitForMessage(t, i, o = 3e4) {
137
- return new Promise((s, c) => {
136
+ waitForMessage(t, i, s = 3e4) {
137
+ return new Promise((o, c) => {
138
138
  const r = setTimeout(() => {
139
- this.removeIframeFromSubscription(t, i), c(new Error(`Message ${t} timeout after ${o}ms`));
140
- }, o);
139
+ this.removeIframeFromSubscription(t, i), c(new Error(`Message ${t} timeout after ${s}ms`));
140
+ }, s);
141
141
  this.subscribe(t, (a) => {
142
- clearTimeout(r), this.removeIframeFromSubscription(t, i), s(a);
142
+ clearTimeout(r), this.removeIframeFromSubscription(t, i), o(a);
143
143
  }, i);
144
144
  });
145
145
  }
146
146
  /**
147
147
  * Post a message to a specific iframe window
148
148
  */
149
- postMessage(t, i, o = "*") {
150
- this.extractWindowFromIframe(t).postMessage(i, o);
149
+ postMessage(t, i, s = "*") {
150
+ this.extractWindowFromIframe(t).postMessage(i, s);
151
151
  }
152
152
  /**
153
153
  * Clear all subscriptions
@@ -163,14 +163,14 @@ class T {
163
163
  t.includes(i) || this.subscriptions.delete(i);
164
164
  }
165
165
  /**
166
- * Remove subscription for an iframe
166
+ * Remove an iframe from a subscription's sources
167
167
  */
168
168
  removeIframeFromSubscription(t, i) {
169
- const o = this.subscriptions.get(t);
170
- if (!o)
169
+ const s = this.subscriptions.get(t);
170
+ if (!s)
171
171
  throw new Error(`Subscription for '${t}' not found`);
172
- const s = this.extractWindowFromIframe(i);
173
- o.sources = o.sources.filter((c) => c !== s), o.sources.length === 0 && this.subscriptions.delete(t);
172
+ const o = this.extractWindowFromIframe(i);
173
+ s.sources = s.sources.filter((c) => c !== o), s.sources.length === 0 && this.subscriptions.delete(t);
174
174
  }
175
175
  /**
176
176
  * Set up the message listener for capturing all window messages
@@ -181,10 +181,10 @@ class T {
181
181
  if (!t.data || typeof t.data != "object" || !t.data.name)
182
182
  return;
183
183
  const i = t.data;
184
- this.subscriptions.forEach((o, s) => {
185
- if (!(s !== i.name || !o.sources.some((r) => r === t.source)))
184
+ this.subscriptions.forEach((s, o) => {
185
+ if (!(o !== i.name || !s.sources.some((r) => r === t.source)))
186
186
  try {
187
- o.handler(i);
187
+ s.handler(i);
188
188
  } catch (r) {
189
189
  console.error("Error in message handler:", r);
190
190
  }
@@ -201,7 +201,7 @@ class T {
201
201
  return t.getContentWindow();
202
202
  }
203
203
  }
204
- class _ {
204
+ class C {
205
205
  constructor(t) {
206
206
  var i;
207
207
  this.defaultStyles = {
@@ -234,13 +234,13 @@ class _ {
234
234
  }, this);
235
235
  }
236
236
  setupIframe() {
237
- const { src: t, allow: i = "camera; microphone; geolocation; payment", styles: o = {} } = this.options;
237
+ const { src: t, allow: i = "camera; microphone; geolocation; payment", styles: s = {} } = this.options;
238
238
  this.element.src = t, this.element.allow = i;
239
- const s = { ...this.defaultStyles, ...o };
240
- Object.assign(this.element.style, s);
239
+ const o = { ...this.defaultStyles, ...s };
240
+ Object.assign(this.element.style, o);
241
241
  }
242
242
  }
243
- class C {
243
+ class _ {
244
244
  constructor() {
245
245
  this.loaded = !1, this.mountElement = null, this._iframe = null, this.messagingService = new T(), this.httpService = l.instance, this.configService = h.instance;
246
246
  }
@@ -256,7 +256,7 @@ class C {
256
256
  this.iframe && (this.iframe.unmount(), this.iframe = null);
257
257
  }
258
258
  }
259
- function w(e) {
259
+ function g(e) {
260
260
  if (typeof e == "string") {
261
261
  const t = document.querySelector(e);
262
262
  if (!t || !(t instanceof HTMLElement))
@@ -265,14 +265,14 @@ function w(e) {
265
265
  }
266
266
  return e;
267
267
  }
268
- function y() {
268
+ function w() {
269
269
  const e = document.body.style.overflow || null;
270
270
  return document.body.style.overflow = "hidden", { originalOverflow: e };
271
271
  }
272
- function D(e) {
272
+ function U(e) {
273
273
  e ? document.body.style.overflow = e : document.body.style.removeProperty("overflow");
274
274
  }
275
- class I extends C {
275
+ class D extends _ {
276
276
  constructor(t) {
277
277
  super(), this.originalBodyOverflow = null, this.options = t, this.mountElement = t.mountElement || document.body;
278
278
  }
@@ -287,8 +287,8 @@ class I extends C {
287
287
  }
288
288
  if (!this.options.paymentAuthData.embeddedUrl)
289
289
  throw new Error("Embedded URL is not set in paymentAuthData");
290
- const { originalOverflow: t } = y();
291
- this.originalBodyOverflow = t, this.iframe = new _({
290
+ const { originalOverflow: t } = w();
291
+ this.originalBodyOverflow = t, this.iframe = new C({
292
292
  src: this.options.paymentAuthData.embeddedUrl,
293
293
  mountElement: this.mountElement,
294
294
  styles: {
@@ -314,7 +314,7 @@ class I extends C {
314
314
  * Clean up the payment auth component and restore body overflow
315
315
  */
316
316
  cleanup() {
317
- this.loaded && D(this.originalBodyOverflow), super.cleanup();
317
+ this.loaded && U(this.originalBodyOverflow), super.cleanup();
318
318
  }
319
319
  /**
320
320
  * Handle redirect-based payment auth
@@ -324,20 +324,20 @@ class I extends C {
324
324
  throw new Error("Redirect URL is not set in paymentAuthData");
325
325
  const i = document.createElement("form");
326
326
  if (i.method = t.redirectMethod || "get", i.action = t.redirectUrl, i.style.display = "none", t.formData)
327
- for (const [o, s] of Object.entries(t.formData)) {
327
+ for (const [s, o] of Object.entries(t.formData)) {
328
328
  const c = document.createElement("input");
329
- c.type = "hidden", c.name = o, c.value = s, i.appendChild(c);
329
+ c.type = "hidden", c.name = s, c.value = o, i.appendChild(c);
330
330
  }
331
- throw document.body.appendChild(i), i.submit(), await new Promise((o) => setTimeout(o, 3e4)), new Error("Redirect timeout: Expected redirect to occur within 30 seconds");
331
+ throw document.body.appendChild(i), i.submit(), await new Promise((s) => setTimeout(s, 3e4)), new Error("Redirect timeout: Expected redirect to occur within 30 seconds");
332
332
  }
333
333
  }
334
- var E;
334
+ var d;
335
335
  (function(e) {
336
336
  e.DEVELOPMENT = "development", e.PRODUCTION = "production", e.SANDBOX = "sandbox", e.PRELIVE_SANDBOX = "prelive-sandbox", e.PRELIVE_PRODUCTION = "prelive-production";
337
- })(E || (E = {}));
338
- class U extends C {
337
+ })(d || (d = {}));
338
+ class I extends _ {
339
339
  constructor(t) {
340
- super(), this.isValid = !1, this.paymentAuth = null, this.options = t, this.environment = t.environment || E.PRODUCTION;
340
+ super(), this.isValid = !1, this.paymentAuth = null, this.options = t, this.environment = t.environment || d.PRODUCTION;
341
341
  }
342
342
  /**
343
343
  * Mount the checkout to the DOM
@@ -345,12 +345,12 @@ class U extends C {
345
345
  */
346
346
  async initialize(t) {
347
347
  try {
348
- this.mountElement = w(t);
348
+ this.mountElement = g(t);
349
349
  const i = await this.fetchSession();
350
- return this.iframe = new _({
350
+ return this.iframe = new C({
351
351
  src: i.url,
352
352
  mountElement: this.mountElement
353
- }), this.iframe.mount(), await this.messagingService.waitForMessage(n.CHECKOUT_PAYMENT_COMPONENT_READY, this.iframe), this.listenForPaymentFormChanges(), this.loaded = !0, !0;
353
+ }), this.iframe.mount(), await this.messagingService.waitForMessage(n.CHECKOUT_PAYMENT_COMPONENT_READY, this.iframe), this.setUpListeners(), this.loaded = !0, !0;
354
354
  } catch (i) {
355
355
  throw console.error("Error initializing MontonioCheckout", i), this.cleanup(), i;
356
356
  }
@@ -361,7 +361,7 @@ class U extends C {
361
361
  */
362
362
  updateOptions(t) {
363
363
  if (!this.loaded)
364
- throw new p();
364
+ throw new E();
365
365
  t.locale !== void 0 && (this.options.locale = t.locale, this.messagingService.postMessage(this.iframe, {
366
366
  name: n.CHECKOUT_CHANGE_LOCALE,
367
367
  payload: { locale: t.locale }
@@ -370,64 +370,91 @@ class U extends C {
370
370
  /**
371
371
  * Check the validity of the payment form. Throws an error if the payment form is invalid.
372
372
  */
373
- async validateOrReject() {
374
- return new Promise((t, i) => {
375
- this.messagingService.waitForMessage(n.CHECKOUT_VALIDATE_FIELDS_RESULT, this.iframe).then((o) => {
376
- o.payload.isValid ? t() : i(new d());
377
- }).catch(() => i(new d())), this.messagingService.postMessage(this.iframe, {
373
+ validateOrReject() {
374
+ if (console.log("Called validateOrReject, isValid:", this.isValid), !this.isValid)
375
+ throw this.messagingService.postMessage(this.iframe, {
378
376
  name: n.CHECKOUT_VALIDATE_FIELDS
379
- });
380
- });
377
+ }), new p();
381
378
  }
382
379
  /**
383
- * Submit the payment. Call this after creating the Order with the Montonio backend API
384
- * @returns Promise that resolves to a PaymentResult
380
+ * Submit the payment. Call this after creating the Order with the Montonio backend API.
381
+ * The result will be provided via the onSuccess callback, and errors via the onError callback.
385
382
  */
386
- async submitPayment() {
383
+ submitPayment() {
387
384
  if (!this.loaded)
388
- throw new p();
389
- return new Promise((t, i) => {
390
- this.messagingService.subscribe(n.CHECKOUT_PAYMENT_COMPLETED, async (o) => {
391
- console.log("CHECKOUT_PAYMENT_COMPLETED (from main iframe)", o), this.cleanupPaymentAuth();
392
- try {
393
- const s = await this.getPaymentResult(o.payload.paymentIntentUuid);
394
- t(s);
395
- } catch (s) {
396
- i(s);
397
- }
398
- this.cleanupAfterPaymentSubmission();
399
- }, this.iframe), this.messagingService.subscribe(n.CHECKOUT_PAYMENT_FAILED, (o) => {
400
- console.error("CHECKOUT_PAYMENT_FAILED (from main iframe)", o), this.cleanupPaymentAuth(), this.messagingService.postMessage(this.iframe, {
401
- name: n.CHECKOUT_SEND_PAYMENT_FAILED_DATA,
402
- payload: o.payload
403
- }), i(new g(o.payload)), this.cleanupAfterPaymentSubmission();
404
- }, this.iframe), this.messagingService.subscribe(n.CHECKOUT_VALIDATE_FIELDS_RESULT, (o) => {
405
- console.log("CHECKOUT_VALIDATE_FIELDS_RESULT", o), o.payload.isValid || i(new d());
406
- }, this.iframe), this.messagingService.subscribe(n.CHECKOUT_START_PAYMENT_AUTH, async (o) => {
407
- try {
408
- console.log("PAYMENT AUTH STARTED", o), this.paymentAuth = new I({
409
- paymentAuthData: o.payload.paymentAuthData
410
- }), await this.paymentAuth.initialize();
411
- const s = this.paymentAuth.iframe;
412
- this.messagingService.addIframeToSubscription(n.CHECKOUT_PAYMENT_COMPLETED, s), this.messagingService.addIframeToSubscription(n.CHECKOUT_PAYMENT_FAILED, s);
413
- } catch (s) {
414
- i(s);
415
- }
416
- }, this.iframe), this.messagingService.postMessage(this.iframe, {
417
- name: n.CHECKOUT_SUBMIT_PAYMENT
418
- });
385
+ throw new E();
386
+ this.messagingService.postMessage(this.iframe, {
387
+ name: n.CHECKOUT_SUBMIT_PAYMENT
419
388
  });
420
389
  }
390
+ /**
391
+ * Fetch the session data from the Stargate to get the gateway URL for the inner iframe
392
+ */
421
393
  async fetchSession() {
422
394
  const i = `${this.configService.getConfig("stargateUrl", this.environment)}/api/sessions/${this.options.sessionUuid}/gateway-url${this.options.locale ? `?preferredLocale=${this.options.locale}` : ""}`;
423
395
  return await this.httpService.get(i);
424
396
  }
425
397
  /**
426
- * Listen for changes in the payment form and update the isValid property
398
+ * Set up global listeners for payment completion, failure, payment auth, and validation.
427
399
  */
428
- listenForPaymentFormChanges() {
400
+ setUpListeners() {
401
+ this.setUpFormChangeListener(), this.setUpPaymentCompletedListener(), this.setUpPaymentFailedListener(), this.setUpValidationListener(), this.setUpPaymentAuthListener();
402
+ }
403
+ /**
404
+ * Listen for payment form changes and update the isValid property
405
+ */
406
+ setUpFormChangeListener() {
429
407
  this.messagingService.subscribe(n.CHECKOUT_PAYMENT_FORM_CHANGED, (t) => {
430
- this.isValid = t.payload.isValid;
408
+ console.log("CHECKOUT_PAYMENT_FORM_CHANGED", t.payload.isValid), this.isValid = t.payload.isValid;
409
+ }, this.iframe);
410
+ }
411
+ /**
412
+ * Listen for payment completion messages and handle the payment success
413
+ */
414
+ setUpPaymentCompletedListener() {
415
+ this.messagingService.subscribe(n.CHECKOUT_PAYMENT_COMPLETED, async (t) => {
416
+ console.log("CHECKOUT_PAYMENT_COMPLETED (from main iframe)", t), this.cleanupPaymentAuth();
417
+ try {
418
+ const i = await this.getPaymentResult(t.payload.paymentIntentUuid);
419
+ this.handlePaymentSuccess(i);
420
+ } catch (i) {
421
+ this.handlePaymentError(i);
422
+ }
423
+ }, this.iframe);
424
+ }
425
+ /**
426
+ * Listen for payment failure messages and handle the error
427
+ */
428
+ setUpPaymentFailedListener() {
429
+ this.messagingService.subscribe(n.CHECKOUT_PAYMENT_FAILED, (t) => {
430
+ console.error("CHECKOUT_PAYMENT_FAILED (from main iframe)", t), this.cleanupPaymentAuth(), this.messagingService.postMessage(this.iframe, {
431
+ name: n.CHECKOUT_SEND_PAYMENT_FAILED_DATA,
432
+ payload: t.payload
433
+ }), this.handlePaymentError(new y(t.payload));
434
+ }, this.iframe);
435
+ }
436
+ /**
437
+ * Listen for validation result messages from the iframe
438
+ */
439
+ setUpValidationListener() {
440
+ this.messagingService.subscribe(n.CHECKOUT_VALIDATE_FIELDS_RESULT, (t) => {
441
+ console.log("CHECKOUT_VALIDATE_FIELDS_RESULT", t), t.payload.isValid || this.handlePaymentError(new p());
442
+ }, this.iframe);
443
+ }
444
+ /**
445
+ * Listen for payment auth (3DS) requests and initialize the PaymentAuth component
446
+ */
447
+ setUpPaymentAuthListener() {
448
+ this.messagingService.subscribe(n.CHECKOUT_START_PAYMENT_AUTH, async (t) => {
449
+ try {
450
+ console.log("PAYMENT AUTH STARTED", t), this.paymentAuth = new D({
451
+ paymentAuthData: t.payload.paymentAuthData
452
+ }), await this.paymentAuth.initialize();
453
+ const i = this.paymentAuth.iframe;
454
+ this.messagingService.addIframeToSubscription(n.CHECKOUT_PAYMENT_COMPLETED, i), this.messagingService.addIframeToSubscription(n.CHECKOUT_PAYMENT_FAILED, i);
455
+ } catch (i) {
456
+ this.handlePaymentError(i);
457
+ }
431
458
  }, this.iframe);
432
459
  }
433
460
  /**
@@ -435,11 +462,12 @@ class U extends C {
435
462
  * exhaust all the attempts
436
463
  */
437
464
  async getPaymentResult(t) {
438
- const o = `${this.configService.getConfig("stargateUrl", this.environment)}/api/payment-intents/${t}/return-url`, s = 10, c = 1e3;
465
+ const s = `${this.configService.getConfig("stargateUrl", this.environment)}/api/payment-intents/${t}/return-url`, o = 10, c = 1e3;
439
466
  let r = 0;
440
- for (; r < s; ) {
467
+ for (; r < o; ) {
441
468
  try {
442
- const a = await this.httpService.get(o);
469
+ console.log("Fetching return URL");
470
+ const a = await this.httpService.get(s);
443
471
  if (r++, a != null && a.merchantReturnUrl)
444
472
  return {
445
473
  returnUrl: a.merchantReturnUrl,
@@ -449,15 +477,27 @@ class U extends C {
449
477
  } catch (a) {
450
478
  console.error("Error fetching return URL:", a);
451
479
  }
452
- r < s && await new Promise((a) => setTimeout(a, c));
480
+ r < o && await new Promise((a) => setTimeout(a, c));
453
481
  }
454
482
  throw new O({ attempts: r });
455
483
  }
456
- cleanupAfterPaymentSubmission() {
457
- this.messagingService.clearSubscriptionsExcept([n.CHECKOUT_PAYMENT_FORM_CHANGED]);
458
- }
484
+ /**
485
+ * Destroy the PaymentAuth component and remove it from success/failure subscriptions
486
+ */
459
487
  cleanupPaymentAuth() {
460
- this.paymentAuth && (this.paymentAuth.cleanup(), this.paymentAuth = null);
488
+ this.paymentAuth && (this.messagingService.removeIframeFromSubscription(n.CHECKOUT_PAYMENT_COMPLETED, this.paymentAuth.iframe), this.messagingService.removeIframeFromSubscription(n.CHECKOUT_PAYMENT_FAILED, this.paymentAuth.iframe), this.paymentAuth.cleanup(), this.paymentAuth = null);
489
+ }
490
+ /**
491
+ * Handle payment success - calls the onSuccess callback
492
+ */
493
+ handlePaymentSuccess(t) {
494
+ this.options.onSuccess(t);
495
+ }
496
+ /**
497
+ * Handle payment error - calls the onError callback
498
+ */
499
+ handlePaymentError(t) {
500
+ this.options.onError(t);
461
501
  }
462
502
  }
463
503
  var f;
@@ -469,10 +509,10 @@ var A;
469
509
  e.PENDING = "PENDING", e.AUTHORIZED = "AUTHORIZED", e.PAID = "PAID", e.PARTIALLY_REFUNDED = "PARTIALLY_REFUNDED", e.REFUNDED = "REFUNDED", e.VOIDED = "VOIDED", e.ABANDONED = "ABANDONED";
470
510
  })(A || (A = {}));
471
511
  export {
472
- E as Environment,
512
+ d as Environment,
473
513
  m as ErrorEnum,
474
514
  f as LocaleEnum,
475
515
  n as MessageTypeEnum,
476
- U as MontonioCheckout
516
+ I as MontonioCheckout
477
517
  };
478
518
  //# sourceMappingURL=montonio.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"montonio.es.js","sources":["../src/common/exceptions/exceptions.ts","../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/components/MontonioCheckout/MontonioCheckout.ts","../src/components/MontonioCheckout/types.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null],"names":["ErrorEnum","MontonioCheckoutNotInitializedError","message","ValidationError","PaymentFailedError","paymentFailedMessageData","FailedToFetchReturnUrlError","attempts","MessageTypeEnum","ConfigService","name","environment","HTTPService","url","data","method","controller","timeoutId","headers","options","response","error","MessagingService","messageType","handler","iframe","windowSource","subscription","timeout","resolve","reject","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","MontonioCheckout","mountTo","sessionData","res","completedMessage","result","e","failedMessage","paymentAuthIframe","paymentIntentUuid","MAX_ATTEMPTS","DELAY_BETWEEN_ATTEMPTS_IN_MS","LocaleEnum","PaymentStatusEnum"],"mappings":"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"}
1
+ {"version":3,"file":"montonio.es.js","sources":["../src/common/exceptions/exceptions.ts","../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/components/MontonioCheckout/MontonioCheckout.ts","../src/components/MontonioCheckout/types.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null],"names":["ErrorEnum","MontonioCheckoutNotInitializedError","message","ValidationError","PaymentFailedError","paymentFailedMessageData","FailedToFetchReturnUrlError","attempts","MessageTypeEnum","ConfigService","name","environment","HTTPService","url","data","method","controller","timeoutId","headers","options","response","error","MessagingService","messageType","handler","iframe","windowSource","subscription","timeout","resolve","reject","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","MontonioCheckout","mountTo","sessionData","completedMessage","result","e","failedMessage","res","paymentAuthIframe","paymentIntentUuid","MAX_ATTEMPTS","DELAY_BETWEEN_ATTEMPTS_IN_MS","LocaleEnum","PaymentStatusEnum"],"mappings":"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"}
@@ -1,3 +1,3 @@
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.ErrorEnum=void 0,function(t){t.MONTONIO_CHECKOUT_NOT_INITIALIZED="MONTONIO_CHECKOUT_NOT_INITIALIZED",t.VALIDATION_ERROR="VALIDATION_ERROR",t.PAYMENT_FAILED="PAYMENT_FAILED",t.FAILED_TO_FETCH_RETURN_URL="FAILED_TO_FETCH_RETURN_URL"}(s.ErrorEnum||(s.ErrorEnum={}));class h extends Error{constructor(e="MontonioCheckout not initialized. Please call the .initialize() method of the MontonioCheckout class first."){super(e),this.name=s.ErrorEnum.MONTONIO_CHECKOUT_NOT_INITIALIZED}}class E extends Error{constructor(e="Validation failed. Check payment details and try again."){super(e),this.displayedInPaymentComponent=!0,this.name=s.ErrorEnum.VALIDATION_ERROR}}class A extends Error{constructor(e){super(`Payment failed: ${e.errorCode}`),this.displayedInPaymentComponent=!0,this.name=s.ErrorEnum.PAYMENT_FAILED,this.paymentFailedMessageData=e}}class _ extends Error{constructor({attempts:e}){super(`Payment was successful but we failed to fetch the return-url from our servers after ${e} retries.
2
- The customer should not try again! We will inform you about the payment being paid via webhook.`),this.name=s.ErrorEnum.FAILED_TO_FETCH_RETURN_URL}}s.MessageTypeEnum=void 0,function(t){t.CHECKOUT_PAYMENT_COMPONENT_READY="montonio:checkout.paymentComponentReady",t.CHECKOUT_CHANGE_LOCALE="montonio:checkout.changeLocale",t.CHECKOUT_SUBMIT_PAYMENT="montonio:checkout.submitPayment",t.CHECKOUT_START_PAYMENT_AUTH="montonio:checkout.startPaymentAuth",t.CHECKOUT_SEND_PAYMENT_AUTH_DATA="montonio:checkout.sendPaymentAuthData",t.CHECKOUT_PAYMENT_AUTH_COMPONENT_READY="montonio:checkout.paymentAuthComponentReady",t.CHECKOUT_PAYMENT_AUTH_COMPLETED="montonio:checkout.paymentAuthCompleted",t.CHECKOUT_PAYMENT_COMPLETED="montonio:checkout.paymentCompleted",t.CHECKOUT_PAYMENT_FAILED="montonio:checkout.paymentFailed",t.CHECKOUT_SEND_PAYMENT_FAILED_DATA="montonio:checkout.sendPaymentFailedData",t.CHECKOUT_HEIGHT_CHANGED="montonio:checkout.heightChanged",t.CHECKOUT_VALIDATE_FIELDS="montonio:checkout.validateFields",t.CHECKOUT_VALIDATE_FIELDS_RESULT="montonio:checkout.validateFieldsResult",t.CHECKOUT_PAYMENT_FORM_CHANGED="montonio:checkout.paymentFormChanged"}(s.MessageTypeEnum||(s.MessageTypeEnum={}));class u{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 u._instance||(u._instance=new u),u._instance}getConfig(e,i){return this.environmentVariables[e][i]}}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,i){return this.request(e,"POST",i)}async patch(e,i){return this.request(e,"PATCH",i)}async request(e,i,n){const o=new AbortController,c=setTimeout(()=>o.abort(),this.timeout);try{const r={Accept:"application/json","X-Montonio-Js-Version":"1.0.57"};n&&(r["Content-Type"]="application/json");const a={method:i,headers:r,credentials:"include",mode:"cors",signal:o.signal};n&&(a.body=JSON.stringify(n));const m=await fetch(e,a);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(c)}}}class d{constructor(){this.subscriptions=new Map,this.setupMessageListener()}subscribe(e,i,n){if(this.subscriptions.has(e))throw new Error(`Subscription for '${e}' already exists`);const o=this.extractWindowFromIframe(n);this.subscriptions.set(e,{handler:i,sources:[o]})}addIframeToSubscription(e,i){const n=this.subscriptions.get(e);if(!n)throw new Error(`Subscription for '${e}' not found`);const o=this.extractWindowFromIframe(i);n.sources.includes(o)||n.sources.push(o)}waitForMessage(e,i,n=3e4){return new Promise((o,c)=>{const r=setTimeout(()=>{this.removeIframeFromSubscription(e,i),c(new Error(`Message ${e} timeout after ${n}ms`))},n);this.subscribe(e,a=>{clearTimeout(r),this.removeIframeFromSubscription(e,i),o(a)},i)})}postMessage(e,i,n="*"){this.extractWindowFromIframe(e).postMessage(i,n)}clearAllSubscriptions(){this.subscriptions.clear()}clearSubscriptionsExcept(e){for(const i of[...this.subscriptions.keys()])e.includes(i)||this.subscriptions.delete(i)}removeIframeFromSubscription(e,i){const n=this.subscriptions.get(e);if(!n)throw new Error(`Subscription for '${e}' not found`);const o=this.extractWindowFromIframe(i);n.sources=n.sources.filter(c=>c!==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 i=e.data;this.subscriptions.forEach((n,o)=>{if(!(o!==i.name||!n.sources.some(r=>r===e.source)))try{n.handler(i)}catch(r){console.error("Error in message handler:",r)}})}catch(i){console.error("Error processing iframe message:",i)}})}extractWindowFromIframe(e){return e.getContentWindow()}}class f{constructor(e){var i;this.defaultStyles={border:"none",display:"block",width:"100%",height:"100%"},this.options=e,this.resizeOnHeightChange=(i=e.resizeOnHeightChange)!==null&&i!==void 0?i:!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,i=>{e.style.height=i.payload.height+"px"},this)}setupIframe(){const{src:e,allow:i="camera; microphone; geolocation; payment",styles:n={}}=this.options;this.element.src=e,this.element.allow=i;const o={...this.defaultStyles,...n};Object.assign(this.element.style,o)}}class T{constructor(){this.loaded=!1,this.mountElement=null,this._iframe=null,this.messagingService=new d,this.httpService=l.instance,this.configService=u.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 C(t){if(typeof t=="string"){const e=document.querySelector(t);if(!e||!(e instanceof HTMLElement))throw new Error(`Element not found: ${t}`);return e}return t}function g(){const t=document.body.style.overflow||null;return document.body.style.overflow="hidden",{originalOverflow:t}}function y(t){t?document.body.style.overflow=t:document.body.style.removeProperty("overflow")}class O extends T{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 f({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&&y(this.originalBodyOverflow),super.cleanup()}async redirectViaPost(e){if(!e.redirectUrl)throw new Error("Redirect URL is not set in paymentAuthData");const i=document.createElement("form");if(i.method=e.redirectMethod||"get",i.action=e.redirectUrl,i.style.display="none",e.formData)for(const[n,o]of Object.entries(e.formData)){const c=document.createElement("input");c.type="hidden",c.name=n,c.value=o,i.appendChild(c)}throw document.body.appendChild(i),i.submit(),await new Promise(n=>setTimeout(n,3e4)),new Error("Redirect timeout: Expected redirect to occur within 30 seconds")}}s.Environment=void 0,function(t){t.DEVELOPMENT="development",t.PRODUCTION="production",t.SANDBOX="sandbox",t.PRELIVE_SANDBOX="prelive-sandbox",t.PRELIVE_PRODUCTION="prelive-production"}(s.Environment||(s.Environment={}));class w extends T{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=C(e);const i=await this.fetchSession();return this.iframe=new f({src:i.url,mountElement:this.mountElement}),this.iframe.mount(),await this.messagingService.waitForMessage(s.MessageTypeEnum.CHECKOUT_PAYMENT_COMPONENT_READY,this.iframe),this.listenForPaymentFormChanges(),this.loaded=!0,!0}catch(i){throw console.error("Error initializing MontonioCheckout",i),this.cleanup(),i}}updateOptions(e){if(!this.loaded)throw new h;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,i)=>{this.messagingService.waitForMessage(s.MessageTypeEnum.CHECKOUT_VALIDATE_FIELDS_RESULT,this.iframe).then(n=>{n.payload.isValid?e():i(new E)}).catch(()=>i(new E)),this.messagingService.postMessage(this.iframe,{name:s.MessageTypeEnum.CHECKOUT_VALIDATE_FIELDS})})}async submitPayment(){if(!this.loaded)throw new h;return new Promise((e,i)=>{this.messagingService.subscribe(s.MessageTypeEnum.CHECKOUT_PAYMENT_COMPLETED,async n=>{console.log("CHECKOUT_PAYMENT_COMPLETED (from main iframe)",n),this.cleanupPaymentAuth();try{const o=await this.getPaymentResult(n.payload.paymentIntentUuid);e(o)}catch(o){i(o)}this.cleanupAfterPaymentSubmission()},this.iframe),this.messagingService.subscribe(s.MessageTypeEnum.CHECKOUT_PAYMENT_FAILED,n=>{console.error("CHECKOUT_PAYMENT_FAILED (from main iframe)",n),this.cleanupPaymentAuth(),this.messagingService.postMessage(this.iframe,{name:s.MessageTypeEnum.CHECKOUT_SEND_PAYMENT_FAILED_DATA,payload:n.payload}),i(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||i(new E)},this.iframe),this.messagingService.subscribe(s.MessageTypeEnum.CHECKOUT_START_PAYMENT_AUTH,async n=>{try{console.log("PAYMENT AUTH STARTED",n),this.paymentAuth=new O({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){i(o)}},this.iframe),this.messagingService.postMessage(this.iframe,{name:s.MessageTypeEnum.CHECKOUT_SUBMIT_PAYMENT})})}async fetchSession(){const i=`${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(i)}listenForPaymentFormChanges(){this.messagingService.subscribe(s.MessageTypeEnum.CHECKOUT_PAYMENT_FORM_CHANGED,e=>{this.isValid=e.payload.isValid},this.iframe)}async getPaymentResult(e){const n=`${this.configService.getConfig("stargateUrl",this.environment)}/api/payment-intents/${e}/return-url`,o=10,c=1e3;let r=0;for(;r<o;){try{const a=await this.httpService.get(n);if(r++,a!=null&&a.merchantReturnUrl)return{returnUrl:a.merchantReturnUrl,orderToken:a.orderToken,paymentStatus:a.paymentStatus}}catch(a){console.error("Error fetching return URL:",a)}r<o&&await new Promise(a=>setTimeout(a,c))}throw new _({attempts:r})}cleanupAfterPaymentSubmission(){this.messagingService.clearSubscriptionsExcept([s.MessageTypeEnum.CHECKOUT_PAYMENT_FORM_CHANGED])}cleanupPaymentAuth(){this.paymentAuth&&(this.paymentAuth.cleanup(),this.paymentAuth=null)}}s.LocaleEnum=void 0,function(t){t.EN="en",t.ET="et",t.LT="lt",t.LV="lv",t.PL="pl",t.RU="ru",t.FI="fi"}(s.LocaleEnum||(s.LocaleEnum={}));var p;(function(t){t.PENDING="PENDING",t.AUTHORIZED="AUTHORIZED",t.PAID="PAID",t.PARTIALLY_REFUNDED="PARTIALLY_REFUNDED",t.REFUNDED="REFUNDED",t.VOIDED="VOIDED",t.ABANDONED="ABANDONED"})(p||(p={})),s.MontonioCheckout=w,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})});
1
+ (function(n,h){typeof exports=="object"&&typeof module!="undefined"?h(exports):typeof define=="function"&&define.amd?define(["exports"],h):(n=typeof globalThis!="undefined"?globalThis:n||self,h(n.Montonio={}))})(this,function(n){"use strict";n.ErrorEnum=void 0,function(t){t.MONTONIO_CHECKOUT_NOT_INITIALIZED="MONTONIO_CHECKOUT_NOT_INITIALIZED",t.VALIDATION_ERROR="VALIDATION_ERROR",t.PAYMENT_FAILED="PAYMENT_FAILED",t.FAILED_TO_FETCH_RETURN_URL="FAILED_TO_FETCH_RETURN_URL"}(n.ErrorEnum||(n.ErrorEnum={}));class h extends Error{constructor(e="MontonioCheckout not initialized. Please call the .initialize() method of the MontonioCheckout class first."){super(e),this.name=n.ErrorEnum.MONTONIO_CHECKOUT_NOT_INITIALIZED}}class d extends Error{constructor(e="Validation failed. Check payment details and try again."){super(e),this.displayedInPaymentComponent=!0,this.name=n.ErrorEnum.VALIDATION_ERROR}}class A extends Error{constructor(e){super(`Payment failed: ${e.errorCode}`),this.displayedInPaymentComponent=!0,this.name=n.ErrorEnum.PAYMENT_FAILED,this.paymentFailedMessageData=e}}class C extends Error{constructor({attempts:e}){super(`Payment was successful but we failed to fetch the return-url from our servers after ${e} retries.
2
+ The customer should not try again! We will inform you about the payment being paid via webhook.`),this.name=n.ErrorEnum.FAILED_TO_FETCH_RETURN_URL}}n.MessageTypeEnum=void 0,function(t){t.CHECKOUT_PAYMENT_COMPONENT_READY="montonio:checkout.paymentComponentReady",t.CHECKOUT_CHANGE_LOCALE="montonio:checkout.changeLocale",t.CHECKOUT_SUBMIT_PAYMENT="montonio:checkout.submitPayment",t.CHECKOUT_START_PAYMENT_AUTH="montonio:checkout.startPaymentAuth",t.CHECKOUT_SEND_PAYMENT_AUTH_DATA="montonio:checkout.sendPaymentAuthData",t.CHECKOUT_PAYMENT_AUTH_COMPONENT_READY="montonio:checkout.paymentAuthComponentReady",t.CHECKOUT_PAYMENT_AUTH_COMPLETED="montonio:checkout.paymentAuthCompleted",t.CHECKOUT_PAYMENT_COMPLETED="montonio:checkout.paymentCompleted",t.CHECKOUT_PAYMENT_FAILED="montonio:checkout.paymentFailed",t.CHECKOUT_SEND_PAYMENT_FAILED_DATA="montonio:checkout.sendPaymentFailedData",t.CHECKOUT_HEIGHT_CHANGED="montonio:checkout.heightChanged",t.CHECKOUT_VALIDATE_FIELDS="montonio:checkout.validateFields",t.CHECKOUT_VALIDATE_FIELDS_RESULT="montonio:checkout.validateFieldsResult",t.CHECKOUT_PAYMENT_FORM_CHANGED="montonio:checkout.paymentFormChanged"}(n.MessageTypeEnum||(n.MessageTypeEnum={}));class l{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 l._instance||(l._instance=new l),l._instance}getConfig(e,i){return this.environmentVariables[e][i]}}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,i){return this.request(e,"POST",i)}async patch(e,i){return this.request(e,"PATCH",i)}async request(e,i,s){const o=new AbortController,c=setTimeout(()=>o.abort(),this.timeout);try{const r={Accept:"application/json","X-Montonio-Js-Version":"1.0.58"};s&&(r["Content-Type"]="application/json");const a={method:i,headers:r,credentials:"include",mode:"cors",signal:o.signal};s&&(a.body=JSON.stringify(s));const u=await fetch(e,a);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(c)}}}class E{constructor(){this.subscriptions=new Map,this.setupMessageListener()}subscribe(e,i,s){if(this.subscriptions.has(e))throw new Error(`Subscription for '${e}' already exists`);const o=this.extractWindowFromIframe(s);this.subscriptions.set(e,{handler:i,sources:[o]})}addIframeToSubscription(e,i){const s=this.subscriptions.get(e);if(!s)throw new Error(`Subscription for '${e}' not found`);const o=this.extractWindowFromIframe(i);s.sources.includes(o)||s.sources.push(o)}waitForMessage(e,i,s=3e4){return new Promise((o,c)=>{const r=setTimeout(()=>{this.removeIframeFromSubscription(e,i),c(new Error(`Message ${e} timeout after ${s}ms`))},s);this.subscribe(e,a=>{clearTimeout(r),this.removeIframeFromSubscription(e,i),o(a)},i)})}postMessage(e,i,s="*"){this.extractWindowFromIframe(e).postMessage(i,s)}clearAllSubscriptions(){this.subscriptions.clear()}clearSubscriptionsExcept(e){for(const i of[...this.subscriptions.keys()])e.includes(i)||this.subscriptions.delete(i)}removeIframeFromSubscription(e,i){const s=this.subscriptions.get(e);if(!s)throw new Error(`Subscription for '${e}' not found`);const o=this.extractWindowFromIframe(i);s.sources=s.sources.filter(c=>c!==o),s.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 i=e.data;this.subscriptions.forEach((s,o)=>{if(!(o!==i.name||!s.sources.some(r=>r===e.source)))try{s.handler(i)}catch(r){console.error("Error in message handler:",r)}})}catch(i){console.error("Error processing iframe message:",i)}})}extractWindowFromIframe(e){return e.getContentWindow()}}class f{constructor(e){var i;this.defaultStyles={border:"none",display:"block",width:"100%",height:"100%"},this.options=e,this.resizeOnHeightChange=(i=e.resizeOnHeightChange)!==null&&i!==void 0?i:!0,this.element=document.createElement("iframe"),this.messagingService=new E,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(n.MessageTypeEnum.CHECKOUT_HEIGHT_CHANGED,i=>{e.style.height=i.payload.height+"px"},this)}setupIframe(){const{src:e,allow:i="camera; microphone; geolocation; payment",styles:s={}}=this.options;this.element.src=e,this.element.allow=i;const o={...this.defaultStyles,...s};Object.assign(this.element.style,o)}}class p{constructor(){this.loaded=!1,this.mountElement=null,this._iframe=null,this.messagingService=new E,this.httpService=m.instance,this.configService=l.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 y(t){if(typeof t=="string"){const e=document.querySelector(t);if(!e||!(e instanceof HTMLElement))throw new Error(`Element not found: ${t}`);return e}return t}function _(){const t=document.body.style.overflow||null;return document.body.style.overflow="hidden",{originalOverflow:t}}function g(t){t?document.body.style.overflow=t:document.body.style.removeProperty("overflow")}class O extends p{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}=_();this.originalBodyOverflow=e,this.iframe=new f({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(n.MessageTypeEnum.CHECKOUT_PAYMENT_AUTH_COMPONENT_READY,this.iframe),this.messagingService.postMessage(this.iframe,{name:n.MessageTypeEnum.CHECKOUT_SEND_PAYMENT_AUTH_DATA,payload:{paymentAuthData:this.options.paymentAuthData}}),this.loaded=!0}catch(e){throw this.cleanup(),e}}cleanup(){this.loaded&&g(this.originalBodyOverflow),super.cleanup()}async redirectViaPost(e){if(!e.redirectUrl)throw new Error("Redirect URL is not set in paymentAuthData");const i=document.createElement("form");if(i.method=e.redirectMethod||"get",i.action=e.redirectUrl,i.style.display="none",e.formData)for(const[s,o]of Object.entries(e.formData)){const c=document.createElement("input");c.type="hidden",c.name=s,c.value=o,i.appendChild(c)}throw document.body.appendChild(i),i.submit(),await new Promise(s=>setTimeout(s,3e4)),new Error("Redirect timeout: Expected redirect to occur within 30 seconds")}}n.Environment=void 0,function(t){t.DEVELOPMENT="development",t.PRODUCTION="production",t.SANDBOX="sandbox",t.PRELIVE_SANDBOX="prelive-sandbox",t.PRELIVE_PRODUCTION="prelive-production"}(n.Environment||(n.Environment={}));class w extends p{constructor(e){super(),this.isValid=!1,this.paymentAuth=null,this.options=e,this.environment=e.environment||n.Environment.PRODUCTION}async initialize(e){try{this.mountElement=y(e);const i=await this.fetchSession();return this.iframe=new f({src:i.url,mountElement:this.mountElement}),this.iframe.mount(),await this.messagingService.waitForMessage(n.MessageTypeEnum.CHECKOUT_PAYMENT_COMPONENT_READY,this.iframe),this.setUpListeners(),this.loaded=!0,!0}catch(i){throw console.error("Error initializing MontonioCheckout",i),this.cleanup(),i}}updateOptions(e){if(!this.loaded)throw new h;e.locale!==void 0&&(this.options.locale=e.locale,this.messagingService.postMessage(this.iframe,{name:n.MessageTypeEnum.CHECKOUT_CHANGE_LOCALE,payload:{locale:e.locale}}))}validateOrReject(){if(console.log("Called validateOrReject, isValid:",this.isValid),!this.isValid)throw this.messagingService.postMessage(this.iframe,{name:n.MessageTypeEnum.CHECKOUT_VALIDATE_FIELDS}),new d}submitPayment(){if(!this.loaded)throw new h;this.messagingService.postMessage(this.iframe,{name:n.MessageTypeEnum.CHECKOUT_SUBMIT_PAYMENT})}async fetchSession(){const i=`${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(i)}setUpListeners(){this.setUpFormChangeListener(),this.setUpPaymentCompletedListener(),this.setUpPaymentFailedListener(),this.setUpValidationListener(),this.setUpPaymentAuthListener()}setUpFormChangeListener(){this.messagingService.subscribe(n.MessageTypeEnum.CHECKOUT_PAYMENT_FORM_CHANGED,e=>{console.log("CHECKOUT_PAYMENT_FORM_CHANGED",e.payload.isValid),this.isValid=e.payload.isValid},this.iframe)}setUpPaymentCompletedListener(){this.messagingService.subscribe(n.MessageTypeEnum.CHECKOUT_PAYMENT_COMPLETED,async e=>{console.log("CHECKOUT_PAYMENT_COMPLETED (from main iframe)",e),this.cleanupPaymentAuth();try{const i=await this.getPaymentResult(e.payload.paymentIntentUuid);this.handlePaymentSuccess(i)}catch(i){this.handlePaymentError(i)}},this.iframe)}setUpPaymentFailedListener(){this.messagingService.subscribe(n.MessageTypeEnum.CHECKOUT_PAYMENT_FAILED,e=>{console.error("CHECKOUT_PAYMENT_FAILED (from main iframe)",e),this.cleanupPaymentAuth(),this.messagingService.postMessage(this.iframe,{name:n.MessageTypeEnum.CHECKOUT_SEND_PAYMENT_FAILED_DATA,payload:e.payload}),this.handlePaymentError(new A(e.payload))},this.iframe)}setUpValidationListener(){this.messagingService.subscribe(n.MessageTypeEnum.CHECKOUT_VALIDATE_FIELDS_RESULT,e=>{console.log("CHECKOUT_VALIDATE_FIELDS_RESULT",e),e.payload.isValid||this.handlePaymentError(new d)},this.iframe)}setUpPaymentAuthListener(){this.messagingService.subscribe(n.MessageTypeEnum.CHECKOUT_START_PAYMENT_AUTH,async e=>{try{console.log("PAYMENT AUTH STARTED",e),this.paymentAuth=new O({paymentAuthData:e.payload.paymentAuthData}),await this.paymentAuth.initialize();const i=this.paymentAuth.iframe;this.messagingService.addIframeToSubscription(n.MessageTypeEnum.CHECKOUT_PAYMENT_COMPLETED,i),this.messagingService.addIframeToSubscription(n.MessageTypeEnum.CHECKOUT_PAYMENT_FAILED,i)}catch(i){this.handlePaymentError(i)}},this.iframe)}async getPaymentResult(e){const s=`${this.configService.getConfig("stargateUrl",this.environment)}/api/payment-intents/${e}/return-url`,o=10,c=1e3;let r=0;for(;r<o;){try{console.log("Fetching return URL");const a=await this.httpService.get(s);if(r++,a!=null&&a.merchantReturnUrl)return{returnUrl:a.merchantReturnUrl,orderToken:a.orderToken,paymentStatus:a.paymentStatus}}catch(a){console.error("Error fetching return URL:",a)}r<o&&await new Promise(a=>setTimeout(a,c))}throw new C({attempts:r})}cleanupPaymentAuth(){this.paymentAuth&&(this.messagingService.removeIframeFromSubscription(n.MessageTypeEnum.CHECKOUT_PAYMENT_COMPLETED,this.paymentAuth.iframe),this.messagingService.removeIframeFromSubscription(n.MessageTypeEnum.CHECKOUT_PAYMENT_FAILED,this.paymentAuth.iframe),this.paymentAuth.cleanup(),this.paymentAuth=null)}handlePaymentSuccess(e){this.options.onSuccess(e)}handlePaymentError(e){this.options.onError(e)}}n.LocaleEnum=void 0,function(t){t.EN="en",t.ET="et",t.LT="lt",t.LV="lv",t.PL="pl",t.RU="ru",t.FI="fi"}(n.LocaleEnum||(n.LocaleEnum={}));var T;(function(t){t.PENDING="PENDING",t.AUTHORIZED="AUTHORIZED",t.PAID="PAID",t.PARTIALLY_REFUNDED="PARTIALLY_REFUNDED",t.REFUNDED="REFUNDED",t.VOIDED="VOIDED",t.ABANDONED="ABANDONED"})(T||(T={})),n.MontonioCheckout=w,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})});
3
3
  //# sourceMappingURL=montonio.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"montonio.umd.js","sources":["../src/common/exceptions/exceptions.ts","../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/components/MontonioCheckout/MontonioCheckout.ts","../src/components/MontonioCheckout/types.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null],"names":["ErrorEnum","MontonioCheckoutNotInitializedError","message","ValidationError","PaymentFailedError","paymentFailedMessageData","FailedToFetchReturnUrlError","attempts","MessageTypeEnum","ConfigService","name","environment","HTTPService","url","data","method","controller","timeoutId","headers","options","response","error","MessagingService","messageType","handler","iframe","windowSource","subscription","timeout","resolve","reject","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","MontonioCheckout","mountTo","sessionData","res","completedMessage","result","e","failedMessage","paymentAuthIframe","paymentIntentUuid","MAX_ATTEMPTS","DELAY_BETWEEN_ATTEMPTS_IN_MS","LocaleEnum","PaymentStatusEnum"],"mappings":"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"}
1
+ {"version":3,"file":"montonio.umd.js","sources":["../src/common/exceptions/exceptions.ts","../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/components/MontonioCheckout/MontonioCheckout.ts","../src/components/MontonioCheckout/types.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null],"names":["ErrorEnum","MontonioCheckoutNotInitializedError","message","ValidationError","PaymentFailedError","paymentFailedMessageData","FailedToFetchReturnUrlError","attempts","MessageTypeEnum","ConfigService","name","environment","HTTPService","url","data","method","controller","timeoutId","headers","options","response","error","MessagingService","messageType","handler","iframe","windowSource","subscription","timeout","resolve","reject","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","MontonioCheckout","mountTo","sessionData","completedMessage","result","e","failedMessage","res","paymentAuthIframe","paymentIntentUuid","MAX_ATTEMPTS","DELAY_BETWEEN_ATTEMPTS_IN_MS","LocaleEnum","PaymentStatusEnum"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { CheckoutOptions, PaymentResult, UpdatableCheckoutOptions } from './types';
1
+ import { CheckoutOptions, UpdatableCheckoutOptions } from './types';
2
2
  import { BaseComponent } from '../BaseComponent';
3
3
  export declare class MontonioCheckout extends BaseComponent {
4
4
  isValid: boolean;
@@ -19,22 +19,55 @@ export declare class MontonioCheckout extends BaseComponent {
19
19
  /**
20
20
  * Check the validity of the payment form. Throws an error if the payment form is invalid.
21
21
  */
22
- validateOrReject(): Promise<void>;
22
+ validateOrReject(): void;
23
23
  /**
24
- * Submit the payment. Call this after creating the Order with the Montonio backend API
25
- * @returns Promise that resolves to a PaymentResult
24
+ * Submit the payment. Call this after creating the Order with the Montonio backend API.
25
+ * The result will be provided via the onSuccess callback, and errors via the onError callback.
26
+ */
27
+ submitPayment(): void;
28
+ /**
29
+ * Fetch the session data from the Stargate to get the gateway URL for the inner iframe
26
30
  */
27
- submitPayment(): Promise<PaymentResult>;
28
31
  private fetchSession;
29
32
  /**
30
- * Listen for changes in the payment form and update the isValid property
33
+ * Set up global listeners for payment completion, failure, payment auth, and validation.
34
+ */
35
+ private setUpListeners;
36
+ /**
37
+ * Listen for payment form changes and update the isValid property
38
+ */
39
+ private setUpFormChangeListener;
40
+ /**
41
+ * Listen for payment completion messages and handle the payment success
42
+ */
43
+ private setUpPaymentCompletedListener;
44
+ /**
45
+ * Listen for payment failure messages and handle the error
46
+ */
47
+ private setUpPaymentFailedListener;
48
+ /**
49
+ * Listen for validation result messages from the iframe
50
+ */
51
+ private setUpValidationListener;
52
+ /**
53
+ * Listen for payment auth (3DS) requests and initialize the PaymentAuth component
31
54
  */
32
- private listenForPaymentFormChanges;
55
+ private setUpPaymentAuthListener;
33
56
  /**
34
57
  * After a payment has completed, fetch the return URL. Keep fetching until we
35
58
  * exhaust all the attempts
36
59
  */
37
60
  private getPaymentResult;
38
- private cleanupAfterPaymentSubmission;
61
+ /**
62
+ * Destroy the PaymentAuth component and remove it from success/failure subscriptions
63
+ */
39
64
  private cleanupPaymentAuth;
65
+ /**
66
+ * Handle payment success - calls the onSuccess callback
67
+ */
68
+ private handlePaymentSuccess;
69
+ /**
70
+ * Handle payment error - calls the onError callback
71
+ */
72
+ private handlePaymentError;
40
73
  }
@@ -16,6 +16,14 @@ export interface CheckoutOptions {
16
16
  * Defaults to 'production'
17
17
  */
18
18
  environment?: EnvironmentOptions;
19
+ /**
20
+ * Called when a payment completes successfully
21
+ */
22
+ onSuccess: (result: PaymentResult) => void;
23
+ /**
24
+ * Called when a payment fails or validation errors occur
25
+ */
26
+ onError: (error: Error) => void;
19
27
  }
20
28
  export type UpdatableCheckoutOptions = Pick<Partial<CheckoutOptions>, 'locale'>;
21
29
  /**
@@ -46,9 +46,9 @@ export declare class MessagingService {
46
46
  */
47
47
  clearSubscriptionsExcept(except: MessageTypeEnum[]): void;
48
48
  /**
49
- * Remove subscription for an iframe
49
+ * Remove an iframe from a subscription's sources
50
50
  */
51
- private removeIframeFromSubscription;
51
+ removeIframeFromSubscription(messageType: MessageTypeEnum, iframe: Iframe): void;
52
52
  /**
53
53
  * Set up the message listener for capturing all window messages
54
54
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@montonio/montonio-js",
3
- "version": "1.0.57",
3
+ "version": "1.0.58",
4
4
  "description": "Montonio JS SDK for front-end web applications",
5
5
  "type": "module",
6
6
  "publishConfig": {