@dintero/checkout-web-sdk 0.12.16 → 0.12.17
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/dist/declarations/src/index.d.ts +1 -0
- package/dist/dintero-checkout-web-sdk.cjs.dev.js +23 -7
- package/dist/dintero-checkout-web-sdk.cjs.prod.js +23 -7
- package/dist/dintero-checkout-web-sdk.esm.js +23 -7
- package/dist/dintero-checkout-web-sdk.umd.min.js +1 -1
- package/dist/dintero-checkout-web-sdk.umd.min.js.map +1 -1
- package/package.json +5 -5
|
@@ -6,7 +6,7 @@ require('native-promise-only');
|
|
|
6
6
|
|
|
7
7
|
var pkg = {
|
|
8
8
|
name: "@dintero/checkout-web-sdk",
|
|
9
|
-
version: "0.12.
|
|
9
|
+
version: "0.12.17",
|
|
10
10
|
description: "Dintero Checkout SDK for web frontends",
|
|
11
11
|
main: "dist/dintero-checkout-web-sdk.cjs.js",
|
|
12
12
|
module: "dist/dintero-checkout-web-sdk.esm.js",
|
|
@@ -44,12 +44,12 @@ var pkg = {
|
|
|
44
44
|
"@preconstruct/cli": "2.8.13",
|
|
45
45
|
"@semantic-release/exec": "7.1.0",
|
|
46
46
|
"@semantic-release/git": "10.0.1",
|
|
47
|
-
"@vitest/browser": "4.1.
|
|
47
|
+
"@vitest/browser": "4.1.9",
|
|
48
48
|
"@vitest/browser-webdriverio": "^4.0.4",
|
|
49
|
-
"semantic-release": "25.0.
|
|
49
|
+
"semantic-release": "25.0.5",
|
|
50
50
|
typescript: "6.0.3",
|
|
51
|
-
vitest: "4.1.
|
|
52
|
-
webdriverio: "9.
|
|
51
|
+
vitest: "4.1.9",
|
|
52
|
+
webdriverio: "9.29.0"
|
|
53
53
|
},
|
|
54
54
|
dependencies: {
|
|
55
55
|
"native-promise-only": "0.8.1"
|
|
@@ -1070,6 +1070,7 @@ const setLanguage = (event, checkout) => {
|
|
|
1070
1070
|
checkout.language = event.language;
|
|
1071
1071
|
}
|
|
1072
1072
|
};
|
|
1073
|
+
const paymentCompletedEvents = [CheckoutEvents.SessionCancel, CheckoutEvents.SessionPaymentOnHold, CheckoutEvents.SessionPaymentAuthorized, CheckoutEvents.SessionPaymentError];
|
|
1073
1074
|
|
|
1074
1075
|
/**
|
|
1075
1076
|
* Wrap function with try catch so an error in a single function won't short circuit other code in the current context.
|
|
@@ -1098,7 +1099,6 @@ const createPopOutMessageHandler = (source, checkout) => {
|
|
|
1098
1099
|
};
|
|
1099
1100
|
|
|
1100
1101
|
// Close pop out, and remove SDK rendered button when payment is completed.
|
|
1101
|
-
const paymentCompletedEvents = [CheckoutEvents.SessionCancel, CheckoutEvents.SessionPaymentOnHold, CheckoutEvents.SessionPaymentAuthorized, CheckoutEvents.SessionPaymentError];
|
|
1102
1102
|
const popOutCompletedHandler = {
|
|
1103
1103
|
internalPopOutHandler: true,
|
|
1104
1104
|
eventTypes: paymentCompletedEvents,
|
|
@@ -1266,6 +1266,9 @@ const isShowPopOutButton = event => {
|
|
|
1266
1266
|
* Display the SDK rendered pop out button on top of the embedded iframe
|
|
1267
1267
|
*/
|
|
1268
1268
|
const handleShowButton = (event, checkout) => {
|
|
1269
|
+
if (checkout.paymentCompleted) {
|
|
1270
|
+
return;
|
|
1271
|
+
}
|
|
1269
1272
|
if (isShowPopOutButton(event)) {
|
|
1270
1273
|
if (event.session) {
|
|
1271
1274
|
// Update checkout instance session
|
|
@@ -1295,6 +1298,15 @@ const handleRemoveButton = (event, _checkout) => {
|
|
|
1295
1298
|
removePopOutButton();
|
|
1296
1299
|
}
|
|
1297
1300
|
};
|
|
1301
|
+
|
|
1302
|
+
/**
|
|
1303
|
+
* Mark the payment as completed and remove the pop out button. Once completed,
|
|
1304
|
+
* handleShowButton ignores any further ShowPopOutButton messages.
|
|
1305
|
+
*/
|
|
1306
|
+
const handlePaymentCompleted = (_event, checkout) => {
|
|
1307
|
+
checkout.paymentCompleted = true;
|
|
1308
|
+
removePopOutButton();
|
|
1309
|
+
};
|
|
1298
1310
|
const cleanUpPopOut = checkout => {
|
|
1299
1311
|
// Ensures that the pop out is no longer open when the payment is completed or the checkout is destroyed.
|
|
1300
1312
|
removePopOutButton();
|
|
@@ -1582,6 +1594,9 @@ const embed = async options => {
|
|
|
1582
1594
|
}, {
|
|
1583
1595
|
handler: wrappedOnAddressCallback,
|
|
1584
1596
|
eventTypes: [CheckoutEvents.AddressCallback]
|
|
1597
|
+
}, {
|
|
1598
|
+
handler: handlePaymentCompleted,
|
|
1599
|
+
eventTypes: paymentCompletedEvents
|
|
1585
1600
|
}, {
|
|
1586
1601
|
handler: handleShowButton,
|
|
1587
1602
|
eventTypes: [InternalCheckoutEvents.ShowPopOutButton]
|
|
@@ -1602,7 +1617,8 @@ const embed = async options => {
|
|
|
1602
1617
|
options: internalOptions,
|
|
1603
1618
|
handlers,
|
|
1604
1619
|
session: undefined,
|
|
1605
|
-
popOutWindow: undefined
|
|
1620
|
+
popOutWindow: undefined,
|
|
1621
|
+
paymentCompleted: false
|
|
1606
1622
|
};
|
|
1607
1623
|
const checkoutInstance = checkout;
|
|
1608
1624
|
for (const {
|
|
@@ -6,7 +6,7 @@ require('native-promise-only');
|
|
|
6
6
|
|
|
7
7
|
var pkg = {
|
|
8
8
|
name: "@dintero/checkout-web-sdk",
|
|
9
|
-
version: "0.12.
|
|
9
|
+
version: "0.12.17",
|
|
10
10
|
description: "Dintero Checkout SDK for web frontends",
|
|
11
11
|
main: "dist/dintero-checkout-web-sdk.cjs.js",
|
|
12
12
|
module: "dist/dintero-checkout-web-sdk.esm.js",
|
|
@@ -44,12 +44,12 @@ var pkg = {
|
|
|
44
44
|
"@preconstruct/cli": "2.8.13",
|
|
45
45
|
"@semantic-release/exec": "7.1.0",
|
|
46
46
|
"@semantic-release/git": "10.0.1",
|
|
47
|
-
"@vitest/browser": "4.1.
|
|
47
|
+
"@vitest/browser": "4.1.9",
|
|
48
48
|
"@vitest/browser-webdriverio": "^4.0.4",
|
|
49
|
-
"semantic-release": "25.0.
|
|
49
|
+
"semantic-release": "25.0.5",
|
|
50
50
|
typescript: "6.0.3",
|
|
51
|
-
vitest: "4.1.
|
|
52
|
-
webdriverio: "9.
|
|
51
|
+
vitest: "4.1.9",
|
|
52
|
+
webdriverio: "9.29.0"
|
|
53
53
|
},
|
|
54
54
|
dependencies: {
|
|
55
55
|
"native-promise-only": "0.8.1"
|
|
@@ -1070,6 +1070,7 @@ const setLanguage = (event, checkout) => {
|
|
|
1070
1070
|
checkout.language = event.language;
|
|
1071
1071
|
}
|
|
1072
1072
|
};
|
|
1073
|
+
const paymentCompletedEvents = [CheckoutEvents.SessionCancel, CheckoutEvents.SessionPaymentOnHold, CheckoutEvents.SessionPaymentAuthorized, CheckoutEvents.SessionPaymentError];
|
|
1073
1074
|
|
|
1074
1075
|
/**
|
|
1075
1076
|
* Wrap function with try catch so an error in a single function won't short circuit other code in the current context.
|
|
@@ -1098,7 +1099,6 @@ const createPopOutMessageHandler = (source, checkout) => {
|
|
|
1098
1099
|
};
|
|
1099
1100
|
|
|
1100
1101
|
// Close pop out, and remove SDK rendered button when payment is completed.
|
|
1101
|
-
const paymentCompletedEvents = [CheckoutEvents.SessionCancel, CheckoutEvents.SessionPaymentOnHold, CheckoutEvents.SessionPaymentAuthorized, CheckoutEvents.SessionPaymentError];
|
|
1102
1102
|
const popOutCompletedHandler = {
|
|
1103
1103
|
internalPopOutHandler: true,
|
|
1104
1104
|
eventTypes: paymentCompletedEvents,
|
|
@@ -1266,6 +1266,9 @@ const isShowPopOutButton = event => {
|
|
|
1266
1266
|
* Display the SDK rendered pop out button on top of the embedded iframe
|
|
1267
1267
|
*/
|
|
1268
1268
|
const handleShowButton = (event, checkout) => {
|
|
1269
|
+
if (checkout.paymentCompleted) {
|
|
1270
|
+
return;
|
|
1271
|
+
}
|
|
1269
1272
|
if (isShowPopOutButton(event)) {
|
|
1270
1273
|
if (event.session) {
|
|
1271
1274
|
// Update checkout instance session
|
|
@@ -1295,6 +1298,15 @@ const handleRemoveButton = (event, _checkout) => {
|
|
|
1295
1298
|
removePopOutButton();
|
|
1296
1299
|
}
|
|
1297
1300
|
};
|
|
1301
|
+
|
|
1302
|
+
/**
|
|
1303
|
+
* Mark the payment as completed and remove the pop out button. Once completed,
|
|
1304
|
+
* handleShowButton ignores any further ShowPopOutButton messages.
|
|
1305
|
+
*/
|
|
1306
|
+
const handlePaymentCompleted = (_event, checkout) => {
|
|
1307
|
+
checkout.paymentCompleted = true;
|
|
1308
|
+
removePopOutButton();
|
|
1309
|
+
};
|
|
1298
1310
|
const cleanUpPopOut = checkout => {
|
|
1299
1311
|
// Ensures that the pop out is no longer open when the payment is completed or the checkout is destroyed.
|
|
1300
1312
|
removePopOutButton();
|
|
@@ -1582,6 +1594,9 @@ const embed = async options => {
|
|
|
1582
1594
|
}, {
|
|
1583
1595
|
handler: wrappedOnAddressCallback,
|
|
1584
1596
|
eventTypes: [CheckoutEvents.AddressCallback]
|
|
1597
|
+
}, {
|
|
1598
|
+
handler: handlePaymentCompleted,
|
|
1599
|
+
eventTypes: paymentCompletedEvents
|
|
1585
1600
|
}, {
|
|
1586
1601
|
handler: handleShowButton,
|
|
1587
1602
|
eventTypes: [InternalCheckoutEvents.ShowPopOutButton]
|
|
@@ -1602,7 +1617,8 @@ const embed = async options => {
|
|
|
1602
1617
|
options: internalOptions,
|
|
1603
1618
|
handlers,
|
|
1604
1619
|
session: undefined,
|
|
1605
|
-
popOutWindow: undefined
|
|
1620
|
+
popOutWindow: undefined,
|
|
1621
|
+
paymentCompleted: false
|
|
1606
1622
|
};
|
|
1607
1623
|
const checkoutInstance = checkout;
|
|
1608
1624
|
for (const {
|
|
@@ -2,7 +2,7 @@ import 'native-promise-only';
|
|
|
2
2
|
|
|
3
3
|
var pkg = {
|
|
4
4
|
name: "@dintero/checkout-web-sdk",
|
|
5
|
-
version: "0.12.
|
|
5
|
+
version: "0.12.17",
|
|
6
6
|
description: "Dintero Checkout SDK for web frontends",
|
|
7
7
|
main: "dist/dintero-checkout-web-sdk.cjs.js",
|
|
8
8
|
module: "dist/dintero-checkout-web-sdk.esm.js",
|
|
@@ -40,12 +40,12 @@ var pkg = {
|
|
|
40
40
|
"@preconstruct/cli": "2.8.13",
|
|
41
41
|
"@semantic-release/exec": "7.1.0",
|
|
42
42
|
"@semantic-release/git": "10.0.1",
|
|
43
|
-
"@vitest/browser": "4.1.
|
|
43
|
+
"@vitest/browser": "4.1.9",
|
|
44
44
|
"@vitest/browser-webdriverio": "^4.0.4",
|
|
45
|
-
"semantic-release": "25.0.
|
|
45
|
+
"semantic-release": "25.0.5",
|
|
46
46
|
typescript: "6.0.3",
|
|
47
|
-
vitest: "4.1.
|
|
48
|
-
webdriverio: "9.
|
|
47
|
+
vitest: "4.1.9",
|
|
48
|
+
webdriverio: "9.29.0"
|
|
49
49
|
},
|
|
50
50
|
dependencies: {
|
|
51
51
|
"native-promise-only": "0.8.1"
|
|
@@ -1066,6 +1066,7 @@ const setLanguage = (event, checkout) => {
|
|
|
1066
1066
|
checkout.language = event.language;
|
|
1067
1067
|
}
|
|
1068
1068
|
};
|
|
1069
|
+
const paymentCompletedEvents = [CheckoutEvents.SessionCancel, CheckoutEvents.SessionPaymentOnHold, CheckoutEvents.SessionPaymentAuthorized, CheckoutEvents.SessionPaymentError];
|
|
1069
1070
|
|
|
1070
1071
|
/**
|
|
1071
1072
|
* Wrap function with try catch so an error in a single function won't short circuit other code in the current context.
|
|
@@ -1094,7 +1095,6 @@ const createPopOutMessageHandler = (source, checkout) => {
|
|
|
1094
1095
|
};
|
|
1095
1096
|
|
|
1096
1097
|
// Close pop out, and remove SDK rendered button when payment is completed.
|
|
1097
|
-
const paymentCompletedEvents = [CheckoutEvents.SessionCancel, CheckoutEvents.SessionPaymentOnHold, CheckoutEvents.SessionPaymentAuthorized, CheckoutEvents.SessionPaymentError];
|
|
1098
1098
|
const popOutCompletedHandler = {
|
|
1099
1099
|
internalPopOutHandler: true,
|
|
1100
1100
|
eventTypes: paymentCompletedEvents,
|
|
@@ -1262,6 +1262,9 @@ const isShowPopOutButton = event => {
|
|
|
1262
1262
|
* Display the SDK rendered pop out button on top of the embedded iframe
|
|
1263
1263
|
*/
|
|
1264
1264
|
const handleShowButton = (event, checkout) => {
|
|
1265
|
+
if (checkout.paymentCompleted) {
|
|
1266
|
+
return;
|
|
1267
|
+
}
|
|
1265
1268
|
if (isShowPopOutButton(event)) {
|
|
1266
1269
|
if (event.session) {
|
|
1267
1270
|
// Update checkout instance session
|
|
@@ -1291,6 +1294,15 @@ const handleRemoveButton = (event, _checkout) => {
|
|
|
1291
1294
|
removePopOutButton();
|
|
1292
1295
|
}
|
|
1293
1296
|
};
|
|
1297
|
+
|
|
1298
|
+
/**
|
|
1299
|
+
* Mark the payment as completed and remove the pop out button. Once completed,
|
|
1300
|
+
* handleShowButton ignores any further ShowPopOutButton messages.
|
|
1301
|
+
*/
|
|
1302
|
+
const handlePaymentCompleted = (_event, checkout) => {
|
|
1303
|
+
checkout.paymentCompleted = true;
|
|
1304
|
+
removePopOutButton();
|
|
1305
|
+
};
|
|
1294
1306
|
const cleanUpPopOut = checkout => {
|
|
1295
1307
|
// Ensures that the pop out is no longer open when the payment is completed or the checkout is destroyed.
|
|
1296
1308
|
removePopOutButton();
|
|
@@ -1578,6 +1590,9 @@ const embed = async options => {
|
|
|
1578
1590
|
}, {
|
|
1579
1591
|
handler: wrappedOnAddressCallback,
|
|
1580
1592
|
eventTypes: [CheckoutEvents.AddressCallback]
|
|
1593
|
+
}, {
|
|
1594
|
+
handler: handlePaymentCompleted,
|
|
1595
|
+
eventTypes: paymentCompletedEvents
|
|
1581
1596
|
}, {
|
|
1582
1597
|
handler: handleShowButton,
|
|
1583
1598
|
eventTypes: [InternalCheckoutEvents.ShowPopOutButton]
|
|
@@ -1598,7 +1613,8 @@ const embed = async options => {
|
|
|
1598
1613
|
options: internalOptions,
|
|
1599
1614
|
handlers,
|
|
1600
1615
|
session: undefined,
|
|
1601
|
-
popOutWindow: undefined
|
|
1616
|
+
popOutWindow: undefined,
|
|
1617
|
+
paymentCompleted: false
|
|
1602
1618
|
};
|
|
1603
1619
|
const checkoutInstance = checkout;
|
|
1604
1620
|
for (const {
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
v0.8.1 (c) Kyle Simpson
|
|
4
4
|
MIT License: http://getify.mit-license.org
|
|
5
5
|
*/
|
|
6
|
-
var n,o,i;i=function(){var e,t,n,o=Object.prototype.toString,i="undefined"!=typeof setImmediate?function(e){return setImmediate(e)}:setTimeout;try{Object.defineProperty({},"x",{}),e=function(e,t,n,o){return Object.defineProperty(e,t,{value:n,writable:!0,configurable:!1!==o})}}catch(t){e=function(e,t,n){return e[t]=n,e}}function r(e,o){n.add(e,o),t||(t=i(n.drain))}function s(e){var t,n=typeof e;return null==e||"object"!=n&&"function"!=n||(t=e.then),"function"==typeof t&&t}function a(){for(var e=0;e<this.chain.length;e++)d(this,1===this.state?this.chain[e].success:this.chain[e].failure,this.chain[e]);this.chain.length=0}function d(e,t,n){var o,i;try{!1===t?n.reject(e.msg):(o=!0===t?e.msg:t.call(void 0,e.msg))===n.promise?n.reject(TypeError("Promise-chain cycle")):(i=s(o))?i.call(o,n.resolve,n.reject):n.resolve(o)}catch(e){n.reject(e)}}function c(e){var t,n=this;if(!n.triggered){n.triggered=!0,n.def&&(n=n.def);try{(t=s(e))?r(function(){var o=new u(n);try{t.call(e,function(){c.apply(o,arguments)},function(){l.apply(o,arguments)})}catch(e){l.call(o,e)}}):(n.msg=e,n.state=1,n.chain.length>0&&r(a,n))}catch(e){l.call(new u(n),e)}}}function l(e){var t=this;t.triggered||(t.triggered=!0,t.def&&(t=t.def),t.msg=e,t.state=2,t.chain.length>0&&r(a,t))}function p(e,t,n,o){for(var i=0;i<t.length;i++)(function(i){e.resolve(t[i]).then(function(e){n(i,e)},o)})(i)}function u(e){this.def=e,this.triggered=!1}function f(e){this.promise=e,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function h(e){if("function"!=typeof e)throw TypeError("Not a function");if(0!==this.__NPO__)throw TypeError("Not a promise");this.__NPO__=1;var t=new f(this);this.then=function(e,n){var o={success:"function"!=typeof e||e,failure:"function"==typeof n&&n};return o.promise=new this.constructor(function(e,t){if("function"!=typeof e||"function"!=typeof t)throw TypeError("Not a function");o.resolve=e,o.reject=t}),t.chain.push(o),0!==t.state&&r(a,t),o.promise},this.catch=function(e){return this.then(void 0,e)};try{e.call(void 0,function(e){c.call(t,e)},function(e){l.call(t,e)})}catch(e){l.call(t,e)}}n=function(){var e,n,o;function i(e,t){this.fn=e,this.self=t,this.next=void 0}return{add:function(t,r){o=new i(t,r),n?n.next=o:e=o,n=o,o=void 0},drain:function(){var o=e;for(e=n=t=void 0;o;)o.fn.call(o.self),o=o.next}}}();var m=e({},"constructor",h,!1);return h.prototype=m,e(m,"__NPO__",0,!1),e(h,"resolve",function(e){return e&&"object"==typeof e&&1===e.__NPO__?e:new this(function(t,n){if("function"!=typeof t||"function"!=typeof n)throw TypeError("Not a function");t(e)})}),e(h,"reject",function(e){return new this(function(t,n){if("function"!=typeof t||"function"!=typeof n)throw TypeError("Not a function");n(e)})}),e(h,"all",function(e){var t=this;return"[object Array]"!=o.call(e)?t.reject(TypeError("Not an array")):0===e.length?t.resolve([]):new t(function(n,o){if("function"!=typeof n||"function"!=typeof o)throw TypeError("Not a function");var i=e.length,r=Array(i),s=0;p(t,e,function(e,t){r[e]=t,++s===i&&n(r)},o)})}),e(h,"race",function(e){var t=this;return"[object Array]"!=o.call(e)?t.reject(TypeError("Not an array")):new t(function(n,o){if("function"!=typeof n||"function"!=typeof o)throw TypeError("Not a function");p(t,e,function(e,t){n(t)},o)})}),h},(o=t)[n="Promise"]=o[n]||i(),e.exports&&(e.exports=o[n])});var n="0.12.16";let o=function(e){return e.SessionNotFound="SessionNotFound",e.SessionLoaded="SessionLoaded",e.SessionUpdated="SessionUpdated",e.SessionCancel="SessionCancel",e.SessionPaymentOnHold="SessionPaymentOnHold",e.SessionPaymentAuthorized="SessionPaymentAuthorized",e.SessionPaymentError="SessionPaymentError",e.SessionLocked="SessionLocked",e.SessionLockFailed="SessionLockFailed",e.ActivePaymentProductType="ActivePaymentProductType",e.ValidateSession="ValidateSession",e.AddressCallback="AddressCallback",e}({}),i=function(e){return e.HeightChanged="HeightChanged",e.LanguageChanged="LanguageChanged",e.ScrollToTop="ScrollToTop",e.ShowPopOutButton="ShowPopOutButton",e.HidePopOutButton="HidePopOutButton",e.TopLevelNavigation="TopLevelNavigation",e}({});const r=e=>e.endsWith("/")?e:`${e}/`,s=()=>{try{const{hostname:e}=window.location;return e}catch(e){return}},a=()=>{try{if(window.self===window.top)return!0;const e=s(),t=window.top?.location.hostname;return Boolean(t&&e&&e===t)}catch(e){return!1}},d=({sid:e,endpoint:t,language:o,shouldCallValidateSession:i})=>{const a=new URLSearchParams;a.append("ui","fullscreen"),a.append("role","pop_out_payment"),a.append("sid",e),a.append("sdk",n),o&&a.append("language",o),i&&a.append("loader","true");const d=s();return d&&a.append("sdk_hostname",d),`${r(t)}?${a.toString()}`},c=e=>{const{sid:t,endpoint:o,language:i,ui:d,shouldCallValidateSession:c,shouldCallAddressCallback:l,popOut:p,redirect:u}=e;if(!o)throw new Error("Invalid endpoint");const f=new URLSearchParams;f.append("sdk",n),d&&f.append("ui",d),i&&f.append("language",i),c&&f.append("client_side_validation","true"),l&&f.append("client_side_address_callback","true"),p&&f.append("role","pop_out_launcher"),e.hasOwnProperty("hideTestMessage")&&void 0!==e.hideTestMessage&&!0===e.hideTestMessage&&f.append("hide_test_message","true");const h=s();return h&&f.append("sdk_hostname",h),u||a()||f.append("sdk_not_top_level","true"),"https://checkout.dintero.com"===o?`${o}/v1/view/${t}?${f.toString()}`:(f.append("sid",t),`${r(o)}?${f.toString()}`)},l=e=>{const t=e||"https://checkout.dintero.com";try{return new URL(t).origin}catch{throw new Error("Invalid endpoint")}},p=e=>{window.location.assign(e)},u=async e=>{let t,n,o=-1;if(n&&!n.closed)return{close:()=>{},focus:()=>{},popOutWindow:void 0};const i=d(e);n=await((e,t,n,o)=>new Promise(i=>{try{const r=window.screenX+(window.outerWidth-n)/2,s=window.screenY+(window.outerHeight-o)/2,a=`width=${n},height=${o},left=${r},top=${s},location=no,menubar=no,toolbar=no,status=no`;let d,c=-1;const l=n=>{const o=n.source===d,r=n.origin===new URL(t).origin,s=n.data&&"AppLoaded"===n.data.type,a="popOut"===n.data.context,p=n.data.sid===e;o&&r&&s&&a&&p&&(clearTimeout(c),i(d),window.removeEventListener("message",l))};if(window.addEventListener("message",l),d=window.open(t,"dintero-checkout",a)??void 0,!d)return console.log("createPopOutWindow no popOut"),void i(void 0);c=window.setTimeout(()=>{console.log("createPopOutWindow timeout"),i(void 0)},1e4)}catch(e){i(void 0)}}))(e.sid,i,Math.min(480,window.screen.width),Math.min(840,window.screen.height));const r=()=>{window.clearInterval(o),o=-1,window.removeEventListener("beforeunload",s),n=void 0,e.onClose(),t&&t()},s=()=>{n&&n.close(),r()};return window.addEventListener("beforeunload",s),o=window.setInterval(()=>{n?.closed&&r()},200),n&&(t=e.onOpen(n)),{close:s,focus:()=>{n&&n.focus()},popOutWindow:n}},f=(e,t,n)=>{try{e&&e.postMessage({type:"LockSession",sid:t},n)}catch(e){console.error(e)}},h=(e,t,n)=>{try{e&&e.postMessage({type:"RefreshSession",sid:t},n)}catch(e){console.error(e)}},m=(e,t,n,o)=>{try{e&&e.postMessage({type:"SetActivePaymentProductType",sid:t,payment_product_type:o},n)}catch(e){console.error(e)}},g="dintero-checkout-sdk-style",y="dintero-checkout-sdk-backdrop",w="dintero-checkout-sdk-backdrop-description",b="dintero-checkout-sdk-backdrop-focus",v="dintero-checkout-sdk-backdrop-close",L=e=>t=>(t.preventDefault(),t.stopPropagation(),e(),!1),C=()=>{const e=document.createElement("div");return e.setAttribute("id",y),e.setAttribute("role","dialog"),e.style.zIndex=(()=>{const e=document.getElementsByTagName("*"),t=Array.from(e).reduce((e,t)=>{try{const n=document.defaultView?.getComputedStyle(t,null).getPropertyValue("z-index"),o=Number.parseInt(n||"0",10);if(!Number.isNaN(o)&&o>e)return o}catch(e){console.error(e)}return e},0);return t<9999?"9999":(t+1).toString()})(),e},S=e=>{const t=document.getElementById(b),n=document.getElementById(v);"Tab"!==e.key&&"Tab"!==e.code||(document.activeElement===t?(n?.focus(),e.preventDefault()):(t?.focus(),e.preventDefault()))},k=e=>{(()=>{if(document.getElementById(g))return;const e=document.createElement("style");e.setAttribute("id",g),e.innerHTML=`\n @keyframes ${y}-fade-in {\n from {opacity: 0;}\n to {opacity: 1;}\n }\n\n #${y} {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n height: 100vh;\n width: 100vw;\n background-color: rgba(0,0,0,0.9);\n background: radial-gradient(rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.8) 100%);\n cursor: pointer;\n animation: 20ms ease-out ${y}-fade-in;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 20px;\n color: #ffffff;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n font-size: 18px;\n font-weight: 400;\n line-height: normal;\n text-rendering: geometricPrecision;\n margin: 0;\n padding: 0;\n border: 0;\n vertical-align: baseline;\n line-height: normal;\n }\n\n #${y} p {\n padding: 0;\n margin: 0;\n border: 0;\n user-select: none;\n }\n\n #${b} {\n background-color: #efefef !important;\n color: #000000 !important;\n font-size: 16px !important;\n font-weight: 600 !important;\n border-radius: 200px !important;\n margin: 0 !important;\n line-height: normal !important;\n border: none !important;\n padding: 10px 20px !important;\n user-select: none !important;\n cursor: pointer !important;\n }\n #${b}:hover,\n #${b}:focus {\n outline: none !important;\n background-color: #ffffff !important;\n border: none !important;\n color: #000000 !important;\n padding: 10px 20px !important;\n margin: 0 !important;\n }\n #${b}:focus{\n outline-offset: 2px;\n outline: 1px #ffffff solid !important;\n }\n\n #${v} {\n background: transparent !important;\n padding: 0 !important;\n margin: 0 !important;\n border: none !important;\n border-radius: 4px !important;\n height: 24px !important;\n width: 24px !important;\n color: #efefef !important;\n position: absolute !important;\n top: 16px !important;\n right: 24px !important;\n transition: all 200ms ease-out !important;\n cursor: pointer !important;\n }\n\n #${v}:hover,\n #${v}:focus {\n outline: none !important;\n color: #ffffff !important;\n border: none !important;\n background: transparent !important;\n padding: 0 !important;\n margin: 0 !important;\n position: absolute;\n top: 16px;\n right: 24px;\n }\n #${v}:focus{\n outline: 1px #ffffff solid !important;\n }\n\n #${y}:before,\n #${y}:after,\n #${y} > *:before,\n #${y} > *:after {\n content: '';\n content: none;\n }\n `,document.head.appendChild(e)})();const t=C(),n=(e=>{const t=document.createElement("button");return t.setAttribute("id",v),t.setAttribute("type","button"),t.setAttribute("aria-label",e),t.innerHTML='\n <svg\n xmlns="http://www.w3.org/2000/svg"\n width="24"\n height="24"\n viewBox="0 0 24 24"\n fill="none"\n stroke="currentColor"\n stroke-width="2"\n stroke-linecap="round"\n stroke-linejoin="round"\n alt="close icon"\n >\n <line x1="18" y1="6" x2="6" y2="18"></line>\n <line x1="6" y1="6" x2="18" y2="18"></line>\n </svg>',t})(e.event.closeLabel),o=(()=>{const e=document.createElement("div");return e.innerHTML='\n <svg width="120px" height="22px" viewBox="0 0 630 111" version="1.1" >\n <g id="Page-1" stroke="none" strokeWidth="1" fill="none" fillRule="evenodd">\n <g id="Dintero" fill="#ffffff" fillRule="nonzero">\n <path d="M376.23,60.48 L376.23,73.54 L454.13,73.54 C456.31,41.55 435.85,23.71 410.61,23.71 C385.37,23.71 367.09,41.77 367.09,66.79 C367.09,92.03 386.02,110.31 411.91,110.31 C433.02,110.31 448.9,97.25 453.25,82.24 L436.5,82.24 C432.37,89.42 423.88,95.51 411.91,95.51 C395.16,95.51 382.75,83.11 382.75,66.79 C382.75,50.69 394.72,38.5 410.6,38.5 C426.48,38.5 438.45,50.68 438.45,66.79 L444.54,60.48 L376.23,60.48 Z M154.29,17.83 L171.7,17.83 L171.7,0.42 L154.29,0.42 L154.29,17.83 Z M120.34,108.13 L191.27,108.13 L191.27,93.77 L120.34,93.77 L120.34,108.13 Z M156.46,40.24 L156.46,108.13 L171.69,108.13 L171.69,45.47 C171.69,32.85 165.82,25.89 151.89,25.89 L120.34,25.89 L120.34,40.25 L156.46,40.25 L156.46,40.24 Z M499.17,25.88 L464.36,25.88 L464.36,40.24 L483.94,40.24 L484.16,108.13 L499.39,108.13 L499.17,62.44 C499.17,48.51 508.53,40.25 521.58,40.25 L535.29,40.25 L535.29,25.89 L524.41,25.89 C509.18,25.89 501.78,31.33 497.65,41.56 L495.47,47 L499.17,47.65 L499.17,25.88 Z M288.76,25.88 L310.52,25.88 L310.52,6.3 L325.75,6.3 L325.75,25.88 L359.69,25.88 L359.69,40.24 L325.75,40.24 L325.75,93.77 L359.69,93.77 L359.69,108.13 L332.49,108.13 C318.56,108.13 310.51,98.99 310.51,86.37 L310.51,40.24 L288.75,40.24 L288.75,25.88 L288.76,25.88 Z M464.35,108.13 L535.28,108.13 L535.28,93.77 L464.35,93.77 L464.35,108.13 Z M108.6,54.17 C108.6,23.06 85.54,0.43 53.77,0.43 L0.9,0.43 L0.9,108.14 L53.77,108.14 C85.53,108.13 108.6,85.5 108.6,54.17 M248.07,23.71 C234.58,23.71 223.92,31.98 220,41.55 L220,25.88 L204.77,25.88 L204.77,108.13 L220,108.13 L220,66.35 C220,53.08 224.79,38.93 243.72,38.93 C259.39,38.93 267.44,48.07 267.44,67.43 L267.44,108.12 L282.67,108.12 L282.67,64.6 C282.67,35.02 265.91,23.71 248.07,23.71 M586.2,110.31 C611.22,110.31 629.72,92.03 629.72,67.01 C629.72,41.99 611.23,23.71 586.2,23.71 C560.96,23.71 542.68,41.99 542.68,67.01 C542.68,92.03 560.96,110.31 586.2,110.31 M586.2,95.51 C570.32,95.51 558.35,83.33 558.35,67.01 C558.35,50.69 570.32,38.51 586.2,38.51 C602.08,38.51 614.05,50.69 614.05,67.01 C614.05,83.33 602.08,95.51 586.2,95.51 M16.99,92.9 L16.99,15.66 L51.8,15.66 C75.3,15.66 92.05,31.98 92.05,54.61 C92.05,76.8 75.3,92.91 51.8,92.91 L16.99,92.91 L16.99,92.9 Z" id="Shape"></path>\n </g>\n </g>\n </svg>',e})(),i=(e=>{const t=document.createElement("p");return t.setAttribute("id",w),t.innerText=e,t})(e.event.descriptionLabel),r=(e=>{const t=document.createElement("button");return t.setAttribute("id",b),t.setAttribute("type","button"),t.innerText=e,t})(e.event.focusLabel);return t.onclick=L(e.focus),r.onclick=L(e.focus),n.onclick=L(e.close),document.addEventListener("keydown",S),t.appendChild(n),t.appendChild(o),t.appendChild(i),t.appendChild(r),document.body.appendChild(t),t.focus(),t},T=()=>{try{const e=document.getElementById(y);e&&document.body.removeChild(e),document.removeEventListener("keydown",S)}catch(e){console.error(e)}},x="dintero-checkout-sdk-launch-pop-out",P=(e,t)=>{if(!e&&!t)return;const n=`${x}-styles`;if(document.getElementById(n))return;const o=document.createElement("style");o.setAttribute("id",n);const i=[];e&&i.push(E(`#${x}:hover:not(:disabled)`,e)),t&&i.push(E(`#${x}:focus-visible`,t)),o.textContent=i.join("\n"),document.head.appendChild(o)},E=(e,t)=>[`${e} {`,O(t),"}"].join("\n"),O=e=>Object.entries(e).map(([e,t])=>` ${A(e)}: ${t} !important;`).join("\n"),A=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),$=e=>{const{container:t}=e,n=document.getElementById(x),o=n||document.createElement("button");((e,{label:t,disabled:n,top:o,left:i,right:r,styles:s,onClick:a,stylesHover:d,stylesFocusVisible:c})=>{e.setAttribute("id",x),e.setAttribute("type","button"),"true"===n?e.setAttribute("disabled",n):e.removeAttribute("disabled"),e.onclick=t=>{t.preventDefault(),t.stopPropagation(),e.style.boxShadow="inset 0 0 10px rgba(34, 84, 65, 0.9)",a(),window.setTimeout(()=>{e.style.boxShadow="none"},200)},e.innerText=t,e.style.position="absolute",e.style.top=`${o}px`,e.style.left=`${i}px`,e.style.right=`${r}px`;const{...l}=s;for(const[t,n]of Object.entries(l))e.style[t]=n;try{P(d,c)}catch(e){console.error(e)}})(o,e),n||t.appendChild(o)},W=()=>{try{const e=document.getElementById(x);e&&e.remove()}catch(e){console.error(e)}},_=(e,t,n,o)=>{e.contentWindow&&e.contentWindow.postMessage({type:"ValidationResult",sid:t,...n},o)},M=e=>{const{sid:t,endpoint:n,handler:o,eventTypes:i,checkout:r}=e,s=new URL(n),a=e=>{const n=e.origin===s.origin,a=e.source===r.iframe.contentWindow,d=e.data&&e.data.sid===t,c=-1!==i.indexOf(e.data?.type);n&&a&&d&&c&&(((e,t,n)=>{t.data.mid&&e&&e.postMessage({ack:t.data.mid},n)})(r.iframe.contentWindow,e,s.origin),o(e.data,r))};window.addEventListener("message",a,!1);return{unsubscribe:()=>{window.removeEventListener("message",a,!1)}}},j=(e,t)=>{z(t),e.href&&p(e.href)},V=(e,t)=>{(e.height||0===e.height)&&t.iframe.setAttribute("style",`width:100%; height:${e.height}px;`)},B=(e,t)=>{try{t.iframe.scrollIntoView({block:"start",behavior:"smooth"})}catch(e){console.error(e)}},N=(e,t)=>{e.language&&(t.language=e.language)},I=e=>{try{e()}catch(e){console.error(e)}},H=async(e,t)=>{const n=await u({sid:t.options.sid,endpoint:t.options.endpoint??"https://checkout.dintero.com",shouldCallValidateSession:Boolean(t.options.onValidateSession),shouldCallAddressCallback:!1,language:e.language,onOpen:e=>((e,t)=>{const n={internalPopOutHandler:!0,eventTypes:[i.LanguageChanged],handler:(e,t)=>{var n,o,i,r;n=t.iframe,o=t.options.sid,i=e.language,r=l(t.options.endpoint),n.contentWindow&&n.contentWindow.postMessage({type:"SetLanguage",sid:o,language:i},r)}},r={internalPopOutHandler:!0,eventTypes:[o.SessionCancel,o.SessionPaymentOnHold,o.SessionPaymentAuthorized,o.SessionPaymentError],handler:(t,n)=>{if(t.href){W();try{e.close()}catch(e){console.error(e)}}else console.error("Payment Complete event missing href property")}},s=o=>{if(o.source===e&&"popOut"===o.data.context&&o.data.sid===t.options.sid)for(const e of[n,r,...t.handlers])if(e.eventTypes.includes(o.data.type)&&e.handler){const{handler:n}=e;I(()=>{n(o.data,t)})}};return window.addEventListener("message",s),()=>{window.removeEventListener("message",s)}})(e,t),onClose:()=>{var e,n,o;T(),e=t.iframe,n=t.options.sid,o=l(t.options.endpoint),e.contentWindow&&e.contentWindow.postMessage({type:"ClosedPopOut",sid:n},o),(e=>{try{const t=document.getElementById(x);t&&(e?t.setAttribute("disabled",e.toString()):t.removeAttribute("disabled"))}catch(e){console.error(e)}})(!1),t.popOutWindow=void 0}}),{close:r,focus:s,popOutWindow:a}=n;return a?(d=t.iframe,c=t.options.sid,p=l(t.options.endpoint),d.contentWindow&&d.contentWindow.postMessage({type:"OpenedPopOut",sid:c},p),t.popOutWindow=a,(e=>{try{if(document.getElementById(y))return;return k(e)}catch(e){console.error(e)}})({focus:s,close:r,event:e}),!0):(((e,t,n)=>{e.contentWindow&&e.contentWindow.postMessage({type:"OpenPopOutFailed",sid:t},n)})(t.iframe,t.options.sid,l(t.options.endpoint)),!1);var d,c,p},R=async(e,t)=>{if(await H(e,t)&&t.options.onValidateSession){n=t.iframe,i=t.options.sid,r=l(t.options.endpoint),n.contentWindow&&n.contentWindow.postMessage({type:"ValidatingPopOut",sid:i},r);const s=((e,t)=>n=>{_(t.iframe,t.options.sid,n,l(t.options.endpoint)),n.success&&t.popOutWindow?t.popOutWindow.location.href=d({sid:t.options.sid,endpoint:t.options.endpoint??"https://checkout.dintero.com",shouldCallValidateSession:!1,shouldCallAddressCallback:!1,language:e.language}):(t.popOutWindow&&t.popOutWindow.close(),console.error(n.clientValidationError))})(e,t);try{t.options.onValidateSession({type:o.ValidateSession,session:t.session,callback:s},t,s)}catch(e){console.error(e),_(t.iframe,t.options.sid,{success:!1,clientValidationError:"Validation runtime error"},l(t.options.endpoint))}}var n,i,r},F=(e,t)=>{(e=>"object"==typeof e&&null!==e&&e.type===i.ShowPopOutButton)(e)&&(e.session&&(t.session=e.session),$({container:t.options.innerContainer,label:e.openLabel,top:e.top,left:e.left,right:e.right,styles:e.styles,stylesHover:e.stylesHover,stylesFocusVisible:e.stylesFocusVisible,disabled:e.disabled,onClick:()=>R(e,t)}),(e=>{const t=document.getElementById(b);t&&(t.innerText=e.focusLabel);const n=document.getElementById(w);n&&(n.innerText=e.descriptionLabel);const o=document.getElementById(v);o&&o.setAttribute("aria-label",e.descriptionLabel)})(e))},U=(e,t)=>{e.type===i.HidePopOutButton&&W()},z=e=>{if(W(),T(),e.popOutWindow)try{e.popOutWindow.close()}catch(e){console.error(e)}};e.embed=async e=>{const t=document.createElement("div");t.style.position="relative",t.style.boxSizing="border-box";const r={endpoint:"https://checkout.dintero.com",innerContainer:t,...e},{container:s,sid:a,language:d,endpoint:p,onSession:u,onSessionCancel:g,onPayment:y,onPaymentAuthorized:w,onPaymentError:b,onSessionNotFound:v,onSessionLocked:L,onSessionLockFailed:C,onActivePaymentType:S,onValidateSession:k,onAddressCallback:x,popOut:P}=r,E=l(p);let O;const A=[];let $=!1;s.appendChild(t);const{iframe:W,initiate:I}=((e,t)=>{if(!e?.appendChild)throw new Error("Invalid container");const n=document.createElement("iframe");return n.setAttribute("frameborder","0"),n.setAttribute("allowTransparency","true"),n.setAttribute("style","width:100%; height:0;"),n.setAttribute("sandbox","allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox allow-top-navigation"),n.setAttribute("allow","payment; clipboard-write *"),n.setAttribute("importance","high"),n.setAttribute("src",t),{iframe:n,initiate:async()=>new Promise((t,o)=>{n.onload=()=>t(),n.onerror=()=>o(),e.appendChild(n)})}})(t,c({sid:a,endpoint:p,language:d,ui:e.ui||"inline",shouldCallValidateSession:void 0!==k,shouldCallAddressCallback:void 0!==x,popOut:P,...e.hasOwnProperty("hideTestMessage")&&{hideTestMessage:e.hideTestMessage}})),H=(e,t,n)=>{if(!O)throw new Error("Unable to create action promise: checkout is undefined");const o=O;return new Promise((i,r)=>{const s=[];s.push(M({sid:a,endpoint:p,handler:e=>{for(const e of s)e.unsubscribe();i(e)},eventTypes:[t],checkout:o,source:o.iframe.contentWindow})),s.push(M({sid:a,endpoint:p,handler:()=>{for(const e of s)e.unsubscribe();r(`Received unexpected event: ${n}`)},eventTypes:[n],checkout:o,source:o.iframe.contentWindow})),e()})},R=()=>H(()=>{((e,t,n)=>{e.contentWindow&&e.contentWindow.postMessage({type:"RefreshSession",sid:t},n)})(W,a,E),h(O?.popOutWindow,a,E)},o.SessionUpdated,o.SessionNotFound),Z=e=>{_(W,a,e,E)},D=e=>{((e,t,n,o)=>{e.contentWindow&&e.contentWindow.postMessage({type:"AddressCallbackResult",sid:t,...n},o)})(W,a,e,E)},q=(e,t,i)=>(e,r)=>{if(!$){$=!0,z(r);const s=["sid","merchant_reference","transaction_id","error"].map(t=>[t,e[t]]);e.type!==o.SessionCancel||e.error||s.push(["error","cancelled"]),s.push(["language",r.language]),s.push(["sdk",n]);const a=s.filter(([e,t])=>t).map(([e,t])=>`${e}=${t}`).join("&");r.iframe.setAttribute("src",((e,t,n)=>{const o=e.endsWith("/")?"":"/";return`${e}${o}${t}?${n}`})(t,"embedResult/",a)),i(e,r)}},X=[{handler:N,eventTypes:[i.LanguageChanged]},{handler:V,eventTypes:[i.HeightChanged]},{handler:B,eventTypes:[i.ScrollToTop]},{handler:j,eventTypes:[i.TopLevelNavigation]},{handler:(e,t)=>{t.session=e.session,u&&u(e,t)},eventTypes:[o.SessionLoaded,o.SessionUpdated]},{eventTypes:[o.SessionPaymentOnHold],handler:q(0,p,y??j)},{eventTypes:[o.SessionPaymentAuthorized],handler:q(0,p,w??y??j)},{handler:q(0,p,g??j),eventTypes:[o.SessionCancel]},{handler:q(0,p,b??j),eventTypes:[o.SessionPaymentError]},{handler:v,eventTypes:[o.SessionNotFound]},{handler:(e,t)=>{L&&L(e,t,R)},eventTypes:[o.SessionLocked]},{handler:C,eventTypes:[o.SessionLockFailed]},{handler:S,eventTypes:[o.ActivePaymentProductType]},{handler:(e,t)=>{if(k)try{k({...e,callback:Z},t,Z)}catch(e){console.error(e),Z({success:!1,clientValidationError:"Validation runtime error"})}},eventTypes:[o.ValidateSession]},{handler:(e,t)=>{if(x)try{x({...e,callback:D},t,D)}catch(e){console.error(e),D({success:!1,error:"Address callback runtime error"})}},eventTypes:[o.AddressCallback]},{handler:F,eventTypes:[i.ShowPopOutButton]},{handler:U,eventTypes:[i.HidePopOutButton]}];O={destroy:()=>{if(O&&z(O),W){r.popOut&&T();for(const e of A)e.unsubscribe();W.parentElement&&t.removeChild(W)}t.parentElement&&s.removeChild(t)},iframe:W,language:d??"",lockSession:()=>H(()=>{((e,t,n)=>{e.contentWindow&&e.contentWindow.postMessage({type:"LockSession",sid:t},n)})(W,a,E),f(O?.popOutWindow,a,E)},o.SessionLocked,o.SessionLockFailed),refreshSession:R,setActivePaymentProductType:t=>{e.popOut?m(O?.popOutWindow,a,E,t):((e,t,n,o)=>{e.contentWindow&&e.contentWindow.postMessage({type:"SetActivePaymentProductType",sid:t,payment_product_type:o},n)})(W,a,E,t)},submitValidationResult:Z,submitAddressCallbackResult:D,options:r,handlers:X,session:void 0,popOutWindow:void 0};const Y=O;for(const{handler:e,eventTypes:t}of X)e&&A.push(M({sid:a,endpoint:p,handler:e,eventTypes:t,checkout:Y,source:Y.iframe.contentWindow}));return await I(),Y},e.redirect=e=>{const{sid:t,language:n,endpoint:o="https://checkout.dintero.com"}=e;p(c({sid:t,endpoint:o,language:n,shouldCallValidateSession:!1,shouldCallAddressCallback:!1,redirect:!0}))},Object.defineProperty(e,"__esModule",{value:!0})});
|
|
6
|
+
var n,o,i;i=function(){var e,t,n,o=Object.prototype.toString,i="undefined"!=typeof setImmediate?function(e){return setImmediate(e)}:setTimeout;try{Object.defineProperty({},"x",{}),e=function(e,t,n,o){return Object.defineProperty(e,t,{value:n,writable:!0,configurable:!1!==o})}}catch(t){e=function(e,t,n){return e[t]=n,e}}function r(e,o){n.add(e,o),t||(t=i(n.drain))}function s(e){var t,n=typeof e;return null==e||"object"!=n&&"function"!=n||(t=e.then),"function"==typeof t&&t}function a(){for(var e=0;e<this.chain.length;e++)d(this,1===this.state?this.chain[e].success:this.chain[e].failure,this.chain[e]);this.chain.length=0}function d(e,t,n){var o,i;try{!1===t?n.reject(e.msg):(o=!0===t?e.msg:t.call(void 0,e.msg))===n.promise?n.reject(TypeError("Promise-chain cycle")):(i=s(o))?i.call(o,n.resolve,n.reject):n.resolve(o)}catch(e){n.reject(e)}}function c(e){var t,n=this;if(!n.triggered){n.triggered=!0,n.def&&(n=n.def);try{(t=s(e))?r(function(){var o=new u(n);try{t.call(e,function(){c.apply(o,arguments)},function(){l.apply(o,arguments)})}catch(e){l.call(o,e)}}):(n.msg=e,n.state=1,n.chain.length>0&&r(a,n))}catch(e){l.call(new u(n),e)}}}function l(e){var t=this;t.triggered||(t.triggered=!0,t.def&&(t=t.def),t.msg=e,t.state=2,t.chain.length>0&&r(a,t))}function p(e,t,n,o){for(var i=0;i<t.length;i++)(function(i){e.resolve(t[i]).then(function(e){n(i,e)},o)})(i)}function u(e){this.def=e,this.triggered=!1}function f(e){this.promise=e,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function h(e){if("function"!=typeof e)throw TypeError("Not a function");if(0!==this.__NPO__)throw TypeError("Not a promise");this.__NPO__=1;var t=new f(this);this.then=function(e,n){var o={success:"function"!=typeof e||e,failure:"function"==typeof n&&n};return o.promise=new this.constructor(function(e,t){if("function"!=typeof e||"function"!=typeof t)throw TypeError("Not a function");o.resolve=e,o.reject=t}),t.chain.push(o),0!==t.state&&r(a,t),o.promise},this.catch=function(e){return this.then(void 0,e)};try{e.call(void 0,function(e){c.call(t,e)},function(e){l.call(t,e)})}catch(e){l.call(t,e)}}n=function(){var e,n,o;function i(e,t){this.fn=e,this.self=t,this.next=void 0}return{add:function(t,r){o=new i(t,r),n?n.next=o:e=o,n=o,o=void 0},drain:function(){var o=e;for(e=n=t=void 0;o;)o.fn.call(o.self),o=o.next}}}();var m=e({},"constructor",h,!1);return h.prototype=m,e(m,"__NPO__",0,!1),e(h,"resolve",function(e){return e&&"object"==typeof e&&1===e.__NPO__?e:new this(function(t,n){if("function"!=typeof t||"function"!=typeof n)throw TypeError("Not a function");t(e)})}),e(h,"reject",function(e){return new this(function(t,n){if("function"!=typeof t||"function"!=typeof n)throw TypeError("Not a function");n(e)})}),e(h,"all",function(e){var t=this;return"[object Array]"!=o.call(e)?t.reject(TypeError("Not an array")):0===e.length?t.resolve([]):new t(function(n,o){if("function"!=typeof n||"function"!=typeof o)throw TypeError("Not a function");var i=e.length,r=Array(i),s=0;p(t,e,function(e,t){r[e]=t,++s===i&&n(r)},o)})}),e(h,"race",function(e){var t=this;return"[object Array]"!=o.call(e)?t.reject(TypeError("Not an array")):new t(function(n,o){if("function"!=typeof n||"function"!=typeof o)throw TypeError("Not a function");p(t,e,function(e,t){n(t)},o)})}),h},(o=t)[n="Promise"]=o[n]||i(),e.exports&&(e.exports=o[n])});var n="0.12.17";let o=function(e){return e.SessionNotFound="SessionNotFound",e.SessionLoaded="SessionLoaded",e.SessionUpdated="SessionUpdated",e.SessionCancel="SessionCancel",e.SessionPaymentOnHold="SessionPaymentOnHold",e.SessionPaymentAuthorized="SessionPaymentAuthorized",e.SessionPaymentError="SessionPaymentError",e.SessionLocked="SessionLocked",e.SessionLockFailed="SessionLockFailed",e.ActivePaymentProductType="ActivePaymentProductType",e.ValidateSession="ValidateSession",e.AddressCallback="AddressCallback",e}({}),i=function(e){return e.HeightChanged="HeightChanged",e.LanguageChanged="LanguageChanged",e.ScrollToTop="ScrollToTop",e.ShowPopOutButton="ShowPopOutButton",e.HidePopOutButton="HidePopOutButton",e.TopLevelNavigation="TopLevelNavigation",e}({});const r=e=>e.endsWith("/")?e:`${e}/`,s=()=>{try{const{hostname:e}=window.location;return e}catch(e){return}},a=()=>{try{if(window.self===window.top)return!0;const e=s(),t=window.top?.location.hostname;return Boolean(t&&e&&e===t)}catch(e){return!1}},d=({sid:e,endpoint:t,language:o,shouldCallValidateSession:i})=>{const a=new URLSearchParams;a.append("ui","fullscreen"),a.append("role","pop_out_payment"),a.append("sid",e),a.append("sdk",n),o&&a.append("language",o),i&&a.append("loader","true");const d=s();return d&&a.append("sdk_hostname",d),`${r(t)}?${a.toString()}`},c=e=>{const{sid:t,endpoint:o,language:i,ui:d,shouldCallValidateSession:c,shouldCallAddressCallback:l,popOut:p,redirect:u}=e;if(!o)throw new Error("Invalid endpoint");const f=new URLSearchParams;f.append("sdk",n),d&&f.append("ui",d),i&&f.append("language",i),c&&f.append("client_side_validation","true"),l&&f.append("client_side_address_callback","true"),p&&f.append("role","pop_out_launcher"),e.hasOwnProperty("hideTestMessage")&&void 0!==e.hideTestMessage&&!0===e.hideTestMessage&&f.append("hide_test_message","true");const h=s();return h&&f.append("sdk_hostname",h),u||a()||f.append("sdk_not_top_level","true"),"https://checkout.dintero.com"===o?`${o}/v1/view/${t}?${f.toString()}`:(f.append("sid",t),`${r(o)}?${f.toString()}`)},l=e=>{const t=e||"https://checkout.dintero.com";try{return new URL(t).origin}catch{throw new Error("Invalid endpoint")}},p=e=>{window.location.assign(e)},u=async e=>{let t,n,o=-1;if(n&&!n.closed)return{close:()=>{},focus:()=>{},popOutWindow:void 0};const i=d(e);n=await((e,t,n,o)=>new Promise(i=>{try{const r=window.screenX+(window.outerWidth-n)/2,s=window.screenY+(window.outerHeight-o)/2,a=`width=${n},height=${o},left=${r},top=${s},location=no,menubar=no,toolbar=no,status=no`;let d,c=-1;const l=n=>{const o=n.source===d,r=n.origin===new URL(t).origin,s=n.data&&"AppLoaded"===n.data.type,a="popOut"===n.data.context,p=n.data.sid===e;o&&r&&s&&a&&p&&(clearTimeout(c),i(d),window.removeEventListener("message",l))};if(window.addEventListener("message",l),d=window.open(t,"dintero-checkout",a)??void 0,!d)return console.log("createPopOutWindow no popOut"),void i(void 0);c=window.setTimeout(()=>{console.log("createPopOutWindow timeout"),i(void 0)},1e4)}catch(e){i(void 0)}}))(e.sid,i,Math.min(480,window.screen.width),Math.min(840,window.screen.height));const r=()=>{window.clearInterval(o),o=-1,window.removeEventListener("beforeunload",s),n=void 0,e.onClose(),t&&t()},s=()=>{n&&n.close(),r()};return window.addEventListener("beforeunload",s),o=window.setInterval(()=>{n?.closed&&r()},200),n&&(t=e.onOpen(n)),{close:s,focus:()=>{n&&n.focus()},popOutWindow:n}},f=(e,t,n)=>{try{e&&e.postMessage({type:"LockSession",sid:t},n)}catch(e){console.error(e)}},h=(e,t,n)=>{try{e&&e.postMessage({type:"RefreshSession",sid:t},n)}catch(e){console.error(e)}},m=(e,t,n,o)=>{try{e&&e.postMessage({type:"SetActivePaymentProductType",sid:t,payment_product_type:o},n)}catch(e){console.error(e)}},y="dintero-checkout-sdk-style",g="dintero-checkout-sdk-backdrop",w="dintero-checkout-sdk-backdrop-description",v="dintero-checkout-sdk-backdrop-focus",b="dintero-checkout-sdk-backdrop-close",L=e=>t=>(t.preventDefault(),t.stopPropagation(),e(),!1),C=()=>{const e=document.createElement("div");return e.setAttribute("id",g),e.setAttribute("role","dialog"),e.style.zIndex=(()=>{const e=document.getElementsByTagName("*"),t=Array.from(e).reduce((e,t)=>{try{const n=document.defaultView?.getComputedStyle(t,null).getPropertyValue("z-index"),o=Number.parseInt(n||"0",10);if(!Number.isNaN(o)&&o>e)return o}catch(e){console.error(e)}return e},0);return t<9999?"9999":(t+1).toString()})(),e},S=e=>{const t=document.getElementById(v),n=document.getElementById(b);"Tab"!==e.key&&"Tab"!==e.code||(document.activeElement===t?(n?.focus(),e.preventDefault()):(t?.focus(),e.preventDefault()))},k=e=>{(()=>{if(document.getElementById(y))return;const e=document.createElement("style");e.setAttribute("id",y),e.innerHTML=`\n @keyframes ${g}-fade-in {\n from {opacity: 0;}\n to {opacity: 1;}\n }\n\n #${g} {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n height: 100vh;\n width: 100vw;\n background-color: rgba(0,0,0,0.9);\n background: radial-gradient(rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.8) 100%);\n cursor: pointer;\n animation: 20ms ease-out ${g}-fade-in;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 20px;\n color: #ffffff;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n font-size: 18px;\n font-weight: 400;\n line-height: normal;\n text-rendering: geometricPrecision;\n margin: 0;\n padding: 0;\n border: 0;\n vertical-align: baseline;\n line-height: normal;\n }\n\n #${g} p {\n padding: 0;\n margin: 0;\n border: 0;\n user-select: none;\n }\n\n #${v} {\n background-color: #efefef !important;\n color: #000000 !important;\n font-size: 16px !important;\n font-weight: 600 !important;\n border-radius: 200px !important;\n margin: 0 !important;\n line-height: normal !important;\n border: none !important;\n padding: 10px 20px !important;\n user-select: none !important;\n cursor: pointer !important;\n }\n #${v}:hover,\n #${v}:focus {\n outline: none !important;\n background-color: #ffffff !important;\n border: none !important;\n color: #000000 !important;\n padding: 10px 20px !important;\n margin: 0 !important;\n }\n #${v}:focus{\n outline-offset: 2px;\n outline: 1px #ffffff solid !important;\n }\n\n #${b} {\n background: transparent !important;\n padding: 0 !important;\n margin: 0 !important;\n border: none !important;\n border-radius: 4px !important;\n height: 24px !important;\n width: 24px !important;\n color: #efefef !important;\n position: absolute !important;\n top: 16px !important;\n right: 24px !important;\n transition: all 200ms ease-out !important;\n cursor: pointer !important;\n }\n\n #${b}:hover,\n #${b}:focus {\n outline: none !important;\n color: #ffffff !important;\n border: none !important;\n background: transparent !important;\n padding: 0 !important;\n margin: 0 !important;\n position: absolute;\n top: 16px;\n right: 24px;\n }\n #${b}:focus{\n outline: 1px #ffffff solid !important;\n }\n\n #${g}:before,\n #${g}:after,\n #${g} > *:before,\n #${g} > *:after {\n content: '';\n content: none;\n }\n `,document.head.appendChild(e)})();const t=C(),n=(e=>{const t=document.createElement("button");return t.setAttribute("id",b),t.setAttribute("type","button"),t.setAttribute("aria-label",e),t.innerHTML='\n <svg\n xmlns="http://www.w3.org/2000/svg"\n width="24"\n height="24"\n viewBox="0 0 24 24"\n fill="none"\n stroke="currentColor"\n stroke-width="2"\n stroke-linecap="round"\n stroke-linejoin="round"\n alt="close icon"\n >\n <line x1="18" y1="6" x2="6" y2="18"></line>\n <line x1="6" y1="6" x2="18" y2="18"></line>\n </svg>',t})(e.event.closeLabel),o=(()=>{const e=document.createElement("div");return e.innerHTML='\n <svg width="120px" height="22px" viewBox="0 0 630 111" version="1.1" >\n <g id="Page-1" stroke="none" strokeWidth="1" fill="none" fillRule="evenodd">\n <g id="Dintero" fill="#ffffff" fillRule="nonzero">\n <path d="M376.23,60.48 L376.23,73.54 L454.13,73.54 C456.31,41.55 435.85,23.71 410.61,23.71 C385.37,23.71 367.09,41.77 367.09,66.79 C367.09,92.03 386.02,110.31 411.91,110.31 C433.02,110.31 448.9,97.25 453.25,82.24 L436.5,82.24 C432.37,89.42 423.88,95.51 411.91,95.51 C395.16,95.51 382.75,83.11 382.75,66.79 C382.75,50.69 394.72,38.5 410.6,38.5 C426.48,38.5 438.45,50.68 438.45,66.79 L444.54,60.48 L376.23,60.48 Z M154.29,17.83 L171.7,17.83 L171.7,0.42 L154.29,0.42 L154.29,17.83 Z M120.34,108.13 L191.27,108.13 L191.27,93.77 L120.34,93.77 L120.34,108.13 Z M156.46,40.24 L156.46,108.13 L171.69,108.13 L171.69,45.47 C171.69,32.85 165.82,25.89 151.89,25.89 L120.34,25.89 L120.34,40.25 L156.46,40.25 L156.46,40.24 Z M499.17,25.88 L464.36,25.88 L464.36,40.24 L483.94,40.24 L484.16,108.13 L499.39,108.13 L499.17,62.44 C499.17,48.51 508.53,40.25 521.58,40.25 L535.29,40.25 L535.29,25.89 L524.41,25.89 C509.18,25.89 501.78,31.33 497.65,41.56 L495.47,47 L499.17,47.65 L499.17,25.88 Z M288.76,25.88 L310.52,25.88 L310.52,6.3 L325.75,6.3 L325.75,25.88 L359.69,25.88 L359.69,40.24 L325.75,40.24 L325.75,93.77 L359.69,93.77 L359.69,108.13 L332.49,108.13 C318.56,108.13 310.51,98.99 310.51,86.37 L310.51,40.24 L288.75,40.24 L288.75,25.88 L288.76,25.88 Z M464.35,108.13 L535.28,108.13 L535.28,93.77 L464.35,93.77 L464.35,108.13 Z M108.6,54.17 C108.6,23.06 85.54,0.43 53.77,0.43 L0.9,0.43 L0.9,108.14 L53.77,108.14 C85.53,108.13 108.6,85.5 108.6,54.17 M248.07,23.71 C234.58,23.71 223.92,31.98 220,41.55 L220,25.88 L204.77,25.88 L204.77,108.13 L220,108.13 L220,66.35 C220,53.08 224.79,38.93 243.72,38.93 C259.39,38.93 267.44,48.07 267.44,67.43 L267.44,108.12 L282.67,108.12 L282.67,64.6 C282.67,35.02 265.91,23.71 248.07,23.71 M586.2,110.31 C611.22,110.31 629.72,92.03 629.72,67.01 C629.72,41.99 611.23,23.71 586.2,23.71 C560.96,23.71 542.68,41.99 542.68,67.01 C542.68,92.03 560.96,110.31 586.2,110.31 M586.2,95.51 C570.32,95.51 558.35,83.33 558.35,67.01 C558.35,50.69 570.32,38.51 586.2,38.51 C602.08,38.51 614.05,50.69 614.05,67.01 C614.05,83.33 602.08,95.51 586.2,95.51 M16.99,92.9 L16.99,15.66 L51.8,15.66 C75.3,15.66 92.05,31.98 92.05,54.61 C92.05,76.8 75.3,92.91 51.8,92.91 L16.99,92.91 L16.99,92.9 Z" id="Shape"></path>\n </g>\n </g>\n </svg>',e})(),i=(e=>{const t=document.createElement("p");return t.setAttribute("id",w),t.innerText=e,t})(e.event.descriptionLabel),r=(e=>{const t=document.createElement("button");return t.setAttribute("id",v),t.setAttribute("type","button"),t.innerText=e,t})(e.event.focusLabel);return t.onclick=L(e.focus),r.onclick=L(e.focus),n.onclick=L(e.close),document.addEventListener("keydown",S),t.appendChild(n),t.appendChild(o),t.appendChild(i),t.appendChild(r),document.body.appendChild(t),t.focus(),t},T=()=>{try{const e=document.getElementById(g);e&&document.body.removeChild(e),document.removeEventListener("keydown",S)}catch(e){console.error(e)}},x="dintero-checkout-sdk-launch-pop-out",P=(e,t)=>{if(!e&&!t)return;const n=`${x}-styles`;if(document.getElementById(n))return;const o=document.createElement("style");o.setAttribute("id",n);const i=[];e&&i.push(E(`#${x}:hover:not(:disabled)`,e)),t&&i.push(E(`#${x}:focus-visible`,t)),o.textContent=i.join("\n"),document.head.appendChild(o)},E=(e,t)=>[`${e} {`,O(t),"}"].join("\n"),O=e=>Object.entries(e).map(([e,t])=>` ${A(e)}: ${t} !important;`).join("\n"),A=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),$=e=>{const{container:t}=e,n=document.getElementById(x),o=n||document.createElement("button");((e,{label:t,disabled:n,top:o,left:i,right:r,styles:s,onClick:a,stylesHover:d,stylesFocusVisible:c})=>{e.setAttribute("id",x),e.setAttribute("type","button"),"true"===n?e.setAttribute("disabled",n):e.removeAttribute("disabled"),e.onclick=t=>{t.preventDefault(),t.stopPropagation(),e.style.boxShadow="inset 0 0 10px rgba(34, 84, 65, 0.9)",a(),window.setTimeout(()=>{e.style.boxShadow="none"},200)},e.innerText=t,e.style.position="absolute",e.style.top=`${o}px`,e.style.left=`${i}px`,e.style.right=`${r}px`;const{...l}=s;for(const[t,n]of Object.entries(l))e.style[t]=n;try{P(d,c)}catch(e){console.error(e)}})(o,e),n||t.appendChild(o)},W=()=>{try{const e=document.getElementById(x);e&&e.remove()}catch(e){console.error(e)}},_=(e,t,n,o)=>{e.contentWindow&&e.contentWindow.postMessage({type:"ValidationResult",sid:t,...n},o)},M=e=>{const{sid:t,endpoint:n,handler:o,eventTypes:i,checkout:r}=e,s=new URL(n),a=e=>{const n=e.origin===s.origin,a=e.source===r.iframe.contentWindow,d=e.data&&e.data.sid===t,c=-1!==i.indexOf(e.data?.type);n&&a&&d&&c&&(((e,t,n)=>{t.data.mid&&e&&e.postMessage({ack:t.data.mid},n)})(r.iframe.contentWindow,e,s.origin),o(e.data,r))};window.addEventListener("message",a,!1);return{unsubscribe:()=>{window.removeEventListener("message",a,!1)}}},j=(e,t)=>{D(t),e.href&&p(e.href)},V=(e,t)=>{(e.height||0===e.height)&&t.iframe.setAttribute("style",`width:100%; height:${e.height}px;`)},B=(e,t)=>{try{t.iframe.scrollIntoView({block:"start",behavior:"smooth"})}catch(e){console.error(e)}},N=(e,t)=>{e.language&&(t.language=e.language)},I=[o.SessionCancel,o.SessionPaymentOnHold,o.SessionPaymentAuthorized,o.SessionPaymentError],H=e=>{try{e()}catch(e){console.error(e)}},R=async(e,t)=>{const n=await u({sid:t.options.sid,endpoint:t.options.endpoint??"https://checkout.dintero.com",shouldCallValidateSession:Boolean(t.options.onValidateSession),shouldCallAddressCallback:!1,language:e.language,onOpen:e=>((e,t)=>{const n={internalPopOutHandler:!0,eventTypes:[i.LanguageChanged],handler:(e,t)=>{var n,o,i,r;n=t.iframe,o=t.options.sid,i=e.language,r=l(t.options.endpoint),n.contentWindow&&n.contentWindow.postMessage({type:"SetLanguage",sid:o,language:i},r)}},o={internalPopOutHandler:!0,eventTypes:I,handler:(t,n)=>{if(t.href){W();try{e.close()}catch(e){console.error(e)}}else console.error("Payment Complete event missing href property")}},r=i=>{if(i.source===e&&"popOut"===i.data.context&&i.data.sid===t.options.sid)for(const e of[n,o,...t.handlers])if(e.eventTypes.includes(i.data.type)&&e.handler){const{handler:n}=e;H(()=>{n(i.data,t)})}};return window.addEventListener("message",r),()=>{window.removeEventListener("message",r)}})(e,t),onClose:()=>{var e,n,o;T(),e=t.iframe,n=t.options.sid,o=l(t.options.endpoint),e.contentWindow&&e.contentWindow.postMessage({type:"ClosedPopOut",sid:n},o),(e=>{try{const t=document.getElementById(x);t&&(e?t.setAttribute("disabled",e.toString()):t.removeAttribute("disabled"))}catch(e){console.error(e)}})(!1),t.popOutWindow=void 0}}),{close:o,focus:r,popOutWindow:s}=n;return s?(a=t.iframe,d=t.options.sid,c=l(t.options.endpoint),a.contentWindow&&a.contentWindow.postMessage({type:"OpenedPopOut",sid:d},c),t.popOutWindow=s,(e=>{try{if(document.getElementById(g))return;return k(e)}catch(e){console.error(e)}})({focus:r,close:o,event:e}),!0):(((e,t,n)=>{e.contentWindow&&e.contentWindow.postMessage({type:"OpenPopOutFailed",sid:t},n)})(t.iframe,t.options.sid,l(t.options.endpoint)),!1);var a,d,c},F=async(e,t)=>{if(await R(e,t)&&t.options.onValidateSession){n=t.iframe,i=t.options.sid,r=l(t.options.endpoint),n.contentWindow&&n.contentWindow.postMessage({type:"ValidatingPopOut",sid:i},r);const s=((e,t)=>n=>{_(t.iframe,t.options.sid,n,l(t.options.endpoint)),n.success&&t.popOutWindow?t.popOutWindow.location.href=d({sid:t.options.sid,endpoint:t.options.endpoint??"https://checkout.dintero.com",shouldCallValidateSession:!1,shouldCallAddressCallback:!1,language:e.language}):(t.popOutWindow&&t.popOutWindow.close(),console.error(n.clientValidationError))})(e,t);try{t.options.onValidateSession({type:o.ValidateSession,session:t.session,callback:s},t,s)}catch(e){console.error(e),_(t.iframe,t.options.sid,{success:!1,clientValidationError:"Validation runtime error"},l(t.options.endpoint))}}var n,i,r},U=(e,t)=>{t.paymentCompleted||(e=>"object"==typeof e&&null!==e&&e.type===i.ShowPopOutButton)(e)&&(e.session&&(t.session=e.session),$({container:t.options.innerContainer,label:e.openLabel,top:e.top,left:e.left,right:e.right,styles:e.styles,stylesHover:e.stylesHover,stylesFocusVisible:e.stylesFocusVisible,disabled:e.disabled,onClick:()=>F(e,t)}),(e=>{const t=document.getElementById(v);t&&(t.innerText=e.focusLabel);const n=document.getElementById(w);n&&(n.innerText=e.descriptionLabel);const o=document.getElementById(b);o&&o.setAttribute("aria-label",e.descriptionLabel)})(e))},z=(e,t)=>{e.type===i.HidePopOutButton&&W()},Z=(e,t)=>{t.paymentCompleted=!0,W()},D=e=>{if(W(),T(),e.popOutWindow)try{e.popOutWindow.close()}catch(e){console.error(e)}};e.embed=async e=>{const t=document.createElement("div");t.style.position="relative",t.style.boxSizing="border-box";const r={endpoint:"https://checkout.dintero.com",innerContainer:t,...e},{container:s,sid:a,language:d,endpoint:p,onSession:u,onSessionCancel:y,onPayment:g,onPaymentAuthorized:w,onPaymentError:v,onSessionNotFound:b,onSessionLocked:L,onSessionLockFailed:C,onActivePaymentType:S,onValidateSession:k,onAddressCallback:x,popOut:P}=r,E=l(p);let O;const A=[];let $=!1;s.appendChild(t);const{iframe:W,initiate:H}=((e,t)=>{if(!e?.appendChild)throw new Error("Invalid container");const n=document.createElement("iframe");return n.setAttribute("frameborder","0"),n.setAttribute("allowTransparency","true"),n.setAttribute("style","width:100%; height:0;"),n.setAttribute("sandbox","allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox allow-top-navigation"),n.setAttribute("allow","payment; clipboard-write *"),n.setAttribute("importance","high"),n.setAttribute("src",t),{iframe:n,initiate:async()=>new Promise((t,o)=>{n.onload=()=>t(),n.onerror=()=>o(),e.appendChild(n)})}})(t,c({sid:a,endpoint:p,language:d,ui:e.ui||"inline",shouldCallValidateSession:void 0!==k,shouldCallAddressCallback:void 0!==x,popOut:P,...e.hasOwnProperty("hideTestMessage")&&{hideTestMessage:e.hideTestMessage}})),R=(e,t,n)=>{if(!O)throw new Error("Unable to create action promise: checkout is undefined");const o=O;return new Promise((i,r)=>{const s=[];s.push(M({sid:a,endpoint:p,handler:e=>{for(const e of s)e.unsubscribe();i(e)},eventTypes:[t],checkout:o,source:o.iframe.contentWindow})),s.push(M({sid:a,endpoint:p,handler:()=>{for(const e of s)e.unsubscribe();r(`Received unexpected event: ${n}`)},eventTypes:[n],checkout:o,source:o.iframe.contentWindow})),e()})},F=()=>R(()=>{((e,t,n)=>{e.contentWindow&&e.contentWindow.postMessage({type:"RefreshSession",sid:t},n)})(W,a,E),h(O?.popOutWindow,a,E)},o.SessionUpdated,o.SessionNotFound),q=e=>{_(W,a,e,E)},X=e=>{((e,t,n,o)=>{e.contentWindow&&e.contentWindow.postMessage({type:"AddressCallbackResult",sid:t,...n},o)})(W,a,e,E)},Y=(e,t,i)=>(e,r)=>{if(!$){$=!0,D(r);const s=["sid","merchant_reference","transaction_id","error"].map(t=>[t,e[t]]);e.type!==o.SessionCancel||e.error||s.push(["error","cancelled"]),s.push(["language",r.language]),s.push(["sdk",n]);const a=s.filter(([e,t])=>t).map(([e,t])=>`${e}=${t}`).join("&");r.iframe.setAttribute("src",((e,t,n)=>{const o=e.endsWith("/")?"":"/";return`${e}${o}${t}?${n}`})(t,"embedResult/",a)),i(e,r)}},G=[{handler:N,eventTypes:[i.LanguageChanged]},{handler:V,eventTypes:[i.HeightChanged]},{handler:B,eventTypes:[i.ScrollToTop]},{handler:j,eventTypes:[i.TopLevelNavigation]},{handler:(e,t)=>{t.session=e.session,u&&u(e,t)},eventTypes:[o.SessionLoaded,o.SessionUpdated]},{eventTypes:[o.SessionPaymentOnHold],handler:Y(0,p,g??j)},{eventTypes:[o.SessionPaymentAuthorized],handler:Y(0,p,w??g??j)},{handler:Y(0,p,y??j),eventTypes:[o.SessionCancel]},{handler:Y(0,p,v??j),eventTypes:[o.SessionPaymentError]},{handler:b,eventTypes:[o.SessionNotFound]},{handler:(e,t)=>{L&&L(e,t,F)},eventTypes:[o.SessionLocked]},{handler:C,eventTypes:[o.SessionLockFailed]},{handler:S,eventTypes:[o.ActivePaymentProductType]},{handler:(e,t)=>{if(k)try{k({...e,callback:q},t,q)}catch(e){console.error(e),q({success:!1,clientValidationError:"Validation runtime error"})}},eventTypes:[o.ValidateSession]},{handler:(e,t)=>{if(x)try{x({...e,callback:X},t,X)}catch(e){console.error(e),X({success:!1,error:"Address callback runtime error"})}},eventTypes:[o.AddressCallback]},{handler:Z,eventTypes:I},{handler:U,eventTypes:[i.ShowPopOutButton]},{handler:z,eventTypes:[i.HidePopOutButton]}];O={destroy:()=>{if(O&&D(O),W){r.popOut&&T();for(const e of A)e.unsubscribe();W.parentElement&&t.removeChild(W)}t.parentElement&&s.removeChild(t)},iframe:W,language:d??"",lockSession:()=>R(()=>{((e,t,n)=>{e.contentWindow&&e.contentWindow.postMessage({type:"LockSession",sid:t},n)})(W,a,E),f(O?.popOutWindow,a,E)},o.SessionLocked,o.SessionLockFailed),refreshSession:F,setActivePaymentProductType:t=>{e.popOut?m(O?.popOutWindow,a,E,t):((e,t,n,o)=>{e.contentWindow&&e.contentWindow.postMessage({type:"SetActivePaymentProductType",sid:t,payment_product_type:o},n)})(W,a,E,t)},submitValidationResult:q,submitAddressCallbackResult:X,options:r,handlers:G,session:void 0,popOutWindow:void 0,paymentCompleted:!1};const J=O;for(const{handler:e,eventTypes:t}of G)e&&A.push(M({sid:a,endpoint:p,handler:e,eventTypes:t,checkout:J,source:J.iframe.contentWindow}));return await H(),J},e.redirect=e=>{const{sid:t,language:n,endpoint:o="https://checkout.dintero.com"}=e;p(c({sid:t,endpoint:o,language:n,shouldCallValidateSession:!1,shouldCallAddressCallback:!1,redirect:!0}))},Object.defineProperty(e,"__esModule",{value:!0})});
|
|
7
7
|
//# sourceMappingURL=dintero-checkout-web-sdk.umd.min.js.map
|