@dintero/checkout-web-sdk
Advanced tools
Comparing version 0.4.5 to 0.5.0
@@ -17,3 +17,4 @@ import { Session } from "./session"; | ||
HeightChanged = "HeightChanged", | ||
LanguageChanged = "LanguageChanged" | ||
LanguageChanged = "LanguageChanged", | ||
ScrollToTop = "ScrollToTop" | ||
} | ||
@@ -20,0 +21,0 @@ export declare type SessionNotFound = { |
@@ -9,3 +9,3 @@ 'use strict'; | ||
name: "@dintero/checkout-web-sdk", | ||
version: "0.4.5", | ||
version: "0.5.0", | ||
description: "Dintero Checkout SDK for web frontends", | ||
@@ -50,3 +50,3 @@ main: "dist/dintero-checkout-web-sdk.cjs.js", | ||
prettier: "^2.6.2", | ||
puppeteer: "^15.0.0", | ||
puppeteer: "^18.0.5", | ||
"semantic-release": "^19.0.2", | ||
@@ -82,2 +82,3 @@ sinon: "^14.0.0", | ||
InternalCheckoutEvents["LanguageChanged"] = "LanguageChanged"; | ||
InternalCheckoutEvents["ScrollToTop"] = "ScrollToTop"; | ||
})(InternalCheckoutEvents || (InternalCheckoutEvents = {})); | ||
@@ -290,3 +291,24 @@ | ||
}; | ||
/** | ||
* An event handler that scrolls to the top of the iframe. This is useful when the user | ||
* is navigated to another page. | ||
*/ | ||
const scrollToIframeTop = (event, checkout) => { | ||
try { | ||
checkout.iframe.scrollIntoView({ | ||
block: 'start', | ||
behavior: 'smooth' | ||
}); | ||
} catch (e) { | ||
// Ignore erorr silenty bug log it to the console. | ||
console.error(e); | ||
} | ||
}; | ||
/** | ||
* An event handler that sets language in the iframe. | ||
*/ | ||
const setLanguage = (event, checkout) => { | ||
@@ -449,2 +471,5 @@ if (event.language) { | ||
}, { | ||
handler: scrollToIframeTop, | ||
eventTypes: [InternalCheckoutEvents.ScrollToTop] | ||
}, { | ||
handler: onSession, | ||
@@ -451,0 +476,0 @@ eventTypes: [CheckoutEvents.SessionLoaded, CheckoutEvents.SessionUpdated] |
@@ -9,3 +9,3 @@ 'use strict'; | ||
name: "@dintero/checkout-web-sdk", | ||
version: "0.4.5", | ||
version: "0.5.0", | ||
description: "Dintero Checkout SDK for web frontends", | ||
@@ -50,3 +50,3 @@ main: "dist/dintero-checkout-web-sdk.cjs.js", | ||
prettier: "^2.6.2", | ||
puppeteer: "^15.0.0", | ||
puppeteer: "^18.0.5", | ||
"semantic-release": "^19.0.2", | ||
@@ -82,2 +82,3 @@ sinon: "^14.0.0", | ||
InternalCheckoutEvents["LanguageChanged"] = "LanguageChanged"; | ||
InternalCheckoutEvents["ScrollToTop"] = "ScrollToTop"; | ||
})(InternalCheckoutEvents || (InternalCheckoutEvents = {})); | ||
@@ -290,3 +291,24 @@ | ||
}; | ||
/** | ||
* An event handler that scrolls to the top of the iframe. This is useful when the user | ||
* is navigated to another page. | ||
*/ | ||
const scrollToIframeTop = (event, checkout) => { | ||
try { | ||
checkout.iframe.scrollIntoView({ | ||
block: 'start', | ||
behavior: 'smooth' | ||
}); | ||
} catch (e) { | ||
// Ignore erorr silenty bug log it to the console. | ||
console.error(e); | ||
} | ||
}; | ||
/** | ||
* An event handler that sets language in the iframe. | ||
*/ | ||
const setLanguage = (event, checkout) => { | ||
@@ -449,2 +471,5 @@ if (event.language) { | ||
}, { | ||
handler: scrollToIframeTop, | ||
eventTypes: [InternalCheckoutEvents.ScrollToTop] | ||
}, { | ||
handler: onSession, | ||
@@ -451,0 +476,0 @@ eventTypes: [CheckoutEvents.SessionLoaded, CheckoutEvents.SessionUpdated] |
@@ -5,3 +5,3 @@ import 'native-promise-only'; | ||
name: "@dintero/checkout-web-sdk", | ||
version: "0.4.5", | ||
version: "0.5.0", | ||
description: "Dintero Checkout SDK for web frontends", | ||
@@ -46,3 +46,3 @@ main: "dist/dintero-checkout-web-sdk.cjs.js", | ||
prettier: "^2.6.2", | ||
puppeteer: "^15.0.0", | ||
puppeteer: "^18.0.5", | ||
"semantic-release": "^19.0.2", | ||
@@ -78,2 +78,3 @@ sinon: "^14.0.0", | ||
InternalCheckoutEvents["LanguageChanged"] = "LanguageChanged"; | ||
InternalCheckoutEvents["ScrollToTop"] = "ScrollToTop"; | ||
})(InternalCheckoutEvents || (InternalCheckoutEvents = {})); | ||
@@ -286,3 +287,24 @@ | ||
}; | ||
/** | ||
* An event handler that scrolls to the top of the iframe. This is useful when the user | ||
* is navigated to another page. | ||
*/ | ||
const scrollToIframeTop = (event, checkout) => { | ||
try { | ||
checkout.iframe.scrollIntoView({ | ||
block: 'start', | ||
behavior: 'smooth' | ||
}); | ||
} catch (e) { | ||
// Ignore erorr silenty bug log it to the console. | ||
console.error(e); | ||
} | ||
}; | ||
/** | ||
* An event handler that sets language in the iframe. | ||
*/ | ||
const setLanguage = (event, checkout) => { | ||
@@ -445,2 +467,5 @@ if (event.language) { | ||
}, { | ||
handler: scrollToIframeTop, | ||
eventTypes: [InternalCheckoutEvents.ScrollToTop] | ||
}, { | ||
handler: onSession, | ||
@@ -447,0 +472,0 @@ eventTypes: [CheckoutEvents.SessionLoaded, CheckoutEvents.SessionUpdated] |
@@ -6,3 +6,3 @@ !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).dintero={})}(this,(function(e){"use strict";var n="undefined"!=typeof globalThis?globalThis:"undefined"!="object"?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};!function(e,n,t){e(t={path:n,exports:{},require:function(e,n){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==n&&t.path)}},t.exports),t.exports}((function(e){ | ||
*/ | ||
var t,o,i;i=function(){var e,n,t,o=Object.prototype.toString,i="undefined"!=typeof setImmediate?function(e){return setImmediate(e)}:setTimeout;try{Object.defineProperty({},"x",{}),e=function(e,n,t,o){return Object.defineProperty(e,n,{value:t,writable:!0,configurable:!1!==o})}}catch(n){e=function(e,n,t){return e[n]=t,e}}function r(e,o){t.add(e,o),n||(n=i(t.drain))}function s(e){var n,t=typeof e;return null==e||"object"!=t&&"function"!=t||(n=e.then),"function"==typeof n&&n}function a(){for(var e=0;e<this.chain.length;e++)c(this,1===this.state?this.chain[e].success:this.chain[e].failure,this.chain[e]);this.chain.length=0}function c(e,n,t){var o,i;try{!1===n?t.reject(e.msg):(o=!0===n?e.msg:n.call(void 0,e.msg))===t.promise?t.reject(TypeError("Promise-chain cycle")):(i=s(o))?i.call(o,t.resolve,t.reject):t.resolve(o)}catch(e){t.reject(e)}}function d(e){var n,t=this;if(!t.triggered){t.triggered=!0,t.def&&(t=t.def);try{(n=s(e))?r((function(){var o=new f(t);try{n.call(e,(function(){d.apply(o,arguments)}),(function(){u.apply(o,arguments)}))}catch(e){u.call(o,e)}})):(t.msg=e,t.state=1,t.chain.length>0&&r(a,t))}catch(e){u.call(new f(t),e)}}}function u(e){var n=this;n.triggered||(n.triggered=!0,n.def&&(n=n.def),n.msg=e,n.state=2,n.chain.length>0&&r(a,n))}function l(e,n,t,o){for(var i=0;i<n.length;i++)!function(i){e.resolve(n[i]).then((function(e){t(i,e)}),o)}(i)}function f(e){this.def=e,this.triggered=!1}function h(e){this.promise=e,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function p(e){if("function"!=typeof e)throw TypeError("Not a function");if(0!==this.__NPO__)throw TypeError("Not a promise");this.__NPO__=1;var n=new h(this);this.then=function(e,t){var o={success:"function"!=typeof e||e,failure:"function"==typeof t&&t};return o.promise=new this.constructor((function(e,n){if("function"!=typeof e||"function"!=typeof n)throw TypeError("Not a function");o.resolve=e,o.reject=n})),n.chain.push(o),0!==n.state&&r(a,n),o.promise},this.catch=function(e){return this.then(void 0,e)};try{e.call(void 0,(function(e){d.call(n,e)}),(function(e){u.call(n,e)}))}catch(e){u.call(n,e)}}t=function(){var e,t,o;function i(e,n){this.fn=e,this.self=n,this.next=void 0}return{add:function(n,r){o=new i(n,r),t?t.next=o:e=o,t=o,o=void 0},drain:function(){var o=e;for(e=t=n=void 0;o;)o.fn.call(o.self),o=o.next}}}();var y=e({},"constructor",p,!1);return p.prototype=y,e(y,"__NPO__",0,!1),e(p,"resolve",(function(e){return e&&"object"==typeof e&&1===e.__NPO__?e:new this((function(n,t){if("function"!=typeof n||"function"!=typeof t)throw TypeError("Not a function");n(e)}))})),e(p,"reject",(function(e){return new this((function(n,t){if("function"!=typeof n||"function"!=typeof t)throw TypeError("Not a function");t(e)}))})),e(p,"all",(function(e){var n=this;return"[object Array]"!=o.call(e)?n.reject(TypeError("Not an array")):0===e.length?n.resolve([]):new n((function(t,o){if("function"!=typeof t||"function"!=typeof o)throw TypeError("Not a function");var i=e.length,r=Array(i),s=0;l(n,e,(function(e,n){r[e]=n,++s===i&&t(r)}),o)}))})),e(p,"race",(function(e){var n=this;return"[object Array]"!=o.call(e)?n.reject(TypeError("Not an array")):new n((function(t,o){if("function"!=typeof t||"function"!=typeof o)throw TypeError("Not a function");l(n,e,(function(e,n){t(n)}),o)}))})),p},(o=n)[t="Promise"]=o[t]||i(),e.exports&&(e.exports=o[t])}));var t="0.4.5";let o,i;!function(e){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"}(o||(o={})),function(e){e.HeightChanged="HeightChanged",e.LanguageChanged="LanguageChanged"}(i||(i={}));const r=e=>{window.location.assign(e)},s=e=>{const{sid:n,endpoint:o,language:i,ui:r,shouldCallValidateSession:s}=e;if(!o)throw new Error("Invalid endpoint");const a=[i?`language=${i}`:"",r?`ui=${r}`:"",`sdk=${t}`,s?"client_side_validation=true":void 0].filter((e=>e)).join("&");return`${o}/v1/view/${n}${a?"?"+a:""}`},a=e=>{const{sid:n,endpoint:t,handler:o,eventTypes:i,checkout:r}=e,s=e=>{const s=e.origin===t,a=e.source===r.iframe.contentWindow,c=e.data&&e.data.sid===n,d=-1!==i.indexOf(e.data&&e.data.type);s&&a&&c&&d&&(((e,n)=>{n.data.mid&&e.contentWindow&&e.contentWindow.postMessage({ack:n.data.mid},n.origin||"*")})(r.iframe,e),o(e.data,r))};window.addEventListener("message",s,!1);return{unsubscribe:()=>{window.removeEventListener("message",s,!1)}}},c=e=>{e.href&&r(e.href)},d=(e,n)=>{(e.height||0===e.height)&&n.iframe.setAttribute("style",`width:100%; height:${e.height}px;`)},u=(e,n)=>{e.language&&(n.language=e.language)},l=(e,n,i)=>(e,r)=>{const s=["sid","merchant_reference","transaction_id","error"].map((n=>[n,e[n]]));e.type!==o.SessionCancel||e.error||s.push(["error","cancelled"]),s.push(["language",r.language]),s.push(["sdk",t]);const a=s.filter((([e,n])=>n)).map((([e,n])=>`${e}=${n}`)).join("&");r.iframe.setAttribute("src",`${n}/embedResult/?${a}`),i(e,r)};e.embed=async e=>{const{container:n,sid:t,language:r,endpoint:f="https://checkout.dintero.com",onSession:h,onSessionCancel:p,onPayment:y,onPaymentAuthorized:g,onPaymentError:m,onSessionNotFound:v,onSessionLocked:w,onSessionLockFailed:S,onActivePaymentType:b,onValidateSession:T}=e;let P;const E=[],{iframe:_,initiate:k}=((e,n,t)=>{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"),o.setAttribute("importance","high"),o.setAttribute("src",t),{iframe:o,initiate:async()=>new Promise(((n,t)=>{o.onload=()=>n(),o.onerror=()=>t(),e.appendChild(o)}))}})(n,0,s({sid:t,endpoint:f,language:r,ui:"inline",shouldCallValidateSession:void 0!==T})),A=(e,n,o)=>{if(!P)throw new Error("Unable to create action promise: checkout is undefined");return new Promise(((i,r)=>{const s=[];s.push(a({sid:t,endpoint:f,handler:e=>{s.forEach((e=>e.unsubscribe())),i(e)},eventTypes:[n],checkout:P})),s.push(a({sid:t,endpoint:f,handler:()=>{s.forEach((e=>e.unsubscribe())),r(`Received unexpected event: ${o}`)},eventTypes:[o],checkout:P})),e()}))},j=()=>A((()=>{((e,n)=>{e.contentWindow&&e.contentWindow.postMessage({type:"RefreshSession",sid:n},"*")})(_,t)}),o.SessionUpdated,o.SessionNotFound),L=e=>{((e,n,t)=>{e.contentWindow&&e.contentWindow.postMessage({type:"ValidationResult",sid:n,...t},"*")})(_,t,e)};return P={destroy:()=>{_&&(E.forEach((e=>e.unsubscribe())),_.parentElement&&n.removeChild(_))},iframe:_,language:r,lockSession:()=>A((()=>{((e,n)=>{e.contentWindow&&e.contentWindow.postMessage({type:"LockSession",sid:n},"*")})(_,t)}),o.SessionLocked,o.SessionLockFailed),refreshSession:j,setActivePaymentProductType:e=>{((e,n,t)=>{e.contentWindow&&e.contentWindow.postMessage({type:"SetActivePaymentProductType",sid:n,payment_product_type:t},"*")})(_,t,e)},submitValidationResult:L},[{handler:u,eventTypes:[i.LanguageChanged]},{handler:d,eventTypes:[i.HeightChanged]},{handler:h,eventTypes:[o.SessionLoaded,o.SessionUpdated]},{eventTypes:[o.SessionPaymentOnHold],handler:y?l(0,f,y):c},{eventTypes:[o.SessionPaymentAuthorized],handler:g||y?l(0,f,g||y):c},{handler:p?l(0,f,p):c,eventTypes:[o.SessionCancel]},{handler:m?l(0,f,m):c,eventTypes:[o.SessionPaymentError]},{handler:v,eventTypes:[o.SessionNotFound]},{handler:(e,n)=>{w&&w(e,n,j)},eventTypes:[o.SessionLocked]},{handler:S,eventTypes:[o.SessionLockFailed]},{handler:b,eventTypes:[o.ActivePaymentProductType]},{handler:b,eventTypes:[o.ActivePaymentProductType]},{handler:(e,n)=>{T&&T(e,n,L)},eventTypes:[o.ValidateSession]}].forEach((({handler:e,eventTypes:n})=>{e&&E.push(a({sid:t,endpoint:f,handler:e,eventTypes:n,checkout:P}))})),await k(),P},e.redirect=e=>{const{sid:n,language:t,endpoint:o="https://checkout.dintero.com"}=e;r(s({sid:n,endpoint:o,language:t,shouldCallValidateSession:!1}))},Object.defineProperty(e,"__esModule",{value:!0})})); | ||
var t,o,i;i=function(){var e,n,t,o=Object.prototype.toString,i="undefined"!=typeof setImmediate?function(e){return setImmediate(e)}:setTimeout;try{Object.defineProperty({},"x",{}),e=function(e,n,t,o){return Object.defineProperty(e,n,{value:t,writable:!0,configurable:!1!==o})}}catch(n){e=function(e,n,t){return e[n]=t,e}}function r(e,o){t.add(e,o),n||(n=i(t.drain))}function s(e){var n,t=typeof e;return null==e||"object"!=t&&"function"!=t||(n=e.then),"function"==typeof n&&n}function a(){for(var e=0;e<this.chain.length;e++)c(this,1===this.state?this.chain[e].success:this.chain[e].failure,this.chain[e]);this.chain.length=0}function c(e,n,t){var o,i;try{!1===n?t.reject(e.msg):(o=!0===n?e.msg:n.call(void 0,e.msg))===t.promise?t.reject(TypeError("Promise-chain cycle")):(i=s(o))?i.call(o,t.resolve,t.reject):t.resolve(o)}catch(e){t.reject(e)}}function d(e){var n,t=this;if(!t.triggered){t.triggered=!0,t.def&&(t=t.def);try{(n=s(e))?r((function(){var o=new f(t);try{n.call(e,(function(){d.apply(o,arguments)}),(function(){u.apply(o,arguments)}))}catch(e){u.call(o,e)}})):(t.msg=e,t.state=1,t.chain.length>0&&r(a,t))}catch(e){u.call(new f(t),e)}}}function u(e){var n=this;n.triggered||(n.triggered=!0,n.def&&(n=n.def),n.msg=e,n.state=2,n.chain.length>0&&r(a,n))}function l(e,n,t,o){for(var i=0;i<n.length;i++)!function(i){e.resolve(n[i]).then((function(e){t(i,e)}),o)}(i)}function f(e){this.def=e,this.triggered=!1}function h(e){this.promise=e,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function p(e){if("function"!=typeof e)throw TypeError("Not a function");if(0!==this.__NPO__)throw TypeError("Not a promise");this.__NPO__=1;var n=new h(this);this.then=function(e,t){var o={success:"function"!=typeof e||e,failure:"function"==typeof t&&t};return o.promise=new this.constructor((function(e,n){if("function"!=typeof e||"function"!=typeof n)throw TypeError("Not a function");o.resolve=e,o.reject=n})),n.chain.push(o),0!==n.state&&r(a,n),o.promise},this.catch=function(e){return this.then(void 0,e)};try{e.call(void 0,(function(e){d.call(n,e)}),(function(e){u.call(n,e)}))}catch(e){u.call(n,e)}}t=function(){var e,t,o;function i(e,n){this.fn=e,this.self=n,this.next=void 0}return{add:function(n,r){o=new i(n,r),t?t.next=o:e=o,t=o,o=void 0},drain:function(){var o=e;for(e=t=n=void 0;o;)o.fn.call(o.self),o=o.next}}}();var y=e({},"constructor",p,!1);return p.prototype=y,e(y,"__NPO__",0,!1),e(p,"resolve",(function(e){return e&&"object"==typeof e&&1===e.__NPO__?e:new this((function(n,t){if("function"!=typeof n||"function"!=typeof t)throw TypeError("Not a function");n(e)}))})),e(p,"reject",(function(e){return new this((function(n,t){if("function"!=typeof n||"function"!=typeof t)throw TypeError("Not a function");t(e)}))})),e(p,"all",(function(e){var n=this;return"[object Array]"!=o.call(e)?n.reject(TypeError("Not an array")):0===e.length?n.resolve([]):new n((function(t,o){if("function"!=typeof t||"function"!=typeof o)throw TypeError("Not a function");var i=e.length,r=Array(i),s=0;l(n,e,(function(e,n){r[e]=n,++s===i&&t(r)}),o)}))})),e(p,"race",(function(e){var n=this;return"[object Array]"!=o.call(e)?n.reject(TypeError("Not an array")):new n((function(t,o){if("function"!=typeof t||"function"!=typeof o)throw TypeError("Not a function");l(n,e,(function(e,n){t(n)}),o)}))})),p},(o=n)[t="Promise"]=o[t]||i(),e.exports&&(e.exports=o[t])}));var t="0.5.0";let o,i;!function(e){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"}(o||(o={})),function(e){e.HeightChanged="HeightChanged",e.LanguageChanged="LanguageChanged",e.ScrollToTop="ScrollToTop"}(i||(i={}));const r=e=>{window.location.assign(e)},s=e=>{const{sid:n,endpoint:o,language:i,ui:r,shouldCallValidateSession:s}=e;if(!o)throw new Error("Invalid endpoint");const a=[i?`language=${i}`:"",r?`ui=${r}`:"",`sdk=${t}`,s?"client_side_validation=true":void 0].filter((e=>e)).join("&");return`${o}/v1/view/${n}${a?"?"+a:""}`},a=e=>{const{sid:n,endpoint:t,handler:o,eventTypes:i,checkout:r}=e,s=e=>{const s=e.origin===t,a=e.source===r.iframe.contentWindow,c=e.data&&e.data.sid===n,d=-1!==i.indexOf(e.data&&e.data.type);s&&a&&c&&d&&(((e,n)=>{n.data.mid&&e.contentWindow&&e.contentWindow.postMessage({ack:n.data.mid},n.origin||"*")})(r.iframe,e),o(e.data,r))};window.addEventListener("message",s,!1);return{unsubscribe:()=>{window.removeEventListener("message",s,!1)}}},c=e=>{e.href&&r(e.href)},d=(e,n)=>{(e.height||0===e.height)&&n.iframe.setAttribute("style",`width:100%; height:${e.height}px;`)},u=(e,n)=>{try{n.iframe.scrollIntoView({block:"start",behavior:"smooth"})}catch(e){console.error(e)}},l=(e,n)=>{e.language&&(n.language=e.language)},f=(e,n,i)=>(e,r)=>{const s=["sid","merchant_reference","transaction_id","error"].map((n=>[n,e[n]]));e.type!==o.SessionCancel||e.error||s.push(["error","cancelled"]),s.push(["language",r.language]),s.push(["sdk",t]);const a=s.filter((([e,n])=>n)).map((([e,n])=>`${e}=${n}`)).join("&");r.iframe.setAttribute("src",`${n}/embedResult/?${a}`),i(e,r)};e.embed=async e=>{const{container:n,sid:t,language:r,endpoint:h="https://checkout.dintero.com",onSession:p,onSessionCancel:y,onPayment:g,onPaymentAuthorized:m,onPaymentError:v,onSessionNotFound:w,onSessionLocked:S,onSessionLockFailed:T,onActivePaymentType:b,onValidateSession:P}=e;let E;const _=[],{iframe:k,initiate:A}=((e,n,t)=>{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"),o.setAttribute("importance","high"),o.setAttribute("src",t),{iframe:o,initiate:async()=>new Promise(((n,t)=>{o.onload=()=>n(),o.onerror=()=>t(),e.appendChild(o)}))}})(n,0,s({sid:t,endpoint:h,language:r,ui:"inline",shouldCallValidateSession:void 0!==P})),j=(e,n,o)=>{if(!E)throw new Error("Unable to create action promise: checkout is undefined");return new Promise(((i,r)=>{const s=[];s.push(a({sid:t,endpoint:h,handler:e=>{s.forEach((e=>e.unsubscribe())),i(e)},eventTypes:[n],checkout:E})),s.push(a({sid:t,endpoint:h,handler:()=>{s.forEach((e=>e.unsubscribe())),r(`Received unexpected event: ${o}`)},eventTypes:[o],checkout:E})),e()}))},L=()=>j((()=>{((e,n)=>{e.contentWindow&&e.contentWindow.postMessage({type:"RefreshSession",sid:n},"*")})(k,t)}),o.SessionUpdated,o.SessionNotFound),N=e=>{((e,n,t)=>{e.contentWindow&&e.contentWindow.postMessage({type:"ValidationResult",sid:n,...t},"*")})(k,t,e)};return E={destroy:()=>{k&&(_.forEach((e=>e.unsubscribe())),k.parentElement&&n.removeChild(k))},iframe:k,language:r,lockSession:()=>j((()=>{((e,n)=>{e.contentWindow&&e.contentWindow.postMessage({type:"LockSession",sid:n},"*")})(k,t)}),o.SessionLocked,o.SessionLockFailed),refreshSession:L,setActivePaymentProductType:e=>{((e,n,t)=>{e.contentWindow&&e.contentWindow.postMessage({type:"SetActivePaymentProductType",sid:n,payment_product_type:t},"*")})(k,t,e)},submitValidationResult:N},[{handler:l,eventTypes:[i.LanguageChanged]},{handler:d,eventTypes:[i.HeightChanged]},{handler:u,eventTypes:[i.ScrollToTop]},{handler:p,eventTypes:[o.SessionLoaded,o.SessionUpdated]},{eventTypes:[o.SessionPaymentOnHold],handler:g?f(0,h,g):c},{eventTypes:[o.SessionPaymentAuthorized],handler:m||g?f(0,h,m||g):c},{handler:y?f(0,h,y):c,eventTypes:[o.SessionCancel]},{handler:v?f(0,h,v):c,eventTypes:[o.SessionPaymentError]},{handler:w,eventTypes:[o.SessionNotFound]},{handler:(e,n)=>{S&&S(e,n,L)},eventTypes:[o.SessionLocked]},{handler:T,eventTypes:[o.SessionLockFailed]},{handler:b,eventTypes:[o.ActivePaymentProductType]},{handler:b,eventTypes:[o.ActivePaymentProductType]},{handler:(e,n)=>{P&&P(e,n,N)},eventTypes:[o.ValidateSession]}].forEach((({handler:e,eventTypes:n})=>{e&&_.push(a({sid:t,endpoint:h,handler:e,eventTypes:n,checkout:E}))})),await A(),E},e.redirect=e=>{const{sid:n,language:t,endpoint:o="https://checkout.dintero.com"}=e;r(s({sid:n,endpoint:o,language:t,shouldCallValidateSession:!1}))},Object.defineProperty(e,"__esModule",{value:!0})})); | ||
//# sourceMappingURL=dintero-checkout-web-sdk.umd.min.js.map |
{ | ||
"name": "@dintero/checkout-web-sdk", | ||
"version": "0.4.5", | ||
"version": "0.5.0", | ||
"description": "Dintero Checkout SDK for web frontends", | ||
@@ -43,3 +43,3 @@ "main": "dist/dintero-checkout-web-sdk.cjs.js", | ||
"prettier": "^2.6.2", | ||
"puppeteer": "^15.0.0", | ||
"puppeteer": "^18.0.5", | ||
"semantic-release": "^19.0.2", | ||
@@ -46,0 +46,0 @@ "sinon": "^14.0.0", |
@@ -76,2 +76,6 @@ # Dintero Checkout JavaScript SDK for frontend applications [![Actions Status](https://github.com/Dintero/Dintero.Checkout.Web.SDK/workflows/CI/badge.svg?branch=master)](https://github.com/Dintero/Dintero.Checkout.Web.SDK/actions?query=branch%3Amaster+workflow%3ACI+) | ||
}, | ||
onSessionNotFound: function(event, checkout) { | ||
console.log("session not found (expired)", event.type); | ||
checkout.destroy(); | ||
}, | ||
onSessionLocked: function(event, checkout, callback) { | ||
@@ -111,2 +115,3 @@ console.log("pay_lock_id", event.pay_lock_id); | ||
SessionCancel, | ||
SessionNotFound, | ||
} from "@dintero/checkout-web-sdk"; | ||
@@ -123,3 +128,3 @@ | ||
}, | ||
onPayment: (event: SessionPayment) => { | ||
onPayment: (event: SessionPayment, checkout) => { | ||
console.log("transaction_id", event.transaction_id); | ||
@@ -129,10 +134,14 @@ console.log("href", event.href); | ||
}, | ||
onPaymentError: (event: SessionPaymentError) => { | ||
onPaymentError: (event: SessionPaymentError, checkout) => { | ||
console.log("href", event.href); | ||
checkout.destroy(); | ||
}, | ||
onSessionCancel: (event: SessionCancel) => { | ||
onSessionCancel: (event: SessionCancel, checkout) => { | ||
console.log("href", event.href); | ||
checkout.destroy(); | ||
}, | ||
onSessionNotFound: (event: SessionNotFound, checkout) => { | ||
console.log("session not found (expired)", event.type); | ||
checkout.destroy(); | ||
}, | ||
onSessionLocked: (event, checkout, callback) => { | ||
@@ -139,0 +148,0 @@ console.log("pay_lock_id", event.pay_lock_id); |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
322001
3150
306
1