Socket
Socket
Sign inDemoInstall

@dintero/checkout-web-sdk

Package Overview
Dependencies
Maintainers
0
Versions
63
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@dintero/checkout-web-sdk - npm Package Compare versions

Comparing version 0.8.10 to 0.8.11

6

dist/dintero-checkout-web-sdk.cjs.dev.js

@@ -9,3 +9,3 @@ 'use strict';

name: "@dintero/checkout-web-sdk",
version: "0.8.10",
version: "0.8.11",
description: "Dintero Checkout SDK for web frontends",

@@ -50,5 +50,5 @@ main: "dist/dintero-checkout-web-sdk.cjs.js",

"semantic-release": "24.1.0",
typescript: "5.5.4",
typescript: "5.6.2",
vitest: "2.0.5",
webdriverio: "9.0.4"
webdriverio: "9.0.9"
},

@@ -55,0 +55,0 @@ dependencies: {

@@ -9,3 +9,3 @@ 'use strict';

name: "@dintero/checkout-web-sdk",
version: "0.8.10",
version: "0.8.11",
description: "Dintero Checkout SDK for web frontends",

@@ -50,5 +50,5 @@ main: "dist/dintero-checkout-web-sdk.cjs.js",

"semantic-release": "24.1.0",
typescript: "5.5.4",
typescript: "5.6.2",
vitest: "2.0.5",
webdriverio: "9.0.4"
webdriverio: "9.0.9"
},

@@ -55,0 +55,0 @@ dependencies: {

@@ -5,3 +5,3 @@ import 'native-promise-only';

name: "@dintero/checkout-web-sdk",
version: "0.8.10",
version: "0.8.11",
description: "Dintero Checkout SDK for web frontends",

@@ -46,5 +46,5 @@ main: "dist/dintero-checkout-web-sdk.cjs.js",

"semantic-release": "24.1.0",
typescript: "5.5.4",
typescript: "5.6.2",
vitest: "2.0.5",
webdriverio: "9.0.4"
webdriverio: "9.0.9"
},

@@ -51,0 +51,0 @@ dependencies: {

@@ -6,3 +6,3 @@ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).dintero={})}(this,(function(e){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!="object"?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};!function(e,t,n){e(n={path:t,exports:{},require:function(e,t){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==t&&n.path)}},n.exports),n.exports}((function(e){

*/
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.8.10";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}({}),i=function(e){return e.HeightChanged="HeightChanged",e.LanguageChanged="LanguageChanged",e.ScrollToTop="ScrollToTop",e.ShowPopOutButton="ShowPopOutButton",e.HidePopOutButton="HidePopOutButton",e}({});const r=e=>e.endsWith("/")?e:`${e}/`,s=({sid:e,endpoint:t,language:o,shouldCallValidateSession:i})=>{const s=new URLSearchParams;return s.append("ui","fullscreen"),s.append("role","pop_out_payment"),s.append("sid",e),s.append("sdk",n),o&&s.append("language",o),i?(s.append("loader","true"),`${r(t)}?${s.toString()}`):`${r(t)}?${s.toString()}`},a=e=>{const{sid:t,endpoint:o,language:i,ui:s,shouldCallValidateSession:a,popOut:d}=e;if(!o)throw new Error("Invalid endpoint");const c=new URLSearchParams;return c.append("sdk",n),s&&c.append("ui",s),i&&c.append("language",i),a&&c.append("client_side_validation","true"),d&&c.append("role","pop_out_launcher"),e.hasOwnProperty("hideTestMessage")&&void 0!==e.hideTestMessage&&!0===e.hideTestMessage&&c.append("hide_test_message","true"),"https://checkout.dintero.com"===o?`${o}/v1/view/${t}?${c.toString()}`:(c.append("sid",t),`${r(o)}?${c.toString()}`)},d=e=>{window.location.assign(e)},c=(e,t,n)=>{e.contentWindow&&e.contentWindow.postMessage({type:"ValidationResult",sid:t,...n},"*")},l=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&&e.data.type);n&&a&&d&&c&&(((e,t)=>{t.data.mid&&e&&e.postMessage({ack:t.data.mid},t.origin||"*")})(r.iframe.contentWindow,e),o(e.data,r))};window.addEventListener("message",a,!1);return{unsubscribe:()=>{window.removeEventListener("message",a,!1)}}},p="dintero-checkout-sdk-style",u="dintero-checkout-sdk-backdrop",f="dintero-checkout-sdk-backdrop-description",h="dintero-checkout-sdk-backdrop-focus",m="dintero-checkout-sdk-backdrop-close",g=e=>t=>(t.preventDefault(),t.stopPropagation(),e(),!1),y=()=>{const e=document.createElement("div");return e.setAttribute("id",u),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=parseInt(n||"0");if(!isNaN(o)&&o>e)return o}catch(e){console.error(e)}return e}),0);return t<9999?"9999":(t+1).toString()})(),e},w=e=>{const t=document.getElementById(h),n=document.getElementById(m);"Tab"!==e.key&&"Tab"!==e.code||(document.activeElement===t?(n.focus(),e.preventDefault()):(t.focus(),e.preventDefault()))},v=e=>{(()=>{if(document.getElementById(p))return;const e=document.createElement("style");e.setAttribute("id",p),e.innerHTML=`\n @keyframes ${u}-fade-in {\n from {opacity: 0;}\n to {opacity: 1;}\n }\n\n #${u} {\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 ${u}-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 #${u} p {\n padding: 0;\n margin: 0;\n border: 0;\n user-select: none;\n }\n\n #${h} {\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 #${h}:hover,\n #${h}: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 #${h}:focus{\n outline-offset: 2px;\n outline: 1px #ffffff solid !important;\n }\n\n #${m} {\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 #${m}:hover,\n #${m}: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 #${m}:focus{\n outline: 1px #ffffff solid !important;\n }\n\n #${u}:before,\n #${u}:after,\n #${u} > *:before,\n #${u} > *:after {\n content: '';\n content: none;\n }\n `,document.head.appendChild(e)})();const t=y(),n=(e=>{const t=document.createElement("button");return t.setAttribute("id",m),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",f),t.innerText=e,t})(e.event.descriptionLabel),r=(e=>{const t=document.createElement("button");return t.setAttribute("id",h),t.setAttribute("type","button"),t.innerText=e,t})(e.event.focusLabel);return t.onclick=g(e.focus),r.onclick=g(e.focus),n.onclick=g(e.close),document.addEventListener("keydown",w),t.appendChild(n),t.appendChild(o),t.appendChild(i),t.appendChild(r),document.body.appendChild(t),t.focus(),t},b=()=>{try{const e=document.getElementById(u);e&&document.body.removeChild(e),document.removeEventListener("keydown",w)}catch(e){console.error(e)}},L="dintero-checkout-sdk-launch-pop-out",S=(e,t)=>{if(!e&&!t)return;const n=`${L}-styles`;if(document.getElementById(n))return;const o=document.createElement("style");o.setAttribute("id",n);let i=[];e&&i.push(C(`#${L}:hover:not(:disabled)`,e)),t&&i.push(C(`#${L}:focus-visible`,t)),o.textContent=i.join("\n"),document.head.appendChild(o)},C=(e,t)=>[`${e} {`,T(t),"}"].join("\n"),T=e=>Object.entries(e).map((([e,t])=>` ${k(e)}: ${t} !important;`)).join("\n"),k=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),x=e=>{const{container:t}=e,n=document.getElementById(L),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",L),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{S(d,c)}catch(e){console.error(e)}})(o,e),n||t.appendChild(o)},P=()=>{try{const e=document.getElementById(L);e&&e.remove()}catch(e){console.error(e)}},E=Math.min(480,window.screen.width),O=Math.min(840,window.screen.height),A=async e=>{let t,n,o=-1;if(n&&!n.closed)return;const i=s(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),!d)return console.log("createPopOutWindow no popOut"),void i(void 0);c=window.setTimeout((()=>{console.log("createPopOutWindow timeout"),i(void 0)}),3e3)}catch(e){i(void 0)}})))(e.sid,i,E,O);const r=()=>{window.clearInterval(o),o=-1,window.removeEventListener("beforeunload",a),n=void 0,e.onClose(),t&&t()},a=()=>{n&&n.close(),r()};return window.addEventListener("beforeunload",a),o=window.setInterval((()=>{n&&n.closed&&r()}),200),t=e.onOpen(n),{close:a,focus:()=>{n&&n.focus()},popOutWindow:n}},$=(e,t)=>{try{e&&e.postMessage({type:"LockSession",sid:t},"*")}catch(e){console.error(e)}},W=(e,t)=>{try{e&&e.postMessage({type:"RefreshSession",sid:t},"*")}catch(e){console.error(e)}},M=(e,t,n)=>{try{e&&e.postMessage({type:"SetActivePaymentProductType",sid:t,payment_product_type:n},"*")}catch(e){console.error(e)}},_=(e,t)=>{z(t),e.href&&d(e.href)},j=(e,t)=>{(e.height||0===e.height)&&t.iframe.setAttribute("style",`width:100%; height:${e.height}px;`)},V=(e,t)=>{try{t.iframe.scrollIntoView({block:"start",behavior:"smooth"})}catch(e){console.error(e)}},B=(e,t)=>{e.language&&(t.language=e.language)},I=(e,t)=>{const n={internalPopOutHandler:!0,eventTypes:[i.LanguageChanged],handler:(e,t)=>{var n,o,i;n=t.iframe,o=t.options.sid,i=e.language,n.contentWindow&&n.contentWindow.postMessage({type:"SetLanguage",sid:o,language:i},"*")}},r={internalPopOutHandler:!0,eventTypes:[o.SessionCancel,o.SessionPaymentOnHold,o.SessionPaymentAuthorized,o.SessionPaymentError],handler:(t,n)=>{if(t.href){P();try{e.close()}catch(e){console.error(e)}}else console.error("Payment Complete event missing href property")}},s=o=>{o.source===e&&"popOut"===o.data.context&&o.data.sid===t.options.sid&&[n,r,...t.handlers].forEach((e=>{e.eventTypes.includes(o.data.type)&&e.handler&&(e=>{try{e()}catch(e){console.error(e)}})((()=>{e.handler(o.data,t)}))}))};return window.addEventListener("message",s),()=>{window.removeEventListener("message",s)}},H=async(e,t)=>{const{close:n,focus:o,popOutWindow:i}=await A({sid:t.options.sid,endpoint:t.options.endpoint,shouldCallValidateSession:Boolean(t.options.onValidateSession),language:e.language,onOpen:e=>I(e,t),onClose:()=>{var e,n;b(),e=t.iframe,n=t.options.sid,e.contentWindow&&e.contentWindow.postMessage({type:"ClosedPopOut",sid:n},"*"),(e=>{try{const t=document.getElementById(L);t&&(e?t.setAttribute("disabled",e.toString()):t.removeAttribute("disabled"))}catch(e){console.error(e)}})(!1),t.popOutWindow=void 0}});return i?(r=t.iframe,s=t.options.sid,r.contentWindow&&r.contentWindow.postMessage({type:"OpenedPopOut",sid:s},"*"),t.popOutWindow=i,(e=>{try{if(document.getElementById(u))return;return v(e)}catch(e){console.error(e)}})({focus:o,close:n,event:e}),!0):(((e,t)=>{e.contentWindow&&e.contentWindow.postMessage({type:"OpenPopOutFailed",sid:t},"*")})(t.iframe,t.options.sid),!1);var r,s},N=async(e,t)=>{if(await H(e,t)&&t.options.onValidateSession){n=t.iframe,i=t.options.sid,n.contentWindow&&n.contentWindow.postMessage({type:"ValidatingPopOut",sid:i},"*");const r=((e,t)=>n=>{c(t.iframe,t.options.sid,n),n.success&&t.popOutWindow?t.popOutWindow.location.href=s({sid:t.options.sid,endpoint:t.options.endpoint,shouldCallValidateSession:!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:r},t,r)}catch(e){console.error(e),c(t.iframe,t.options.sid,{success:!1,clientValidationError:"Validation runtime error"})}}var n,i},F=(e,t)=>{(e=>e&&e.type===i.ShowPopOutButton)(e)&&(x({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:()=>N(e,t)}),(e=>{const t=document.getElementById(h);t&&(t.innerText=e.focusLabel);const n=document.getElementById(f);n&&(n.innerText=e.descriptionLabel);const o=document.getElementById(m);o&&o.setAttribute("aria-label",e.descriptionLabel)})(e))},R=(e,t)=>{e.type===i.HidePopOutButton&&P()},z=e=>{if(P(),b(),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["box-sizing"]="border-box";const r={endpoint:"https://checkout.dintero.com",innerContainer:t,...e},{container:s,sid:d,language:p,endpoint:u,onSession:f,onSessionCancel:h,onPayment:m,onPaymentAuthorized:g,onPaymentError:y,onSessionNotFound:w,onSessionLocked:v,onSessionLockFailed:L,onActivePaymentType:S,onValidateSession:C,popOut:T}=r;let k;const x=[];let P=!1;s.appendChild(t);const{iframe:E,initiate:O}=((e,t,n)=>{if(!e||!e.appendChild)throw new Error("Invalid container");const o=document.createElement("iframe");return o.setAttribute("frameborder","0"),o.setAttribute("allowTransparency","true"),o.setAttribute("style","width:100%; height:0;"),o.setAttribute("sandbox","allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox allow-top-navigation"),o.setAttribute("allow","payment"),o.setAttribute("importance","high"),o.setAttribute("src",n),{iframe:o,initiate:async()=>new Promise(((t,n)=>{o.onload=()=>t(),o.onerror=()=>n(),e.appendChild(o)}))}})(t,0,a({sid:d,endpoint:u,language:p,ui:e.ui||"inline",shouldCallValidateSession:void 0!==C,popOut:T,...e.hasOwnProperty("hideTestMessage")&&{hideTestMessage:e.hideTestMessage}})),A=(e,t,n)=>{if(!k)throw new Error("Unable to create action promise: checkout is undefined");return new Promise(((o,i)=>{const r=[];r.push(l({sid:d,endpoint:u,handler:e=>{r.forEach((e=>e.unsubscribe())),o(e)},eventTypes:[t],checkout:k,source:k.iframe.contentWindow})),r.push(l({sid:d,endpoint:u,handler:()=>{r.forEach((e=>e.unsubscribe())),i(`Received unexpected event: ${n}`)},eventTypes:[n],checkout:k,source:k.iframe.contentWindow})),e()}))},I=()=>A((()=>{((e,t)=>{e.contentWindow&&e.contentWindow.postMessage({type:"RefreshSession",sid:t},"*")})(E,d),W(k?.popOutWindow,d)}),o.SessionUpdated,o.SessionNotFound),H=e=>{c(E,d,e)},N=(e,t,i)=>(e,r)=>{if(!P){P=!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)}},U=[{handler:B,eventTypes:[i.LanguageChanged]},{handler:j,eventTypes:[i.HeightChanged]},{handler:V,eventTypes:[i.ScrollToTop]},{handler:(e,t)=>{t.session=e.session,f&&f(e,t)},eventTypes:[o.SessionLoaded,o.SessionUpdated]},{eventTypes:[o.SessionPaymentOnHold],handler:N(0,u,m||_)},{eventTypes:[o.SessionPaymentAuthorized],handler:N(0,u,g||m||_)},{handler:N(0,u,h||_),eventTypes:[o.SessionCancel]},{handler:N(0,u,y||_),eventTypes:[o.SessionPaymentError]},{handler:w,eventTypes:[o.SessionNotFound]},{handler:(e,t)=>{v&&v(e,t,I)},eventTypes:[o.SessionLocked]},{handler:L,eventTypes:[o.SessionLockFailed]},{handler:S,eventTypes:[o.ActivePaymentProductType]},{handler:(e,t)=>{if(C)try{C({...e,callback:H},t,H)}catch(e){console.error(e),H({success:!1,clientValidationError:"Validation runtime error"})}},eventTypes:[o.ValidateSession]},{handler:F,eventTypes:[i.ShowPopOutButton]},{handler:R,eventTypes:[i.HidePopOutButton]}];return k={destroy:()=>{z(k),E&&(r.popOut&&b(),x.forEach((e=>e.unsubscribe())),E.parentElement&&t.removeChild(E)),t.parentElement&&s.removeChild(t)},iframe:E,language:p,lockSession:()=>A((()=>{((e,t)=>{e.contentWindow&&e.contentWindow.postMessage({type:"LockSession",sid:t},"*")})(E,d),$(k?.popOutWindow,d)}),o.SessionLocked,o.SessionLockFailed),refreshSession:I,setActivePaymentProductType:t=>{e.popOut?M(k?.popOutWindow,d,t):((e,t,n)=>{e.contentWindow&&e.contentWindow.postMessage({type:"SetActivePaymentProductType",sid:t,payment_product_type:n},"*")})(E,d,t)},submitValidationResult:H,options:r,handlers:U,session:void 0,popOutWindow:void 0},U.forEach((({handler:e,eventTypes:t})=>{e&&x.push(l({sid:d,endpoint:u,handler:e,eventTypes:t,checkout:k,source:k.iframe.contentWindow}))})),await O(),k},e.redirect=e=>{const{sid:t,language:n,endpoint:o="https://checkout.dintero.com"}=e;d(a({sid:t,endpoint:o,language:n,shouldCallValidateSession:!1}))},Object.defineProperty(e,"__esModule",{value:!0})}));
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.8.11";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}({}),i=function(e){return e.HeightChanged="HeightChanged",e.LanguageChanged="LanguageChanged",e.ScrollToTop="ScrollToTop",e.ShowPopOutButton="ShowPopOutButton",e.HidePopOutButton="HidePopOutButton",e}({});const r=e=>e.endsWith("/")?e:`${e}/`,s=({sid:e,endpoint:t,language:o,shouldCallValidateSession:i})=>{const s=new URLSearchParams;return s.append("ui","fullscreen"),s.append("role","pop_out_payment"),s.append("sid",e),s.append("sdk",n),o&&s.append("language",o),i?(s.append("loader","true"),`${r(t)}?${s.toString()}`):`${r(t)}?${s.toString()}`},a=e=>{const{sid:t,endpoint:o,language:i,ui:s,shouldCallValidateSession:a,popOut:d}=e;if(!o)throw new Error("Invalid endpoint");const c=new URLSearchParams;return c.append("sdk",n),s&&c.append("ui",s),i&&c.append("language",i),a&&c.append("client_side_validation","true"),d&&c.append("role","pop_out_launcher"),e.hasOwnProperty("hideTestMessage")&&void 0!==e.hideTestMessage&&!0===e.hideTestMessage&&c.append("hide_test_message","true"),"https://checkout.dintero.com"===o?`${o}/v1/view/${t}?${c.toString()}`:(c.append("sid",t),`${r(o)}?${c.toString()}`)},d=e=>{window.location.assign(e)},c=(e,t,n)=>{e.contentWindow&&e.contentWindow.postMessage({type:"ValidationResult",sid:t,...n},"*")},l=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&&e.data.type);n&&a&&d&&c&&(((e,t)=>{t.data.mid&&e&&e.postMessage({ack:t.data.mid},t.origin||"*")})(r.iframe.contentWindow,e),o(e.data,r))};window.addEventListener("message",a,!1);return{unsubscribe:()=>{window.removeEventListener("message",a,!1)}}},p="dintero-checkout-sdk-style",u="dintero-checkout-sdk-backdrop",f="dintero-checkout-sdk-backdrop-description",h="dintero-checkout-sdk-backdrop-focus",m="dintero-checkout-sdk-backdrop-close",g=e=>t=>(t.preventDefault(),t.stopPropagation(),e(),!1),y=()=>{const e=document.createElement("div");return e.setAttribute("id",u),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=parseInt(n||"0");if(!isNaN(o)&&o>e)return o}catch(e){console.error(e)}return e}),0);return t<9999?"9999":(t+1).toString()})(),e},w=e=>{const t=document.getElementById(h),n=document.getElementById(m);"Tab"!==e.key&&"Tab"!==e.code||(document.activeElement===t?(n.focus(),e.preventDefault()):(t.focus(),e.preventDefault()))},v=e=>{(()=>{if(document.getElementById(p))return;const e=document.createElement("style");e.setAttribute("id",p),e.innerHTML=`\n @keyframes ${u}-fade-in {\n from {opacity: 0;}\n to {opacity: 1;}\n }\n\n #${u} {\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 ${u}-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 #${u} p {\n padding: 0;\n margin: 0;\n border: 0;\n user-select: none;\n }\n\n #${h} {\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 #${h}:hover,\n #${h}: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 #${h}:focus{\n outline-offset: 2px;\n outline: 1px #ffffff solid !important;\n }\n\n #${m} {\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 #${m}:hover,\n #${m}: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 #${m}:focus{\n outline: 1px #ffffff solid !important;\n }\n\n #${u}:before,\n #${u}:after,\n #${u} > *:before,\n #${u} > *:after {\n content: '';\n content: none;\n }\n `,document.head.appendChild(e)})();const t=y(),n=(e=>{const t=document.createElement("button");return t.setAttribute("id",m),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",f),t.innerText=e,t})(e.event.descriptionLabel),r=(e=>{const t=document.createElement("button");return t.setAttribute("id",h),t.setAttribute("type","button"),t.innerText=e,t})(e.event.focusLabel);return t.onclick=g(e.focus),r.onclick=g(e.focus),n.onclick=g(e.close),document.addEventListener("keydown",w),t.appendChild(n),t.appendChild(o),t.appendChild(i),t.appendChild(r),document.body.appendChild(t),t.focus(),t},b=()=>{try{const e=document.getElementById(u);e&&document.body.removeChild(e),document.removeEventListener("keydown",w)}catch(e){console.error(e)}},L="dintero-checkout-sdk-launch-pop-out",S=(e,t)=>{if(!e&&!t)return;const n=`${L}-styles`;if(document.getElementById(n))return;const o=document.createElement("style");o.setAttribute("id",n);let i=[];e&&i.push(C(`#${L}:hover:not(:disabled)`,e)),t&&i.push(C(`#${L}:focus-visible`,t)),o.textContent=i.join("\n"),document.head.appendChild(o)},C=(e,t)=>[`${e} {`,T(t),"}"].join("\n"),T=e=>Object.entries(e).map((([e,t])=>` ${k(e)}: ${t} !important;`)).join("\n"),k=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),x=e=>{const{container:t}=e,n=document.getElementById(L),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",L),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{S(d,c)}catch(e){console.error(e)}})(o,e),n||t.appendChild(o)},P=()=>{try{const e=document.getElementById(L);e&&e.remove()}catch(e){console.error(e)}},E=Math.min(480,window.screen.width),O=Math.min(840,window.screen.height),A=async e=>{let t,n,o=-1;if(n&&!n.closed)return;const i=s(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),!d)return console.log("createPopOutWindow no popOut"),void i(void 0);c=window.setTimeout((()=>{console.log("createPopOutWindow timeout"),i(void 0)}),3e3)}catch(e){i(void 0)}})))(e.sid,i,E,O);const r=()=>{window.clearInterval(o),o=-1,window.removeEventListener("beforeunload",a),n=void 0,e.onClose(),t&&t()},a=()=>{n&&n.close(),r()};return window.addEventListener("beforeunload",a),o=window.setInterval((()=>{n&&n.closed&&r()}),200),t=e.onOpen(n),{close:a,focus:()=>{n&&n.focus()},popOutWindow:n}},$=(e,t)=>{try{e&&e.postMessage({type:"LockSession",sid:t},"*")}catch(e){console.error(e)}},W=(e,t)=>{try{e&&e.postMessage({type:"RefreshSession",sid:t},"*")}catch(e){console.error(e)}},M=(e,t,n)=>{try{e&&e.postMessage({type:"SetActivePaymentProductType",sid:t,payment_product_type:n},"*")}catch(e){console.error(e)}},_=(e,t)=>{z(t),e.href&&d(e.href)},j=(e,t)=>{(e.height||0===e.height)&&t.iframe.setAttribute("style",`width:100%; height:${e.height}px;`)},V=(e,t)=>{try{t.iframe.scrollIntoView({block:"start",behavior:"smooth"})}catch(e){console.error(e)}},B=(e,t)=>{e.language&&(t.language=e.language)},I=(e,t)=>{const n={internalPopOutHandler:!0,eventTypes:[i.LanguageChanged],handler:(e,t)=>{var n,o,i;n=t.iframe,o=t.options.sid,i=e.language,n.contentWindow&&n.contentWindow.postMessage({type:"SetLanguage",sid:o,language:i},"*")}},r={internalPopOutHandler:!0,eventTypes:[o.SessionCancel,o.SessionPaymentOnHold,o.SessionPaymentAuthorized,o.SessionPaymentError],handler:(t,n)=>{if(t.href){P();try{e.close()}catch(e){console.error(e)}}else console.error("Payment Complete event missing href property")}},s=o=>{o.source===e&&"popOut"===o.data.context&&o.data.sid===t.options.sid&&[n,r,...t.handlers].forEach((e=>{e.eventTypes.includes(o.data.type)&&e.handler&&(e=>{try{e()}catch(e){console.error(e)}})((()=>{e.handler(o.data,t)}))}))};return window.addEventListener("message",s),()=>{window.removeEventListener("message",s)}},H=async(e,t)=>{const{close:n,focus:o,popOutWindow:i}=await A({sid:t.options.sid,endpoint:t.options.endpoint,shouldCallValidateSession:Boolean(t.options.onValidateSession),language:e.language,onOpen:e=>I(e,t),onClose:()=>{var e,n;b(),e=t.iframe,n=t.options.sid,e.contentWindow&&e.contentWindow.postMessage({type:"ClosedPopOut",sid:n},"*"),(e=>{try{const t=document.getElementById(L);t&&(e?t.setAttribute("disabled",e.toString()):t.removeAttribute("disabled"))}catch(e){console.error(e)}})(!1),t.popOutWindow=void 0}});return i?(r=t.iframe,s=t.options.sid,r.contentWindow&&r.contentWindow.postMessage({type:"OpenedPopOut",sid:s},"*"),t.popOutWindow=i,(e=>{try{if(document.getElementById(u))return;return v(e)}catch(e){console.error(e)}})({focus:o,close:n,event:e}),!0):(((e,t)=>{e.contentWindow&&e.contentWindow.postMessage({type:"OpenPopOutFailed",sid:t},"*")})(t.iframe,t.options.sid),!1);var r,s},N=async(e,t)=>{if(await H(e,t)&&t.options.onValidateSession){n=t.iframe,i=t.options.sid,n.contentWindow&&n.contentWindow.postMessage({type:"ValidatingPopOut",sid:i},"*");const r=((e,t)=>n=>{c(t.iframe,t.options.sid,n),n.success&&t.popOutWindow?t.popOutWindow.location.href=s({sid:t.options.sid,endpoint:t.options.endpoint,shouldCallValidateSession:!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:r},t,r)}catch(e){console.error(e),c(t.iframe,t.options.sid,{success:!1,clientValidationError:"Validation runtime error"})}}var n,i},F=(e,t)=>{(e=>e&&e.type===i.ShowPopOutButton)(e)&&(x({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:()=>N(e,t)}),(e=>{const t=document.getElementById(h);t&&(t.innerText=e.focusLabel);const n=document.getElementById(f);n&&(n.innerText=e.descriptionLabel);const o=document.getElementById(m);o&&o.setAttribute("aria-label",e.descriptionLabel)})(e))},R=(e,t)=>{e.type===i.HidePopOutButton&&P()},z=e=>{if(P(),b(),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["box-sizing"]="border-box";const r={endpoint:"https://checkout.dintero.com",innerContainer:t,...e},{container:s,sid:d,language:p,endpoint:u,onSession:f,onSessionCancel:h,onPayment:m,onPaymentAuthorized:g,onPaymentError:y,onSessionNotFound:w,onSessionLocked:v,onSessionLockFailed:L,onActivePaymentType:S,onValidateSession:C,popOut:T}=r;let k;const x=[];let P=!1;s.appendChild(t);const{iframe:E,initiate:O}=((e,t,n)=>{if(!e||!e.appendChild)throw new Error("Invalid container");const o=document.createElement("iframe");return o.setAttribute("frameborder","0"),o.setAttribute("allowTransparency","true"),o.setAttribute("style","width:100%; height:0;"),o.setAttribute("sandbox","allow-scripts allow-forms allow-same-origin allow-popups allow-popups-to-escape-sandbox allow-top-navigation"),o.setAttribute("allow","payment"),o.setAttribute("importance","high"),o.setAttribute("src",n),{iframe:o,initiate:async()=>new Promise(((t,n)=>{o.onload=()=>t(),o.onerror=()=>n(),e.appendChild(o)}))}})(t,0,a({sid:d,endpoint:u,language:p,ui:e.ui||"inline",shouldCallValidateSession:void 0!==C,popOut:T,...e.hasOwnProperty("hideTestMessage")&&{hideTestMessage:e.hideTestMessage}})),A=(e,t,n)=>{if(!k)throw new Error("Unable to create action promise: checkout is undefined");return new Promise(((o,i)=>{const r=[];r.push(l({sid:d,endpoint:u,handler:e=>{r.forEach((e=>e.unsubscribe())),o(e)},eventTypes:[t],checkout:k,source:k.iframe.contentWindow})),r.push(l({sid:d,endpoint:u,handler:()=>{r.forEach((e=>e.unsubscribe())),i(`Received unexpected event: ${n}`)},eventTypes:[n],checkout:k,source:k.iframe.contentWindow})),e()}))},I=()=>A((()=>{((e,t)=>{e.contentWindow&&e.contentWindow.postMessage({type:"RefreshSession",sid:t},"*")})(E,d),W(k?.popOutWindow,d)}),o.SessionUpdated,o.SessionNotFound),H=e=>{c(E,d,e)},N=(e,t,i)=>(e,r)=>{if(!P){P=!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)}},U=[{handler:B,eventTypes:[i.LanguageChanged]},{handler:j,eventTypes:[i.HeightChanged]},{handler:V,eventTypes:[i.ScrollToTop]},{handler:(e,t)=>{t.session=e.session,f&&f(e,t)},eventTypes:[o.SessionLoaded,o.SessionUpdated]},{eventTypes:[o.SessionPaymentOnHold],handler:N(0,u,m||_)},{eventTypes:[o.SessionPaymentAuthorized],handler:N(0,u,g||m||_)},{handler:N(0,u,h||_),eventTypes:[o.SessionCancel]},{handler:N(0,u,y||_),eventTypes:[o.SessionPaymentError]},{handler:w,eventTypes:[o.SessionNotFound]},{handler:(e,t)=>{v&&v(e,t,I)},eventTypes:[o.SessionLocked]},{handler:L,eventTypes:[o.SessionLockFailed]},{handler:S,eventTypes:[o.ActivePaymentProductType]},{handler:(e,t)=>{if(C)try{C({...e,callback:H},t,H)}catch(e){console.error(e),H({success:!1,clientValidationError:"Validation runtime error"})}},eventTypes:[o.ValidateSession]},{handler:F,eventTypes:[i.ShowPopOutButton]},{handler:R,eventTypes:[i.HidePopOutButton]}];return k={destroy:()=>{z(k),E&&(r.popOut&&b(),x.forEach((e=>e.unsubscribe())),E.parentElement&&t.removeChild(E)),t.parentElement&&s.removeChild(t)},iframe:E,language:p,lockSession:()=>A((()=>{((e,t)=>{e.contentWindow&&e.contentWindow.postMessage({type:"LockSession",sid:t},"*")})(E,d),$(k?.popOutWindow,d)}),o.SessionLocked,o.SessionLockFailed),refreshSession:I,setActivePaymentProductType:t=>{e.popOut?M(k?.popOutWindow,d,t):((e,t,n)=>{e.contentWindow&&e.contentWindow.postMessage({type:"SetActivePaymentProductType",sid:t,payment_product_type:n},"*")})(E,d,t)},submitValidationResult:H,options:r,handlers:U,session:void 0,popOutWindow:void 0},U.forEach((({handler:e,eventTypes:t})=>{e&&x.push(l({sid:d,endpoint:u,handler:e,eventTypes:t,checkout:k,source:k.iframe.contentWindow}))})),await O(),k},e.redirect=e=>{const{sid:t,language:n,endpoint:o="https://checkout.dintero.com"}=e;d(a({sid:t,endpoint:o,language:n,shouldCallValidateSession:!1}))},Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=dintero-checkout-web-sdk.umd.min.js.map
{
"name": "@dintero/checkout-web-sdk",
"version": "0.8.10",
"version": "0.8.11",
"description": "Dintero Checkout SDK for web frontends",

@@ -43,5 +43,5 @@ "main": "dist/dintero-checkout-web-sdk.cjs.js",

"semantic-release": "24.1.0",
"typescript": "5.5.4",
"typescript": "5.6.2",
"vitest": "2.0.5",
"webdriverio": "9.0.4"
"webdriverio": "9.0.9"
},

@@ -48,0 +48,0 @@ "dependencies": {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc