@primer-io/checkout-web 2.56.0 → 2.56.2

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/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @primer-io/checkout-web
2
2
 
3
+ ## 2.56.2
4
+
5
+ ### Patch Changes
6
+
7
+ - 506bef8: Apple Pay deferred payment: enforce conditional type safety and ensure freeCancellationDate and freeCancellationTimeZone are either both present or both absent in the Apple Pay session.
8
+
9
+ ## 2.56.1
10
+
11
+ ### Patch Changes
12
+
13
+ - 63dafac: fix: make sure line items amounts are properly formatted
14
+ - 324274d: feat(applepay): add merchantDomain override option
15
+ - a27166c: add sdk-fore cardholdername toggle and fix primer-sdk-web toggle
16
+ - Updated dependencies [a27166c]
17
+ - @primer-io/sdk-utils@0.0.3
18
+
3
19
  ## 2.56.0
4
20
 
5
21
  ### Minor Changes
package/dist/Primer.js CHANGED
@@ -1,2 +1,2 @@
1
- !function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports.Primer=r():e.Primer=r()}(this,()=>(()=>{"use strict";let e;var r,t,A,o,E,n,_,i,a,s,c,T,N,R={};R.d=(e,r)=>{for(var t in r)R.o(r,t)&&!R.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},R.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),R.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var O={};R.r(O),R.d(O,{SuccessScreenType:()=>rt,PaymentFlow:()=>e5,PrimerClientError:()=>rr,ThreeDSecureStatus:()=>e3,TokenType:()=>e9,isStripeOptionsDropInWithFullMandateText:()=>rA,PaymentInstrumentType:()=>e4,ErrorCode:()=>e7,EventTypes:()=>ro,CheckoutUXFlow:()=>e6,HeadlessManagerType:()=>rE,PaymentMethodType:()=>e8,Primer:()=>rn});let P=()=>D.randomUUID?.()||d(),d=()=>"10000000-1000-4000-8000-100000000000".replace(/[018]/g,e=>(e^I()>>e/4).toString(16)),I=()=>(D.getRandomValues?.(new Uint8Array(1))[0]??16*Math.random())&15,D="undefined"!=typeof crypto?crypto:{},l={LEGACY:"legacy",V_2_4:"2.4"},u=l.V_2_4,S=u;class L extends Error{static from(e,r=!1){if(e instanceof L)return e;let t=new L(e instanceof Error?e.message:String(e),r);return e instanceof Error&&e.stack&&(t.stack=e.stack,Object.assign(t,e)),t}markAsReported(){this.isReported=!0}constructor(e,r=!1){var t,A;super(e),A=void 0,(t="isReported")in this?Object.defineProperty(this,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):this[t]=A,this.isReported=r,this.name=this.constructor.name,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}let C="https://analytics.production.data.primer.io/sdk-logs";var m=((h={}).REQUEST_START="REQUEST_START",h.REQUEST_END="REQUEST_END",h),Y=((M={}).START="START",M.END="END",M);let p={createHeadless:"HEADLESS_LOADING",showUniversalCheckout:"DROP_IN_LOADING",showVaultManager:"VAULT_MANAGER_LOADING",preloadPrimer:"PRELOAD_PRIMER_LOADING"};var h,M,f,y,U=((f={}).NETWORK_CALL_EVENT="NETWORK_CALL_EVENT",f.CRASH_EVENT="CRASH_EVENT",f.TIMER_EVENT="TIMER_EVENT",f.MESSAGE_EVENT="MESSAGE_EVENT",f.SCRIPT_UNAUTHORIZED_EVENT="SCRIPT_UNAUTHORIZED_EVENT",f.V1_EVENT="V1_EVENT",f.SDK_FUNCTION_EVENT="SDK_FUNCTION_EVENT",f),k=((y=k||{}).CHARGING="CHARGING",y.NOT_CHARGING="NOT_CHARGING",y);async function w(){if("undefined"==typeof navigator||"undefined"==typeof performance)return;let e=await navigator.getBattery?.();return{memoryFootprint:performance.memory?.usedJSHeapSize,screen:{height:screen?.height,width:screen?.width},userAgent:navigator.userAgent,locale:navigator.language,batteryLevel:e?.level,batteryStatus:e?.charging?"CHARGING":"NOT_CHARGING"}}let g=({get(e,r){let t;try{switch(e){case"PRIMER_SDK_VERSION":t="v2.56.0";break;case"PRIMER_ASSETS_URL":t=process.env.PRIMER_ASSETS_URL;break;case"PRIMER_BUILD_INTEGRATION_BUILDER":t=process.env.PRIMER_BUILD_INTEGRATION_BUILDER}}catch{}return t||r}}).get("PRIMER_SDK_VERSION");async function B(e,r,t){return{...t,createdAt:Date.now(),device:await w(),eventType:e,properties:r,sdkVersion:g,sdkType:"WEB"}}let v=Symbol.for("__primerAnalytics__"),H={providers:new Map,timers:new Map,eventsQueue:new Map};if("undefined"!=typeof window){let e=window[v];e?H=e:window[v]=H}let G=()=>H.providers,F=()=>H.timers,b=()=>H.eventsQueue,K=new Map;function V(e,r=!1,t=1){K.has(e)&&(clearTimeout(K.get(e)),K.delete(e));let A=()=>{let A=b().get(e);if(A?.length){let o=!0,E=[],n=0,_=0;for(;_<A.length;){let r=A[_],t=new Blob([JSON.stringify(r)]).size;if(t>64e3){console.error("Event size exceeds maximum payload size and will be skipped:",r),_++;continue}if(n+t>64e3&&E.length>0){try{o=navigator.sendBeacon(e,JSON.stringify(E))}catch(e){o=!1,console.error("Unable to send events",e)}if(!o)break;E=[],n=0}E.push(r),n+=t,_++}if(E.length>0&&o)try{o=navigator.sendBeacon(e,JSON.stringify(E))}catch(e){o=!1,console.error("Unable to send events",e)}o?b().delete(e):t<5?setTimeout(()=>V(e,r,t+1),500*Math.pow(2,t)):console.error("Max retry attempts reached. Events will not be sent.")}};if(r)return void A();let o=setTimeout(A,500);K.set(e,o)}let x=!1;function W({url:e=C,...r}){"undefined"==typeof document||x||(document.addEventListener("visibilitychange",()=>{if("hidden"===document.visibilityState){let e=$(r.checkoutSessionId);e.messageEvent({messageType:"VISIBILITY_CHANGE",message:"Checkout visibility is hidden (tab or window change, redirect or being closed)."}),V(e.url,!0)}}),x=!0);let t=t=>async A=>{var o;let E;"undefined"!=typeof navigator&&(o=function e(r,t,A=new WeakSet,o=0,E=10){if(o>E||A.has(r))return r;A.add(r);let n=r=>"object"==typeof r&&null!==r?e(r,t,A,o+1,E):t(r);return Array.isArray(r)?r.map(n):Object.fromEntries(Object.entries(r).map(([e,r])=>[e,n(r)]))}(await B(t,A,r),e=>{var r;return"string"==typeof(r="function"==typeof e?e.name||"function":e)&&r.length>5120?`${r.slice(0,5120)}...`:r}),b().has(e)||b().set(e,[]),E=b().get(e),E?.push(o),V(e))},A={crashEvent:t(U.CRASH_EVENT),messageEvent:t(U.MESSAGE_EVENT),networkCallEvent:t(U.NETWORK_CALL_EVENT),scriptUnauthorizedEvent:t(U.SCRIPT_UNAUTHORIZED_EVENT),sdkFunctionEvent:t(U.SDK_FUNCTION_EVENT),timerStart:({id:e,...A})=>{let o=`${r.checkoutSessionId}|${e}`,E=performance?.now?performance.now():Date.now();return F().set(o,{start:E}),t(U.TIMER_EVENT)({...A,id:e,timerType:Y.START})},timerEnd:({id:e,...A})=>{let o=`${r.checkoutSessionId}|${e}`,{start:E}=F().get(o)??{};F().delete(o);let n=performance?.now?performance.now():Date.now();return t(U.TIMER_EVENT)({...A,id:e,timerType:Y.END,duration:E?n-E:void 0})},v1Event:t(U.V1_EVENT),url:e};return G().set(r.checkoutSessionId,A),$(r.checkoutSessionId)}function $(e){return new Proxy({},{get:(r,t)=>(G().get(e)??W({checkoutSessionId:e}))[t]})}let j=(e,r,t,A)=>({callType:t?m.REQUEST_END:m.REQUEST_START,id:e,errorBody:t?.error&&JSON.stringify(t.error,Object.getOwnPropertyNames(t.error)),method:r.method,responseCode:t?.status,url:r.url,duration:A});function X(e){return e?new Promise(r=>{setTimeout(r,e)}):Promise.resolve()}async function z(e,r,t,A=X){let o=0,E={enabled:r?.enabled??!1,maxRetries:8,initialBackoff:100,retryNetworkErrors:!0,retry500Errors:!1,maxJitter:100};if(!E.enabled)return e();for(;;)try{let r=await e();if(o){let e=`Request succeeded after ${o} retries.`;"object"==typeof r&&r&&"status"in r&&(e+=` Status code: ${r.status}`),t?.({messageType:"RETRY_SUCCESS",message:e,severity:"INFO"})}return r}catch(a){let e=o>=E.maxRetries,r=a.isNetworkError&&!E.retryNetworkErrors,n=a.status&&a.status>=500&&!E.retry500Errors;if(e||r||n){let A=`Failed after ${o} retries. `;throw e?A+=`Reached maximum retries (${E.maxRetries}).`:r?A+="Network error encountered and retryNetworkErrors is disabled.":n&&(A+="HTTP 500 error encountered and retry500Errors is disabled."),A+=` Last error: ${a.message}`,t?.({messageType:"RETRY_FAILED",message:A,severity:"ERROR",errorBody:JSON.stringify(a,Object.getOwnPropertyNames(a))}),Error(A,{cause:a})}o++;let _=Math.min(E.initialBackoff*Math.pow(2,o-1)+Math.random()*E.maxJitter,Number.MAX_SAFE_INTEGER),i="Unknown error";a.isNetworkError?i="Network error":a.status&&(i=`HTTP ${a.status} error`),t?.({messageType:"RETRY",message:`Retry attempt ${o}/${E.maxRetries} due to: ${i}. Error details: ${a.message}. Waiting for ${_.toFixed(2)}ms before next attempt.`,severity:"WARN",errorBody:JSON.stringify(a,Object.getOwnPropertyNames(a))}),await A(_)}}let Q={cache:new Map};"undefined"!=typeof window&&((r=window)[t="__primerCache__"]??(r[t]=Q),Q=window.__primerCache__);let Z=()=>Q.cache;function J(){if(Z().size<=30)return;let e=Date.now();for(let[r,t]of Z())t.exp<e&&Z().delete(r);if(Z().size>50)for(let[e]of Z()){if(Z().size<=50)break;Z().delete(e)}}let q=(e,r,t)=>ee(e,"get",r,t),ee=async(e,r,t,A,o)=>{let E=P(),n=performance?.now(),_=$(e),i={method:r,url:t,body:o};_.networkCallEvent(j(E,i));try{let a=await fetch(t,{body:o,method:r,headers:{"content-type":"application/json","x-request-id":E,...A}});if(!a.ok){let e=Error(`HTTP error! status: ${a.status}`);throw e.status=a.status,e}let s=await a.json();if(t.includes("client-sdk/configuration")){let{primerAccountId:r,clientSession:{clientSessionId:t,customer:A}}=s;_=W({checkoutSessionId:e,clientSessionId:t,customerId:A?.customerId,primerAccountId:r,url:_.url})}let c=performance?.now();return _.networkCallEvent(j(E,i,{data:s},c-n)),{data:s,headers:a.headers,status:a.status,source:"NETWORK"}}catch(r){let e=performance?.now();throw Object.assign(r,{isNetworkError:r instanceof TypeError}),_.networkCallEvent(j(E,i,{error:r},e-n)),r}},er=(e,r)=>new Promise((t,A)=>{let o=setTimeout(()=>{let e=Error("Request timed out");e.isNetworkError=!0,A(e)},r);e.then(t).catch(A).finally(()=>clearTimeout(o))}),et=(e,r)=>{let{headers:t,retryConfig:A,cacheConfig:o,timeout:E=15e3,checkoutSessionId:n}=r,_=$(n);return(function(e){if(!e)return e=>e();let{key:r,refresh:t=!1,usePrimerSessionCacheTtlHeader:A=!1,ttl:o=36e5}=e;return async e=>{let E=Date.now(),n=Z().get(r);if(!t&&n&&n.exp>E)return n.promise;n&&Z().delete(r);let _=e().then(e=>{let t=o;return A&&(t=1e3*(Number(e.headers.get("x-primer-session-cache-ttl"))||0)),function({key:e,ttl:r=36e5},t){r?Z().set(e,{promise:Promise.resolve({...t,source:"CACHE"}),exp:Date.now()+r}):Z().delete(e)}({key:r,ttl:t},e),J(),e},e=>{throw Z().delete(r),e});return Z().set(r,{promise:_,exp:E+o}),J(),_}})(o)(()=>z(()=>er(q(n,e,t),E),A,r=>_.messageEvent({...r,url:e})))},eA="function"==typeof Buffer,eo="function"==typeof TextDecoder?new TextDecoder:void 0,eE="function"==typeof TextEncoder?new TextEncoder:void 0,en=Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="),e_=(e=>{let r={};return e.forEach((e,t)=>r[e]=t),r})(en),ei=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,ea=String.fromCharCode.bind(String),es="function"==typeof Uint8Array.from?Uint8Array.from.bind(Uint8Array):e=>new Uint8Array(Array.prototype.slice.call(e,0)),ec=e=>e.replace(/=/g,"").replace(/[+\/]/g,e=>"+"==e?"-":"_"),eT=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),eN="function"==typeof btoa?e=>btoa(e):eA?e=>Buffer.from(e,"binary").toString("base64"):e=>{let r,t,A,o,E="",n=e.length%3;for(let n=0;n<e.length;){if((t=e.charCodeAt(n++))>255||(A=e.charCodeAt(n++))>255||(o=e.charCodeAt(n++))>255)throw TypeError("invalid character found");E+=en[(r=t<<16|A<<8|o)>>18&63]+en[r>>12&63]+en[r>>6&63]+en[63&r]}return n?E.slice(0,n-3)+"===".substring(n):E},eR=eA?e=>Buffer.from(e).toString("base64"):e=>{let r=[];for(let t=0,A=e.length;t<A;t+=4096)r.push(ea.apply(null,e.subarray(t,t+4096)));return eN(r.join(""))},eO=(e,r=!1)=>r?ec(eR(e)):eR(e),eP=e=>{if(e.length<2){var r=e.charCodeAt(0);return r<128?e:r<2048?ea(192|r>>>6)+ea(128|63&r):ea(224|r>>>12&15)+ea(128|r>>>6&63)+ea(128|63&r)}var r=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return ea(240|r>>>18&7)+ea(128|r>>>12&63)+ea(128|r>>>6&63)+ea(128|63&r)},ed=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,eI=e=>e.replace(ed,eP),eD=eA?e=>Buffer.from(e,"utf8").toString("base64"):eE?e=>eR(eE.encode(e)):e=>eN(eI(e)),el=(e,r=!1)=>r?ec(eD(e)):eD(e),eu=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,eS=e=>{switch(e.length){case 4:var r=((7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3))-65536;return ea((r>>>10)+55296)+ea((1023&r)+56320);case 3:return ea((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return ea((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},eL=e=>e.replace(eu,eS),eC="function"==typeof atob?e=>atob(eT(e)):eA?e=>Buffer.from(e,"base64").toString("binary"):e=>{if(e=e.replace(/\s+/g,""),!ei.test(e))throw TypeError("malformed base64.");e+="==".slice(2-(3&e.length));let r,t="",A,o;for(let E=0;E<e.length;)r=e_[e.charAt(E++)]<<18|e_[e.charAt(E++)]<<12|(A=e_[e.charAt(E++)])<<6|(o=e_[e.charAt(E++)]),t+=64===A?ea(r>>16&255):64===o?ea(r>>16&255,r>>8&255):ea(r>>16&255,r>>8&255,255&r);return t},em=eA?e=>es(Buffer.from(e,"base64")):e=>es(eC(e).split("").map(e=>e.charCodeAt(0))),eY=e=>em(eh(e)),ep=eA?e=>Buffer.from(e,"base64").toString("utf8"):eo?e=>eo.decode(em(e)):e=>eL(eC(e)),eh=e=>eT(e.replace(/[-_]/g,e=>"-"==e?"+":"/")),eM=e=>ep(eh(e)),ef=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),ey={encode:el,decode:eM},eU={encode:function(e,r={}){let{urlSafe:t=!1}=r;return ey.encode(e,t)},decode:ey.decode},ek="The provided `clientToken`",ew=`${ek} has expired`,eg=`${ek} is malformed`,eB=(e,r,t)=>({"primer-client-token":e,"primer-sdk-client":"WEB","primer-sdk-version":"v2.56.0","primer-sdk-checkout-session-id":r,...t&&{"x-api-version":t}});async function ev(e,r,t){let{accessToken:A,configurationUrl:o,analyticsUrlV2:E}=function(e){let r=function(e){try{let[r,t]=e.split(".");return JSON.parse(eU.decode(t||r))}catch{throw Error(eg)}}(e),t=1e3*r.exp;if(Date.now()>t)throw Error(`${ew}. Expiration date: ${new Date(t).toISOString()}`);return r}(e),n=W({checkoutSessionId:r,url:E}),_=S,i=_!==l.LEGACY?_:"2.3";n.timerStart({id:"CONFIGURATION_LOADING"});try{let{data:e,source:E}=await et(`${o}/?withDisplayMetadata=true`,{checkoutSessionId:r,headers:eB(A,r,i),retryConfig:{enabled:!0},cacheConfig:t});return n.timerEnd({id:"CONFIGURATION_LOADING",context:{source:E}}),e}catch(r){let e=r instanceof Error?r.message:"Unknown error occurred";throw Error(`Failed to initialize client: ${e}`)}}function eH(e){return e instanceof Error?{errorBody:e.message,stacktrace:e.stack}:"object"==typeof e&&null!==e&&"message"in e?{errorBody:String(e.message),stacktrace:"stack"in e?String(e.stack):void 0}:{errorBody:String(e||"Unknown error")}}function eG({checkoutSessionId:e,analytics:r,error:t,reporter:A}){r?.crashEvent?r.crashEvent({...eH(t),reporter:A}):e&&eF(e,t,A)}async function eF(e,r,t){let A=await B(U.CRASH_EVENT,{...eH(r),reporter:t},{checkoutSessionId:e});try{await fetch(C,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(A)})}catch(e){console.error("Failed to post crash event",e)}}let eb=Symbol.for("initGlobalErrorMonitoringLoaded"),eK=(e,r)=>{"undefined"!=typeof window&&window[eb]||(window[eb]=!0,window.addEventListener("error",t=>{!eV(t)&&ex(t)&&eG({checkoutSessionId:e,analytics:r,error:t.error,reporter:"window.onerror"})}),window.addEventListener("unhandledrejection",t=>{let A=t.reason||Error("Unhandled promise rejection");eW(A)&&eG({checkoutSessionId:e,analytics:r,error:A,reporter:"unhandledrejection"})}))},eV=e=>"Script error."===e.message||!e.filename||0===e.lineno,ex=e=>{let r=e.filename;return!!(r&&e$(r))&&!!new L(e.error).isReported},eW=e=>{if(e&&"object"==typeof e&&"stack"in e&&"string"==typeof e.stack){let r=L.from(e);return!r.isReported&&(!!("fileName"in e&&"string"==typeof e.fileName&&e$(e.fileName))||ej(r.stack).some(e$))}return!1},e$=e=>{try{return new URL(e,window.location.origin).hostname.endsWith(".primer.io")}catch{return!1}},ej=e=>{if(!e)return[];let r=e.split("\n"),t=[],A=/^\s*at\s+(?:.*?\s+)?\(?(.+?):\d+:\d+\)?$/;for(let e of r){let r=e.match(A);if(r&&r[1])t.push(r[1]);else{let r=/@(.*?):\d+:\d+$/,A=e.match(r);A&&A[1]&&t.push(A[1])}}return t},eX=["https://sdk.primer.io/web/","https://sdk.dev.primer.io/web/","https://sdk.sandbox.primer.io/web/","https://sdk.production.primer.io/web/","https://assets.primer.io/","https://x.klarnacdn.net/kp/lib/v","https://www.paypal.com/sdk/js","https://www.paypalobjects.com/","https://js.stripe.com/","https://pay.google.com/gp/p/js/"];function ez(e,r,t){return document.querySelector(`${e}[${r}^="${t}"]`)}async function eQ(e,r,t,A,o,E){let{analytics:n,name:_=r,retryConfig:i}=E;await z(()=>new Promise((E,i)=>{var a;let s,c=ez(e,t,r)||(a={...A,[t]:r},s=document.createElement(e),Object.entries(a).forEach(([e,r])=>s.setAttribute(e,r)),s);c.onload=()=>{n?.sdkFunctionEvent({name:_,params:[`${e.charAt(0).toUpperCase()+e.slice(1)} loaded successfully: ${r}`]}),E()},c.onerror=()=>{c.remove(),i(Error(`${o}: ${r}`))},c.parentNode||document.head.appendChild(c)}),i,e=>n?.messageEvent({...e,url:r}))}async function eZ(r){return e||(e=Promise.all([function(e,r={}){if(!eX.some(r=>e.startsWith(r))){let t=`Script source not authorized per PCI DSS 6.4.3: ${e}`;return r.analytics?.scriptUnauthorizedEvent({scriptSource:e,errorMessage:t,severity:"ERROR"}),console.error(`[Primer SDK Security] ${t}`),Promise.reject(Error(t))}return ez("script","src",e)&&window.__Primer?(r.analytics?.sdkFunctionEvent({name:r.name??e,params:["Script already loaded"]}),Promise.resolve()):eQ("script",e,"src",{...r.attributes,async:"",crossorigin:"anonymous"},"Can't load Primer SDK",r)}("https://sdk.primer.io/web/v2.56.0/PrimerCoreSDK.min.js",{analytics:r,name:"loadPrimerScript"}),function(e,r={}){return Array.from(document.styleSheets).some(r=>r.href===e)?(r.analytics?.sdkFunctionEvent({name:r.name??e,params:["Stylesheet already loaded"]}),Promise.resolve()):eQ("link",e,"href",{...r.attributes,rel:"stylesheet"},"Can't load Primer SDK's Stylesheet",r)}("https://sdk.primer.io/web/v2.56.0/Checkout.css",{analytics:r,name:"loadPrimerCss"})]).then(()=>{let e=window.__Primer;return delete window.__Primer,e}).catch(r=>{throw e=void 0,r}))}let eJ=async()=>{let e=P();try{let r=$(e);try{eK(e,r),r.sdkFunctionEvent({name:"preloadPrimer"}),r.timerStart({id:p.preloadPrimer}),await eZ(r),r.timerEnd({id:p.preloadPrimer})}catch(A){let t=L.from(A);throw t.isReported||(eG({checkoutSessionId:e,analytics:r,error:t,reporter:"preloadPrimer level 1"}),t.markAsReported()),t}}catch(t){let r=L.from(t);throw r.isReported||(eF(e,r,"preloadPrimer level 0"),r.markAsReported()),r}},eq=e2("createHeadless"),e0=e2("showUniversalCheckout"),e1=e2("showVaultManager");function e2(e){return async(...[r,t,...A])=>{var o;(o=t?.apiVersion)||console.warn(`[Primer SDK] No API version was explicitly set. Defaulting to '${u}'.`),S=o??u;let E=P();try{let o=$(E);try{eK(E,o),o.sdkFunctionEvent({name:e,params:[r,t,...A]}),o.timerStart({id:p[e]});let[n,_]=await Promise.all([ev(r,E,t?.clientSessionCachingEnabled?{key:r,usePrimerSessionCacheTtlHeader:!0}:void 0),eZ(o)]);return _[e](n,E,r,t,...A)}catch(r){let e=L.from(r);throw e.isReported||(eG({checkoutSessionId:E,analytics:o,error:e,reporter:"lazyLoad level 1"}),e.markAsReported()),e}}catch(r){let e=L.from(r);throw e.isReported||(eF(E,e,"lazyLoad level 0"),e.markAsReported()),e}}}(A={}).LOADING="Loading",A.NO_PAYMENT_METHOD="NoPaymentMethod",A.THREE_DS="UniversalCheckout/3ds",A.CHOOSE_PAYMENT_METHOD="UniversalCheckout/Home",A.MANAGE_PAYMENT_METHODS="VaultManager/Home",A.DIRECT_DEBIT_FORM="DirectDebit/Form",A.DIRECT_DEBIT_MANDATE="DirectDebit/Mandate",A.CREDIT_CARD_FORM="CreditCard/Form",A.SUCCESS_PAYMENT_METHOD="UniversalCheckout/Success/PaymentMethod",A.SUCCESS_CHECK="UniversalCheckout/Success/Check",(o={}).ROOT="primer-checkout",o.ROOT_CONTENT="primer-checkout-content",o.SUBMIT_BUTTON="primer-checkout-submit-button",o.THREE_DS_MODAL="primer-checkout-3ds-modal",o.VAULT="primer-checkout-vault",o.VAULT_INLINE="primer-checkout-vault-inline",o.NAVIGATE_PAYMENT_METHODS="primer-checkout-navigate-to-payment-methods",o.DIVIDER="primer-checkout-payment-method-divider",o.APM_BUTTONS="primer-checkout-apm-button-container",o.CARDHOLDER_NAME="primer-checkout-cardholder-name",o.CARDHOLDER_NAME_INPUT="primer-checkout-card-cardholder-name-input",o.ACTIONS="primer-checkout-actions",o.ACTIONS_MENU="primer-checkout-actions-menu",o.SAVE_PAYMENT_METHOD_CHECKBOX="primer-checkout-save-payment-method-input",o.SAVE_PAYMENT_METHOD_FIELD="primer-checkout-save-payment-method-field",o.SAVED_PAYMENT_METHODS_EMPTY="primer-checkout-saved-payment-methods-empty-text",o.CARD_FORM="primer-checkout-card-form",o.DD_SWITCH="primer-checkout-switch-dd-inputs",o.DD_IBAN_FIELD="primer-checkout-dd-iban-field",o.DD_LOCAL_FIELD="primer-checkout-dd-local-fields",o.DD_CUSTOMER_NAME_INPUT="primer-checkout-dd-customer-name-input",o.DD_CUSTOMER_EMAIL_INPUT="primer-checkout-dd-customer-email-input",o.DD_CUSTOMER_ADDRESS_LINE1="primer-checkout-dd-customer-address-input",o.DD_CUSTOMER_ADDRESS_LINE2="primer-checkout-dd-customer-address-line2-input",o.DD_CUSTOMER_ADDRESS_CITY="primer-checkout-dd-customer-city-input",o.DD_CUSTOMER_ADDRESS_POSTAL_CODE="primer-checkout-dd-customer-postal-code-input",o.DD_IBAN_INPUT="primer-checkout-dd-iban-input",o.DD_ACCOUNT_NUMBER_INPUT="primer-checkout-dd-account-number-input",o.DD_BANK_CODE_INPUT="primer-checkout-dd-bank-code-input",o.DD_BRANCH_CODE_INPUT="primer-checkout-dd-branch-code-input",o.DD_MANDATE_SMALL_PRINT="primer-checkout-small-print",o.ERROR_MESSAGE="primer-checkout-error-message",(E={}).TOKEN="PrimerCheckout__token",E.HIDDEN="PrimerCheckout--hidden",E.FOCUSED="PrimerCheckout--focused",E.SELECTED="PrimerCheckout--selected",E.LOADING="PrimerCheckout--loading",E.ERROR="PrimerCheckout--error",E.CARD_TYPE="PrimerCheckout__cardType",E.SAVED_PAYMENT_METHOD="PrimerCheckout__savedPaymentMethod",E.SAVED_PAYMENT_METHOD_CONTAINER="PrimerCheckout__savedPaymentMethodContainer",E.APM_BUTTON="PrimerCheckout__apmButton",E.EDIT_BUTTON="PrimerCheckout__editButton",E.MENU="PrimerCheckout__dropDownMenu",E.MENU_ITEM="PrimerCheckout__dropDownMenuItem",E.PAYMENT_METHOD_MENU_ITEM="PrimerCheckout__paymentMethodDropDownMenuItem",E.DELETE_PAYMENT_METHOD_BUTTON="PrimerCheckout__paymentMethodDropDownMenuItem__deleteButton",E.ENTER="PrimerCheckout--enter",E.ENTERING="PrimerCheckout--entering",E.ENTERED="PrimerCheckout--entered",E.EXIT="PrimerCheckout--exit",E.EXITING="PrimerCheckout--exiting",E.EXITED="PrimerCheckout--exited";var e6=((n={}).CHECKOUT="CHECKOUT",n.HEADLESS_CHECKOUT="HEADLESS_CHECKOUT",n.MANAGE_PAYMENT_METHODS="MANAGE_PAYMENT_METHODS",n),e5=((_={}).DEFAULT="DEFAULT",_.PREFER_VAULT="PREFER_VAULT",_);(i={}).TOKENIZE_STARTED="tokenize-started",i.TOKENIZE_ERROR="tokenize-error",i.TOKENIZE_SUCCESS="tokenize-success",i.TOKENIZE_DID_NOT_START="tokenize-did-not-start";var e3=((a={}).SUCCESS="AUTH_SUCCESS",a.FAILED="AUTH_FAILED",a.SKIPPED="SKIPPED",a.CHALLENGE="CHALLENGE",a);let e4={WORLDPAY_IDEAL:"WORLDPAY_IDEAL",AUTOMATED_CLEARING_HOUSE:"AUTOMATED_CLEARING_HOUSE",ADYEN_KLARNA:"ADYEN_KLARNA",ADYEN_BANCONTACT_CARD:"ADYEN_BANCONTACT_CARD",PAY_NL_KAARTDIRECT:"PAY_NL_KAARTDIRECT",ADYEN_EPS:"ADYEN_EPS",ADYEN_BANCONTACT_PAYCONIQ:"ADYEN_BANCONTACT_PAYCONIQ",OMISE_PROMPTPAY:"OMISE_PROMPTPAY",OMISE_TRUEMONEY:"OMISE_TRUEMONEY",ADYEN_MULTIBANCO:"ADYEN_MULTIBANCO",PACYPAY_WECHAT:"PACYPAY_WECHAT",PACYPAY_ALIPAY:"PACYPAY_ALIPAY",ADYEN_MBWAY:"ADYEN_MBWAY",XENDIT_DANA:"XENDIT_DANA",XENDIT_SHOPEEPAY:"XENDIT_SHOPEEPAY",ADYEN_PAYSHOP:"ADYEN_PAYSHOP",ADYEN_PAYTRAIL:"ADYEN_PAYTRAIL",CLEARPAY:"CLEARPAY",RAPYD_FAST:"RAPYD_FAST",RAPYD_PROMPTPAY:"RAPYD_PROMPTPAY",RAPYD_GCASH:"RAPYD_GCASH",RAPYD_POLI:"RAPYD_POLI",RAPYD_GRABPAY:"RAPYD_GRABPAY",PRIMER_PAYPAL:"PRIMER_PAYPAL",TWOC2P:"TWOC2P",NETS:"NETS",STRIPE_ACH:"STRIPE_ACH",STRIPE_GIROPAY:"STRIPE_GIROPAY",MOLLIE_GIROPAY:"MOLLIE_GIROPAY",MOLLIE_EPS:"MOLLIE_EPS",PAY_NL_EPS:"PAY_NL_EPS",PAY_NL_P24:"PAY_NL_P24",MOLLIE_P24:"MOLLIE_P24",MOLLIE_SOFORT:"MOLLIE_SOFORT",COINBASE:"COINBASE",OPENNODE:"OPENNODE",MOLLIE_GIFT_CARD:"MOLLIE_GIFTCARD",XFERS_PAYNOW:"XFERS_PAYNOW",CARD:"PAYMENT_CARD",APPLE_PAY:"APPLE_PAY",GOOGLE_PAY:"GOOGLE_PAY",PAYPAL:"PAYPAL_ORDER",PAYPAL_VAULTED:"PAYPAL_BILLING_AGREEMENT",GO_CARDLESS:"GOCARDLESS",PAY_NL_IDEAL:"PAY_NL_IDEAL",PAY_NL_SOFORT_BANKING:"PAY_NL_SOFORT_BANKING",PAY_NL_BANCONTACT:"PAY_NL_BANCONTACT",PAY_NL_PAYPAL:"PAY_NL_PAYPAL",PAY_NL_CREDIT_TRANSFER:"PAY_NL_CREDIT_TRANSFER",PAY_NL_DIRECT_DEBIT:"PAY_NL_DIRECT_DEBIT",PAY_NL_GIROPAY:"PAY_NL_GIROPAY",PAY_NL_PAYCONIQ:"PAY_NL_PAYCONIQ",PAY_NL_RIVERTY:"PAY_NL_RIVERTY",HOOLAH:"HOOLAH",ADYEN_BLIK:"ADYEN_BLIK",ADYEN_VIPPS:"ADYEN_VIPPS",ADYEN_GIROPAY:"ADYEN_GIROPAY",ADYEN_SOFORT:"ADYEN_SOFORT",ADYEN_IDEAL:"ADYEN_IDEAL",ADYEN_TRUSTLY:"ADYEN_TRUSTLY",ADYEN_ALIPAY:"ADYEN_ALIPAY",ADYEN_TWINT:"ADYEN_TWINT",ADYEN_MOBILEPAY:"ADYEN_MOBILEPAY",MOLLIE_BANCONTACT:"MOLLIE_BANCONTACT",MOLLIE_IDEAL:"MOLLIE_IDEAL",BUCKAROO_GIROPAY:"BUCKAROO_GIROPAY",BUCKAROO_EPS:"BUCKAROO_EPS",BUCKAROO_SOFORT:"BUCKAROO_SOFORT",BUCKAROO_BANCONTACT:"BUCKAROO_BANCONTACT",BUCKAROO_IDEAL:"BUCKAROO_IDEAL",ATOME:"ATOME",KLARNA_CUSTOMER_TOKEN:"KLARNA_CUSTOMER_TOKEN",DLOCAL_PIX:"DLOCAL_PIX",ALMA:"ALMA"},e8={WORLDPAY_IDEAL:"WORLDPAY_IDEAL",STRIPE_ACH:"STRIPE_ACH",STRIPE_IDEAL:"STRIPE_IDEAL",ADYEN_KLARNA:"ADYEN_KLARNA",ADYEN_BANCONTACT_CARD:"ADYEN_BANCONTACT_CARD",PAY_NL_KAARTDIRECT:"PAY_NL_KAARTDIRECT",ADYEN_EPS:"ADYEN_EPS",ADYEN_BANCONTACT_PAYCONIQ:"ADYEN_BANCONTACT_PAYCONIQ",OMISE_PROMPTPAY:"OMISE_PROMPTPAY",OMISE_TRUEMONEY:"OMISE_TRUEMONEY",ADYEN_MULTIBANCO:"ADYEN_MULTIBANCO",PACYPAY_WECHAT:"PACYPAY_WECHAT",PACYPAY_ALIPAY:"PACYPAY_ALIPAY",ADYEN_MBWAY:"ADYEN_MBWAY",XENDIT_DANA:"XENDIT_DANA",XENDIT_SHOPEEPAY:"XENDIT_SHOPEEPAY",ADYEN_PAYSHOP:"ADYEN_PAYSHOP",ADYEN_PAYTRAIL:"ADYEN_PAYTRAIL",CLEARPAY:"CLEARPAY",RAPYD_FAST:"RAPYD_FAST",RAPYD_PROMPTPAY:"RAPYD_PROMPTPAY",RAPYD_GCASH:"RAPYD_GCASH",RAPYD_POLI:"RAPYD_POLI",RAPYD_GRABPAY:"RAPYD_GRABPAY",PRIMER_PAYPAL:"PRIMER_PAYPAL",TWOC2P:"TWOC2P",NETS:"NETS",STRIPE_GIROPAY:"STRIPE_GIROPAY",MOLLIE_GIROPAY:"MOLLIE_GIROPAY",MOLLIE_EPS:"MOLLIE_EPS",PAY_NL_EPS:"PAY_NL_EPS",PAY_NL_P24:"PAY_NL_P24",MOLLIE_P24:"MOLLIE_P24",MOLLIE_SOFORT:"MOLLIE_SOFORT",COINBASE:"COINBASE",OPENNODE:"OPENNODE",MOLLIE_GIFT_CARD:"MOLLIE_GIFTCARD",XFERS_PAYNOW:"XFERS_PAYNOW",PAYMENT_CARD:"PAYMENT_CARD",APPLE_PAY:"APPLE_PAY",GOOGLE_PAY:"GOOGLE_PAY",PAYPAL:"PAYPAL",GO_CARDLESS:"GOCARDLESS",KLARNA:"KLARNA",PAY_NL_IDEAL:"PAY_NL_IDEAL",PAY_NL_SOFORT_BANKING:"PAY_NL_SOFORT_BANKING",PAY_NL_BANCONTACT:"PAY_NL_BANCONTACT",PAY_NL_PAYPAL:"PAY_NL_PAYPAL",PAY_NL_CREDIT_TRANSFER:"PAY_NL_CREDIT_TRANSFER",PAY_NL_DIRECT_DEBIT:"PAY_NL_DIRECT_DEBIT",PAY_NL_GIROPAY:"PAY_NL_GIROPAY",PAY_NL_PAYCONIQ:"PAY_NL_PAYCONIQ",PAY_NL_RIVERTY:"PAY_NL_RIVERTY",HOOLAH:"HOOLAH",ADYEN_BLIK:"ADYEN_BLIK",ADYEN_MOBILEPAY:"ADYEN_MOBILEPAY",ADYEN_VIPPS:"ADYEN_VIPPS",ADYEN_GIROPAY:"ADYEN_GIROPAY",ADYEN_SOFORT:"ADYEN_SOFORT",ADYEN_IDEAL:"ADYEN_IDEAL",ADYEN_TRUSTLY:"ADYEN_TRUSTLY",ADYEN_ALIPAY:"ADYEN_ALIPAY",ADYEN_TWINT:"ADYEN_TWINT",ADYEN_BANK_TRANSFER:"ADYEN_BANK_TRANSFER",MOLLIE_BANCONTACT:"MOLLIE_BANCONTACT",MOLLIE_IDEAL:"MOLLIE_IDEAL",BUCKAROO_GIROPAY:"BUCKAROO_GIROPAY",BUCKAROO_EPS:"BUCKAROO_EPS",BUCKAROO_SOFORT:"BUCKAROO_SOFORT",BUCKAROO_BANCONTACT:"BUCKAROO_BANCONTACT",BUCKAROO_IDEAL:"BUCKAROO_IDEAL",ATOME:"ATOME",DLOCAL_PIX:"DLOCAL_PIX",ALMA:"ALMA"},e9={SINGLE_USE:"SINGLE_USE",MULTI_USE:"MULTI_USE"};e4.PAYPAL_VAULTED,e8.PAYPAL,e4.KLARNA_CUSTOMER_TOKEN,e8.KLARNA,e4.AUTOMATED_CLEARING_HOUSE,e8.STRIPE_ACH,e4.CARD,e8.PAYMENT_CARD;var e7=((s={}).INITIALIZATION_ERROR="INITIALIZATION_ERROR",s.NO_PAYMENT_METHODS="NO_PAYMENT_METHODS",s.PRIMER_TEARDOWN="PRIMER_TEARDOWN",s.PRIMER_SERVER_ERROR="PRIMER_SERVER_ERROR",s.THREE_DS_AUTH_FAILED="THREE_DS_AUTH_FAILED",s.TOKENIZATION_ERROR="TOKENIZATION_ERROR",s.DUPLICATE_PAYMENT_METHOD_ERROR="DUPLICATE_PAYMENT_METHOD_ERROR",s.CARD_NUMBER_ERROR="CARD_NUMBER_ERROR",s.PAYMENT_METHOD_NOT_SETUP="PAYMENT_METHOD_NOT_SETUP",s.PAYMENT_METHOD_NOT_PROVIDED="PAYMENT_METHOD_NOT_PROVIDED",s.PAYMENT_METHOD_NOT_COMPATIBLE="PAYMENT_METHOD_NOT_COMPATIBLE",s.RESUME_ERROR="RESUME_ERROR",s.VALIDATION_ERROR="VALIDATION_ERROR",s.PAYMENT_FAILED="PAYMENT_FAILED",s.PAYMENT_CREATION_ABORTED="PAYMENT_CREATION_ABORTED",s.PAYMENT_CREATION_DISABLED="PAYMENT_CREATION_DISABLED",s.CLIENT_SESSION_UPDATE_ERROR="CLIENT_SESSION_UPDATE_ERROR",s.INVALID_ARGUMENT="INVALID_ARGUMENT",s.VAULT_FETCH="VAULT_FETCH",s.VAULT_DELETE="VAULT_DELETE",s.HEADLESS_VAULT_MANAGER_VALIDATION="HEADLESS_VAULT_MANAGER_VALIDATION",s.CARD_FORM_VALIDATION_UNEXPECTED_FIELD="CARD_FORM_VALIDATION_UNEXPECTED_FIELD",s.MISSING_FIRST_NAME_OR_LAST_NAME="MISSING_FIRST_NAME_OR_LAST_NAME",s.MISSING_EMAIL_ADDRESS="MISSING_EMAIL_ADDRESS",s.INVALID_FLOW="INVALID_FLOW",s);function re(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}class rr extends L{static fromErrorCode(e,r){return new rr(e,r)}constructor(e,r){super(r.message),re(this,"code",void 0),re(this,"diagnosticsId",void 0),re(this,"data",void 0),re(this,"isFromDeveloper",void 0),this.code=e,this.diagnosticsId=r.diagnosticsId??null,this.data=r.data,this.isFromDeveloper=r.isFromDeveloper??!1,this.name="PrimerClientError",Error.captureStackTrace&&Error.captureStackTrace(this,rr)}}var rt=((c={}).PAYMENT_METHOD="PAYMENT_METHOD",c.CHECK="CHECK",c);let rA=e=>{let r=e?.mandateData;return!!r&&"fullMandateText"in r};var ro=((T={}).CHANGE="change",T.ERROR="error",T.FOCUS="focus",T.BLUR="blur",T.CLICK="click",T.CLOSE="close",T.CONFIRMED_KLARNA_CATEGORY="CONFIRMED_KLARNA_CATEGORY",T.CONFIRMED_KLARNA_CATEGORY_ERROR="CONFIRMED_KLARNA_CATEGORY_ERROR",T.KLARNA_SESSION_UPDATE="KLARNA_SESSION_UPDATE",T.KLARNA_SESSION_REFRESH_ERROR="KLARNA_SESSION_REFRESH_ERROR",T),rE=((N={}).CARD="CARD",N.NATIVE="NATIVE",N.REDIRECT="REDIRECT",N.KLARNA="KLARNA",N.ACH="ACH",N);let rn={SDK_VERSION:"v2.56.0",createHeadless:eq,showUniversalCheckout:e0,showVaultManager:e1,preloadPrimer:eJ};return O})());
1
+ !function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports.Primer=r():e.Primer=r()}(this,()=>(()=>{"use strict";let e;var r,t,A,o,E,n,_,i,a,s,c,T,N,R={};R.d=(e,r)=>{for(var t in r)R.o(r,t)&&!R.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},R.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),R.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var O={};R.r(O),R.d(O,{SuccessScreenType:()=>rt,PaymentFlow:()=>e5,PrimerClientError:()=>rr,ThreeDSecureStatus:()=>e3,TokenType:()=>e9,isStripeOptionsDropInWithFullMandateText:()=>rA,PaymentInstrumentType:()=>e4,ErrorCode:()=>e7,EventTypes:()=>ro,CheckoutUXFlow:()=>e6,HeadlessManagerType:()=>rE,PaymentMethodType:()=>e8,Primer:()=>rn});let P=()=>D.randomUUID?.()||d(),d=()=>"10000000-1000-4000-8000-100000000000".replace(/[018]/g,e=>(e^I()>>e/4).toString(16)),I=()=>(D.getRandomValues?.(new Uint8Array(1))[0]??16*Math.random())&15,D="undefined"!=typeof crypto?crypto:{},l={LEGACY:"legacy",V_2_4:"2.4"},u=l.V_2_4,S=u;class L extends Error{static from(e,r=!1){if(e instanceof L)return e;let t=new L(e instanceof Error?e.message:String(e),r);return e instanceof Error&&e.stack&&(t.stack=e.stack,Object.assign(t,e)),t}markAsReported(){this.isReported=!0}constructor(e,r=!1){var t,A;super(e),A=void 0,(t="isReported")in this?Object.defineProperty(this,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):this[t]=A,this.isReported=r,this.name=this.constructor.name,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}}let C="https://analytics.production.data.primer.io/sdk-logs";var m=((h={}).REQUEST_START="REQUEST_START",h.REQUEST_END="REQUEST_END",h),Y=((M={}).START="START",M.END="END",M);let p={createHeadless:"HEADLESS_LOADING",showUniversalCheckout:"DROP_IN_LOADING",showVaultManager:"VAULT_MANAGER_LOADING",preloadPrimer:"PRELOAD_PRIMER_LOADING"};var h,M,f,y,U=((f={}).NETWORK_CALL_EVENT="NETWORK_CALL_EVENT",f.CRASH_EVENT="CRASH_EVENT",f.TIMER_EVENT="TIMER_EVENT",f.MESSAGE_EVENT="MESSAGE_EVENT",f.SCRIPT_UNAUTHORIZED_EVENT="SCRIPT_UNAUTHORIZED_EVENT",f.V1_EVENT="V1_EVENT",f.SDK_FUNCTION_EVENT="SDK_FUNCTION_EVENT",f),k=((y=k||{}).CHARGING="CHARGING",y.NOT_CHARGING="NOT_CHARGING",y);async function w(){if("undefined"==typeof navigator||"undefined"==typeof performance)return;let e=await navigator.getBattery?.();return{memoryFootprint:performance.memory?.usedJSHeapSize,screen:{height:screen?.height,width:screen?.width},userAgent:navigator.userAgent,locale:navigator.language,batteryLevel:e?.level,batteryStatus:e?.charging?"CHARGING":"NOT_CHARGING"}}let g=({get(e,r){let t;try{switch(e){case"PRIMER_SDK_VERSION":t="v2.56.2";break;case"PRIMER_ASSETS_URL":t=process.env.PRIMER_ASSETS_URL;break;case"PRIMER_BUILD_INTEGRATION_BUILDER":t=process.env.PRIMER_BUILD_INTEGRATION_BUILDER}}catch{}return t||r}}).get("PRIMER_SDK_VERSION");async function B(e,r,t){return{...t,createdAt:Date.now(),device:await w(),eventType:e,properties:r,sdkVersion:g,sdkType:"WEB"}}let v=Symbol.for("__primerAnalytics__"),H={providers:new Map,timers:new Map,eventsQueue:new Map};if("undefined"!=typeof window){let e=window[v];e?H=e:window[v]=H}let G=()=>H.providers,F=()=>H.timers,b=()=>H.eventsQueue,K=new Map;function V(e,r=!1,t=1){K.has(e)&&(clearTimeout(K.get(e)),K.delete(e));let A=()=>{let A=b().get(e);if(A?.length){let o=!0,E=[],n=0,_=0;for(;_<A.length;){let r=A[_],t=new Blob([JSON.stringify(r)]).size;if(t>64e3){console.error("Event size exceeds maximum payload size and will be skipped:",r),_++;continue}if(n+t>64e3&&E.length>0){try{o=navigator.sendBeacon(e,JSON.stringify(E))}catch(e){o=!1,console.error("Unable to send events",e)}if(!o)break;E=[],n=0}E.push(r),n+=t,_++}if(E.length>0&&o)try{o=navigator.sendBeacon(e,JSON.stringify(E))}catch(e){o=!1,console.error("Unable to send events",e)}o?b().delete(e):t<5?setTimeout(()=>V(e,r,t+1),500*Math.pow(2,t)):console.error("Max retry attempts reached. Events will not be sent.")}};if(r)return void A();let o=setTimeout(A,500);K.set(e,o)}let x=!1;function W({url:e=C,...r}){"undefined"==typeof document||x||(document.addEventListener("visibilitychange",()=>{if("hidden"===document.visibilityState){let e=$(r.checkoutSessionId);e.messageEvent({messageType:"VISIBILITY_CHANGE",message:"Checkout visibility is hidden (tab or window change, redirect or being closed)."}),V(e.url,!0)}}),x=!0);let t=t=>async A=>{var o;let E;"undefined"!=typeof navigator&&(o=function e(r,t,A=new WeakSet,o=0,E=10){if(o>E||A.has(r))return r;A.add(r);let n=r=>"object"==typeof r&&null!==r?e(r,t,A,o+1,E):t(r);return Array.isArray(r)?r.map(n):Object.fromEntries(Object.entries(r).map(([e,r])=>[e,n(r)]))}(await B(t,A,r),e=>{var r;return"string"==typeof(r="function"==typeof e?e.name||"function":e)&&r.length>5120?`${r.slice(0,5120)}...`:r}),b().has(e)||b().set(e,[]),E=b().get(e),E?.push(o),V(e))},A={crashEvent:t(U.CRASH_EVENT),messageEvent:t(U.MESSAGE_EVENT),networkCallEvent:t(U.NETWORK_CALL_EVENT),scriptUnauthorizedEvent:t(U.SCRIPT_UNAUTHORIZED_EVENT),sdkFunctionEvent:t(U.SDK_FUNCTION_EVENT),timerStart:({id:e,...A})=>{let o=`${r.checkoutSessionId}|${e}`,E=performance?.now?performance.now():Date.now();return F().set(o,{start:E}),t(U.TIMER_EVENT)({...A,id:e,timerType:Y.START})},timerEnd:({id:e,...A})=>{let o=`${r.checkoutSessionId}|${e}`,{start:E}=F().get(o)??{};F().delete(o);let n=performance?.now?performance.now():Date.now();return t(U.TIMER_EVENT)({...A,id:e,timerType:Y.END,duration:E?n-E:void 0})},v1Event:t(U.V1_EVENT),url:e};return G().set(r.checkoutSessionId,A),$(r.checkoutSessionId)}function $(e){return new Proxy({},{get:(r,t)=>(G().get(e)??W({checkoutSessionId:e}))[t]})}let j=(e,r,t,A)=>({callType:t?m.REQUEST_END:m.REQUEST_START,id:e,errorBody:t?.error&&JSON.stringify(t.error,Object.getOwnPropertyNames(t.error)),method:r.method,responseCode:t?.status,url:r.url,duration:A});function X(e){return e?new Promise(r=>{setTimeout(r,e)}):Promise.resolve()}async function z(e,r,t,A=X){let o=0,E={enabled:r?.enabled??!1,maxRetries:8,initialBackoff:100,retryNetworkErrors:!0,retry500Errors:!1,maxJitter:100};if(!E.enabled)return e();for(;;)try{let r=await e();if(o){let e=`Request succeeded after ${o} retries.`;"object"==typeof r&&r&&"status"in r&&(e+=` Status code: ${r.status}`),t?.({messageType:"RETRY_SUCCESS",message:e,severity:"INFO"})}return r}catch(a){let e=o>=E.maxRetries,r=a.isNetworkError&&!E.retryNetworkErrors,n=a.status&&a.status>=500&&!E.retry500Errors;if(e||r||n){let A=`Failed after ${o} retries. `;throw e?A+=`Reached maximum retries (${E.maxRetries}).`:r?A+="Network error encountered and retryNetworkErrors is disabled.":n&&(A+="HTTP 500 error encountered and retry500Errors is disabled."),A+=` Last error: ${a.message}`,t?.({messageType:"RETRY_FAILED",message:A,severity:"ERROR",errorBody:JSON.stringify(a,Object.getOwnPropertyNames(a))}),Error(A,{cause:a})}o++;let _=Math.min(E.initialBackoff*Math.pow(2,o-1)+Math.random()*E.maxJitter,Number.MAX_SAFE_INTEGER),i="Unknown error";a.isNetworkError?i="Network error":a.status&&(i=`HTTP ${a.status} error`),t?.({messageType:"RETRY",message:`Retry attempt ${o}/${E.maxRetries} due to: ${i}. Error details: ${a.message}. Waiting for ${_.toFixed(2)}ms before next attempt.`,severity:"WARN",errorBody:JSON.stringify(a,Object.getOwnPropertyNames(a))}),await A(_)}}let Q={cache:new Map};"undefined"!=typeof window&&((r=window)[t="__primerCache__"]??(r[t]=Q),Q=window.__primerCache__);let Z=()=>Q.cache;function J(){if(Z().size<=30)return;let e=Date.now();for(let[r,t]of Z())t.exp<e&&Z().delete(r);if(Z().size>50)for(let[e]of Z()){if(Z().size<=50)break;Z().delete(e)}}let q=(e,r,t)=>ee(e,"get",r,t),ee=async(e,r,t,A,o)=>{let E=P(),n=performance?.now(),_=$(e),i={method:r,url:t,body:o};_.networkCallEvent(j(E,i));try{let a=await fetch(t,{body:o,method:r,headers:{"content-type":"application/json","x-request-id":E,...A}});if(!a.ok){let e=Error(`HTTP error! status: ${a.status}`);throw e.status=a.status,e}let s=await a.json();if(t.includes("client-sdk/configuration")){let{primerAccountId:r,clientSession:{clientSessionId:t,customer:A}}=s;_=W({checkoutSessionId:e,clientSessionId:t,customerId:A?.customerId,primerAccountId:r,url:_.url})}let c=performance?.now();return _.networkCallEvent(j(E,i,{data:s},c-n)),{data:s,headers:a.headers,status:a.status,source:"NETWORK"}}catch(r){let e=performance?.now();throw Object.assign(r,{isNetworkError:r instanceof TypeError}),_.networkCallEvent(j(E,i,{error:r},e-n)),r}},er=(e,r)=>new Promise((t,A)=>{let o=setTimeout(()=>{let e=Error("Request timed out");e.isNetworkError=!0,A(e)},r);e.then(t).catch(A).finally(()=>clearTimeout(o))}),et=(e,r)=>{let{headers:t,retryConfig:A,cacheConfig:o,timeout:E=15e3,checkoutSessionId:n}=r,_=$(n);return(function(e){if(!e)return e=>e();let{key:r,refresh:t=!1,usePrimerSessionCacheTtlHeader:A=!1,ttl:o=36e5}=e;return async e=>{let E=Date.now(),n=Z().get(r);if(!t&&n&&n.exp>E)return n.promise;n&&Z().delete(r);let _=e().then(e=>{let t=o;return A&&(t=1e3*(Number(e.headers.get("x-primer-session-cache-ttl"))||0)),function({key:e,ttl:r=36e5},t){r?Z().set(e,{promise:Promise.resolve({...t,source:"CACHE"}),exp:Date.now()+r}):Z().delete(e)}({key:r,ttl:t},e),J(),e},e=>{throw Z().delete(r),e});return Z().set(r,{promise:_,exp:E+o}),J(),_}})(o)(()=>z(()=>er(q(n,e,t),E),A,r=>_.messageEvent({...r,url:e})))},eA="function"==typeof Buffer,eo="function"==typeof TextDecoder?new TextDecoder:void 0,eE="function"==typeof TextEncoder?new TextEncoder:void 0,en=Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="),e_=(e=>{let r={};return e.forEach((e,t)=>r[e]=t),r})(en),ei=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,ea=String.fromCharCode.bind(String),es="function"==typeof Uint8Array.from?Uint8Array.from.bind(Uint8Array):e=>new Uint8Array(Array.prototype.slice.call(e,0)),ec=e=>e.replace(/=/g,"").replace(/[+\/]/g,e=>"+"==e?"-":"_"),eT=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),eN="function"==typeof btoa?e=>btoa(e):eA?e=>Buffer.from(e,"binary").toString("base64"):e=>{let r,t,A,o,E="",n=e.length%3;for(let n=0;n<e.length;){if((t=e.charCodeAt(n++))>255||(A=e.charCodeAt(n++))>255||(o=e.charCodeAt(n++))>255)throw TypeError("invalid character found");E+=en[(r=t<<16|A<<8|o)>>18&63]+en[r>>12&63]+en[r>>6&63]+en[63&r]}return n?E.slice(0,n-3)+"===".substring(n):E},eR=eA?e=>Buffer.from(e).toString("base64"):e=>{let r=[];for(let t=0,A=e.length;t<A;t+=4096)r.push(ea.apply(null,e.subarray(t,t+4096)));return eN(r.join(""))},eO=(e,r=!1)=>r?ec(eR(e)):eR(e),eP=e=>{if(e.length<2){var r=e.charCodeAt(0);return r<128?e:r<2048?ea(192|r>>>6)+ea(128|63&r):ea(224|r>>>12&15)+ea(128|r>>>6&63)+ea(128|63&r)}var r=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return ea(240|r>>>18&7)+ea(128|r>>>12&63)+ea(128|r>>>6&63)+ea(128|63&r)},ed=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,eI=e=>e.replace(ed,eP),eD=eA?e=>Buffer.from(e,"utf8").toString("base64"):eE?e=>eR(eE.encode(e)):e=>eN(eI(e)),el=(e,r=!1)=>r?ec(eD(e)):eD(e),eu=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,eS=e=>{switch(e.length){case 4:var r=((7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3))-65536;return ea((r>>>10)+55296)+ea((1023&r)+56320);case 3:return ea((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return ea((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},eL=e=>e.replace(eu,eS),eC="function"==typeof atob?e=>atob(eT(e)):eA?e=>Buffer.from(e,"base64").toString("binary"):e=>{if(e=e.replace(/\s+/g,""),!ei.test(e))throw TypeError("malformed base64.");e+="==".slice(2-(3&e.length));let r,t="",A,o;for(let E=0;E<e.length;)r=e_[e.charAt(E++)]<<18|e_[e.charAt(E++)]<<12|(A=e_[e.charAt(E++)])<<6|(o=e_[e.charAt(E++)]),t+=64===A?ea(r>>16&255):64===o?ea(r>>16&255,r>>8&255):ea(r>>16&255,r>>8&255,255&r);return t},em=eA?e=>es(Buffer.from(e,"base64")):e=>es(eC(e).split("").map(e=>e.charCodeAt(0))),eY=e=>em(eh(e)),ep=eA?e=>Buffer.from(e,"base64").toString("utf8"):eo?e=>eo.decode(em(e)):e=>eL(eC(e)),eh=e=>eT(e.replace(/[-_]/g,e=>"-"==e?"+":"/")),eM=e=>ep(eh(e)),ef=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),ey={encode:el,decode:eM},eU={encode:function(e,r={}){let{urlSafe:t=!1}=r;return ey.encode(e,t)},decode:ey.decode},ek="The provided `clientToken`",ew=`${ek} has expired`,eg=`${ek} is malformed`,eB=(e,r,t)=>({"primer-client-token":e,"primer-sdk-client":"WEB","primer-sdk-version":"v2.56.2","primer-sdk-checkout-session-id":r,...t&&{"x-api-version":t}});async function ev(e,r,t){let{accessToken:A,configurationUrl:o,analyticsUrlV2:E}=function(e){let r=function(e){try{let[r,t]=e.split(".");return JSON.parse(eU.decode(t||r))}catch{throw Error(eg)}}(e),t=1e3*r.exp;if(Date.now()>t)throw Error(`${ew}. Expiration date: ${new Date(t).toISOString()}`);return r}(e),n=W({checkoutSessionId:r,url:E}),_=S,i=_!==l.LEGACY?_:"2.3";n.timerStart({id:"CONFIGURATION_LOADING"});try{let{data:e,source:E}=await et(`${o}/?withDisplayMetadata=true`,{checkoutSessionId:r,headers:eB(A,r,i),retryConfig:{enabled:!0},cacheConfig:t});return n.timerEnd({id:"CONFIGURATION_LOADING",context:{source:E}}),e}catch(r){let e=r instanceof Error?r.message:"Unknown error occurred";throw Error(`Failed to initialize client: ${e}`)}}function eH(e){return e instanceof Error?{errorBody:e.message,stacktrace:e.stack}:"object"==typeof e&&null!==e&&"message"in e?{errorBody:String(e.message),stacktrace:"stack"in e?String(e.stack):void 0}:{errorBody:String(e||"Unknown error")}}function eG({checkoutSessionId:e,analytics:r,error:t,reporter:A}){r?.crashEvent?r.crashEvent({...eH(t),reporter:A}):e&&eF(e,t,A)}async function eF(e,r,t){let A=await B(U.CRASH_EVENT,{...eH(r),reporter:t},{checkoutSessionId:e});try{await fetch(C,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(A)})}catch(e){console.error("Failed to post crash event",e)}}let eb=Symbol.for("initGlobalErrorMonitoringLoaded"),eK=(e,r)=>{"undefined"!=typeof window&&window[eb]||(window[eb]=!0,window.addEventListener("error",t=>{!eV(t)&&ex(t)&&eG({checkoutSessionId:e,analytics:r,error:t.error,reporter:"window.onerror"})}),window.addEventListener("unhandledrejection",t=>{let A=t.reason||Error("Unhandled promise rejection");eW(A)&&eG({checkoutSessionId:e,analytics:r,error:A,reporter:"unhandledrejection"})}))},eV=e=>"Script error."===e.message||!e.filename||0===e.lineno,ex=e=>{let r=e.filename;return!!(r&&e$(r))&&!!new L(e.error).isReported},eW=e=>{if(e&&"object"==typeof e&&"stack"in e&&"string"==typeof e.stack){let r=L.from(e);return!r.isReported&&(!!("fileName"in e&&"string"==typeof e.fileName&&e$(e.fileName))||ej(r.stack).some(e$))}return!1},e$=e=>{try{return new URL(e,window.location.origin).hostname.endsWith(".primer.io")}catch{return!1}},ej=e=>{if(!e)return[];let r=e.split("\n"),t=[],A=/^\s*at\s+(?:.*?\s+)?\(?(.+?):\d+:\d+\)?$/;for(let e of r){let r=e.match(A);if(r&&r[1])t.push(r[1]);else{let r=/@(.*?):\d+:\d+$/,A=e.match(r);A&&A[1]&&t.push(A[1])}}return t},eX=["https://sdk.primer.io/web/","https://sdk.dev.primer.io/web/","https://sdk.sandbox.primer.io/web/","https://sdk.production.primer.io/web/","https://assets.primer.io/","https://x.klarnacdn.net/kp/lib/v","https://www.paypal.com/sdk/js","https://www.paypalobjects.com/","https://js.stripe.com/","https://pay.google.com/gp/p/js/"];function ez(e,r,t){return document.querySelector(`${e}[${r}^="${t}"]`)}async function eQ(e,r,t,A,o,E){let{analytics:n,name:_=r,retryConfig:i}=E;await z(()=>new Promise((E,i)=>{var a;let s,c=ez(e,t,r)||(a={...A,[t]:r},s=document.createElement(e),Object.entries(a).forEach(([e,r])=>s.setAttribute(e,r)),s);c.onload=()=>{n?.sdkFunctionEvent({name:_,params:[`${e.charAt(0).toUpperCase()+e.slice(1)} loaded successfully: ${r}`]}),E()},c.onerror=()=>{c.remove(),i(Error(`${o}: ${r}`))},c.parentNode||document.head.appendChild(c)}),i,e=>n?.messageEvent({...e,url:r}))}async function eZ(r){return e||(e=Promise.all([function(e,r={}){if(!eX.some(r=>e.startsWith(r))){let t=`Script source not authorized per PCI DSS 6.4.3: ${e}`;return r.analytics?.scriptUnauthorizedEvent({scriptSource:e,errorMessage:t,severity:"ERROR"}),console.error(`[Primer SDK Security] ${t}`),Promise.reject(Error(t))}return ez("script","src",e)&&window.__Primer?(r.analytics?.sdkFunctionEvent({name:r.name??e,params:["Script already loaded"]}),Promise.resolve()):eQ("script",e,"src",{...r.attributes,async:"",crossorigin:"anonymous"},"Can't load Primer SDK",r)}("https://sdk.primer.io/web/v2.56.2/PrimerCoreSDK.min.js",{analytics:r,name:"loadPrimerScript"}),function(e,r={}){return Array.from(document.styleSheets).some(r=>r.href===e)?(r.analytics?.sdkFunctionEvent({name:r.name??e,params:["Stylesheet already loaded"]}),Promise.resolve()):eQ("link",e,"href",{...r.attributes,rel:"stylesheet"},"Can't load Primer SDK's Stylesheet",r)}("https://sdk.primer.io/web/v2.56.2/Checkout.css",{analytics:r,name:"loadPrimerCss"})]).then(()=>{let e=window.__Primer;return delete window.__Primer,e}).catch(r=>{throw e=void 0,r}))}let eJ=async()=>{let e=P();try{let r=$(e);try{eK(e,r),r.sdkFunctionEvent({name:"preloadPrimer"}),r.timerStart({id:p.preloadPrimer}),await eZ(r),r.timerEnd({id:p.preloadPrimer})}catch(A){let t=L.from(A);throw t.isReported||(eG({checkoutSessionId:e,analytics:r,error:t,reporter:"preloadPrimer level 1"}),t.markAsReported()),t}}catch(t){let r=L.from(t);throw r.isReported||(eF(e,r,"preloadPrimer level 0"),r.markAsReported()),r}},eq=e2("createHeadless"),e0=e2("showUniversalCheckout"),e1=e2("showVaultManager");function e2(e){return async(...[r,t,...A])=>{var o;(o=t?.apiVersion)||console.warn(`[Primer SDK] No API version was explicitly set. Defaulting to '${u}'.`),S=o??u;let E=P();try{let o=$(E);try{eK(E,o),o.sdkFunctionEvent({name:e,params:[r,t,...A]}),o.timerStart({id:p[e]});let[n,_]=await Promise.all([ev(r,E,t?.clientSessionCachingEnabled?{key:r,usePrimerSessionCacheTtlHeader:!0}:void 0),eZ(o)]);return _[e](n,E,r,t,...A)}catch(r){let e=L.from(r);throw e.isReported||(eG({checkoutSessionId:E,analytics:o,error:e,reporter:"lazyLoad level 1"}),e.markAsReported()),e}}catch(r){let e=L.from(r);throw e.isReported||(eF(E,e,"lazyLoad level 0"),e.markAsReported()),e}}}(A={}).LOADING="Loading",A.NO_PAYMENT_METHOD="NoPaymentMethod",A.THREE_DS="UniversalCheckout/3ds",A.CHOOSE_PAYMENT_METHOD="UniversalCheckout/Home",A.MANAGE_PAYMENT_METHODS="VaultManager/Home",A.DIRECT_DEBIT_FORM="DirectDebit/Form",A.DIRECT_DEBIT_MANDATE="DirectDebit/Mandate",A.CREDIT_CARD_FORM="CreditCard/Form",A.SUCCESS_PAYMENT_METHOD="UniversalCheckout/Success/PaymentMethod",A.SUCCESS_CHECK="UniversalCheckout/Success/Check",(o={}).ROOT="primer-checkout",o.ROOT_CONTENT="primer-checkout-content",o.SUBMIT_BUTTON="primer-checkout-submit-button",o.THREE_DS_MODAL="primer-checkout-3ds-modal",o.VAULT="primer-checkout-vault",o.VAULT_INLINE="primer-checkout-vault-inline",o.NAVIGATE_PAYMENT_METHODS="primer-checkout-navigate-to-payment-methods",o.DIVIDER="primer-checkout-payment-method-divider",o.APM_BUTTONS="primer-checkout-apm-button-container",o.CARDHOLDER_NAME="primer-checkout-cardholder-name",o.CARDHOLDER_NAME_INPUT="primer-checkout-card-cardholder-name-input",o.ACTIONS="primer-checkout-actions",o.ACTIONS_MENU="primer-checkout-actions-menu",o.SAVE_PAYMENT_METHOD_CHECKBOX="primer-checkout-save-payment-method-input",o.SAVE_PAYMENT_METHOD_FIELD="primer-checkout-save-payment-method-field",o.SAVED_PAYMENT_METHODS_EMPTY="primer-checkout-saved-payment-methods-empty-text",o.CARD_FORM="primer-checkout-card-form",o.DD_SWITCH="primer-checkout-switch-dd-inputs",o.DD_IBAN_FIELD="primer-checkout-dd-iban-field",o.DD_LOCAL_FIELD="primer-checkout-dd-local-fields",o.DD_CUSTOMER_NAME_INPUT="primer-checkout-dd-customer-name-input",o.DD_CUSTOMER_EMAIL_INPUT="primer-checkout-dd-customer-email-input",o.DD_CUSTOMER_ADDRESS_LINE1="primer-checkout-dd-customer-address-input",o.DD_CUSTOMER_ADDRESS_LINE2="primer-checkout-dd-customer-address-line2-input",o.DD_CUSTOMER_ADDRESS_CITY="primer-checkout-dd-customer-city-input",o.DD_CUSTOMER_ADDRESS_POSTAL_CODE="primer-checkout-dd-customer-postal-code-input",o.DD_IBAN_INPUT="primer-checkout-dd-iban-input",o.DD_ACCOUNT_NUMBER_INPUT="primer-checkout-dd-account-number-input",o.DD_BANK_CODE_INPUT="primer-checkout-dd-bank-code-input",o.DD_BRANCH_CODE_INPUT="primer-checkout-dd-branch-code-input",o.DD_MANDATE_SMALL_PRINT="primer-checkout-small-print",o.ERROR_MESSAGE="primer-checkout-error-message",(E={}).TOKEN="PrimerCheckout__token",E.HIDDEN="PrimerCheckout--hidden",E.FOCUSED="PrimerCheckout--focused",E.SELECTED="PrimerCheckout--selected",E.LOADING="PrimerCheckout--loading",E.ERROR="PrimerCheckout--error",E.CARD_TYPE="PrimerCheckout__cardType",E.SAVED_PAYMENT_METHOD="PrimerCheckout__savedPaymentMethod",E.SAVED_PAYMENT_METHOD_CONTAINER="PrimerCheckout__savedPaymentMethodContainer",E.APM_BUTTON="PrimerCheckout__apmButton",E.EDIT_BUTTON="PrimerCheckout__editButton",E.MENU="PrimerCheckout__dropDownMenu",E.MENU_ITEM="PrimerCheckout__dropDownMenuItem",E.PAYMENT_METHOD_MENU_ITEM="PrimerCheckout__paymentMethodDropDownMenuItem",E.DELETE_PAYMENT_METHOD_BUTTON="PrimerCheckout__paymentMethodDropDownMenuItem__deleteButton",E.ENTER="PrimerCheckout--enter",E.ENTERING="PrimerCheckout--entering",E.ENTERED="PrimerCheckout--entered",E.EXIT="PrimerCheckout--exit",E.EXITING="PrimerCheckout--exiting",E.EXITED="PrimerCheckout--exited";var e6=((n={}).CHECKOUT="CHECKOUT",n.HEADLESS_CHECKOUT="HEADLESS_CHECKOUT",n.MANAGE_PAYMENT_METHODS="MANAGE_PAYMENT_METHODS",n),e5=((_={}).DEFAULT="DEFAULT",_.PREFER_VAULT="PREFER_VAULT",_);(i={}).TOKENIZE_STARTED="tokenize-started",i.TOKENIZE_ERROR="tokenize-error",i.TOKENIZE_SUCCESS="tokenize-success",i.TOKENIZE_DID_NOT_START="tokenize-did-not-start";var e3=((a={}).SUCCESS="AUTH_SUCCESS",a.FAILED="AUTH_FAILED",a.SKIPPED="SKIPPED",a.CHALLENGE="CHALLENGE",a);let e4={WORLDPAY_IDEAL:"WORLDPAY_IDEAL",AUTOMATED_CLEARING_HOUSE:"AUTOMATED_CLEARING_HOUSE",ADYEN_KLARNA:"ADYEN_KLARNA",ADYEN_BANCONTACT_CARD:"ADYEN_BANCONTACT_CARD",PAY_NL_KAARTDIRECT:"PAY_NL_KAARTDIRECT",ADYEN_EPS:"ADYEN_EPS",ADYEN_BANCONTACT_PAYCONIQ:"ADYEN_BANCONTACT_PAYCONIQ",OMISE_PROMPTPAY:"OMISE_PROMPTPAY",OMISE_TRUEMONEY:"OMISE_TRUEMONEY",ADYEN_MULTIBANCO:"ADYEN_MULTIBANCO",PACYPAY_WECHAT:"PACYPAY_WECHAT",PACYPAY_ALIPAY:"PACYPAY_ALIPAY",ADYEN_MBWAY:"ADYEN_MBWAY",XENDIT_DANA:"XENDIT_DANA",XENDIT_SHOPEEPAY:"XENDIT_SHOPEEPAY",ADYEN_PAYSHOP:"ADYEN_PAYSHOP",ADYEN_PAYTRAIL:"ADYEN_PAYTRAIL",CLEARPAY:"CLEARPAY",RAPYD_FAST:"RAPYD_FAST",RAPYD_PROMPTPAY:"RAPYD_PROMPTPAY",RAPYD_GCASH:"RAPYD_GCASH",RAPYD_POLI:"RAPYD_POLI",RAPYD_GRABPAY:"RAPYD_GRABPAY",PRIMER_PAYPAL:"PRIMER_PAYPAL",TWOC2P:"TWOC2P",NETS:"NETS",STRIPE_ACH:"STRIPE_ACH",STRIPE_GIROPAY:"STRIPE_GIROPAY",MOLLIE_GIROPAY:"MOLLIE_GIROPAY",MOLLIE_EPS:"MOLLIE_EPS",PAY_NL_EPS:"PAY_NL_EPS",PAY_NL_P24:"PAY_NL_P24",MOLLIE_P24:"MOLLIE_P24",MOLLIE_SOFORT:"MOLLIE_SOFORT",COINBASE:"COINBASE",OPENNODE:"OPENNODE",MOLLIE_GIFT_CARD:"MOLLIE_GIFTCARD",XFERS_PAYNOW:"XFERS_PAYNOW",CARD:"PAYMENT_CARD",APPLE_PAY:"APPLE_PAY",GOOGLE_PAY:"GOOGLE_PAY",PAYPAL:"PAYPAL_ORDER",PAYPAL_VAULTED:"PAYPAL_BILLING_AGREEMENT",GO_CARDLESS:"GOCARDLESS",PAY_NL_IDEAL:"PAY_NL_IDEAL",PAY_NL_SOFORT_BANKING:"PAY_NL_SOFORT_BANKING",PAY_NL_BANCONTACT:"PAY_NL_BANCONTACT",PAY_NL_PAYPAL:"PAY_NL_PAYPAL",PAY_NL_CREDIT_TRANSFER:"PAY_NL_CREDIT_TRANSFER",PAY_NL_DIRECT_DEBIT:"PAY_NL_DIRECT_DEBIT",PAY_NL_GIROPAY:"PAY_NL_GIROPAY",PAY_NL_PAYCONIQ:"PAY_NL_PAYCONIQ",PAY_NL_RIVERTY:"PAY_NL_RIVERTY",HOOLAH:"HOOLAH",ADYEN_BLIK:"ADYEN_BLIK",ADYEN_VIPPS:"ADYEN_VIPPS",ADYEN_GIROPAY:"ADYEN_GIROPAY",ADYEN_SOFORT:"ADYEN_SOFORT",ADYEN_IDEAL:"ADYEN_IDEAL",ADYEN_TRUSTLY:"ADYEN_TRUSTLY",ADYEN_ALIPAY:"ADYEN_ALIPAY",ADYEN_TWINT:"ADYEN_TWINT",ADYEN_MOBILEPAY:"ADYEN_MOBILEPAY",MOLLIE_BANCONTACT:"MOLLIE_BANCONTACT",MOLLIE_IDEAL:"MOLLIE_IDEAL",BUCKAROO_GIROPAY:"BUCKAROO_GIROPAY",BUCKAROO_EPS:"BUCKAROO_EPS",BUCKAROO_SOFORT:"BUCKAROO_SOFORT",BUCKAROO_BANCONTACT:"BUCKAROO_BANCONTACT",BUCKAROO_IDEAL:"BUCKAROO_IDEAL",ATOME:"ATOME",KLARNA_CUSTOMER_TOKEN:"KLARNA_CUSTOMER_TOKEN",DLOCAL_PIX:"DLOCAL_PIX",ALMA:"ALMA"},e8={WORLDPAY_IDEAL:"WORLDPAY_IDEAL",STRIPE_ACH:"STRIPE_ACH",STRIPE_IDEAL:"STRIPE_IDEAL",ADYEN_KLARNA:"ADYEN_KLARNA",ADYEN_BANCONTACT_CARD:"ADYEN_BANCONTACT_CARD",PAY_NL_KAARTDIRECT:"PAY_NL_KAARTDIRECT",ADYEN_EPS:"ADYEN_EPS",ADYEN_BANCONTACT_PAYCONIQ:"ADYEN_BANCONTACT_PAYCONIQ",OMISE_PROMPTPAY:"OMISE_PROMPTPAY",OMISE_TRUEMONEY:"OMISE_TRUEMONEY",ADYEN_MULTIBANCO:"ADYEN_MULTIBANCO",PACYPAY_WECHAT:"PACYPAY_WECHAT",PACYPAY_ALIPAY:"PACYPAY_ALIPAY",ADYEN_MBWAY:"ADYEN_MBWAY",XENDIT_DANA:"XENDIT_DANA",XENDIT_SHOPEEPAY:"XENDIT_SHOPEEPAY",ADYEN_PAYSHOP:"ADYEN_PAYSHOP",ADYEN_PAYTRAIL:"ADYEN_PAYTRAIL",CLEARPAY:"CLEARPAY",RAPYD_FAST:"RAPYD_FAST",RAPYD_PROMPTPAY:"RAPYD_PROMPTPAY",RAPYD_GCASH:"RAPYD_GCASH",RAPYD_POLI:"RAPYD_POLI",RAPYD_GRABPAY:"RAPYD_GRABPAY",PRIMER_PAYPAL:"PRIMER_PAYPAL",TWOC2P:"TWOC2P",NETS:"NETS",STRIPE_GIROPAY:"STRIPE_GIROPAY",MOLLIE_GIROPAY:"MOLLIE_GIROPAY",MOLLIE_EPS:"MOLLIE_EPS",PAY_NL_EPS:"PAY_NL_EPS",PAY_NL_P24:"PAY_NL_P24",MOLLIE_P24:"MOLLIE_P24",MOLLIE_SOFORT:"MOLLIE_SOFORT",COINBASE:"COINBASE",OPENNODE:"OPENNODE",MOLLIE_GIFT_CARD:"MOLLIE_GIFTCARD",XFERS_PAYNOW:"XFERS_PAYNOW",PAYMENT_CARD:"PAYMENT_CARD",APPLE_PAY:"APPLE_PAY",GOOGLE_PAY:"GOOGLE_PAY",PAYPAL:"PAYPAL",GO_CARDLESS:"GOCARDLESS",KLARNA:"KLARNA",PAY_NL_IDEAL:"PAY_NL_IDEAL",PAY_NL_SOFORT_BANKING:"PAY_NL_SOFORT_BANKING",PAY_NL_BANCONTACT:"PAY_NL_BANCONTACT",PAY_NL_PAYPAL:"PAY_NL_PAYPAL",PAY_NL_CREDIT_TRANSFER:"PAY_NL_CREDIT_TRANSFER",PAY_NL_DIRECT_DEBIT:"PAY_NL_DIRECT_DEBIT",PAY_NL_GIROPAY:"PAY_NL_GIROPAY",PAY_NL_PAYCONIQ:"PAY_NL_PAYCONIQ",PAY_NL_RIVERTY:"PAY_NL_RIVERTY",HOOLAH:"HOOLAH",ADYEN_BLIK:"ADYEN_BLIK",ADYEN_MOBILEPAY:"ADYEN_MOBILEPAY",ADYEN_VIPPS:"ADYEN_VIPPS",ADYEN_GIROPAY:"ADYEN_GIROPAY",ADYEN_SOFORT:"ADYEN_SOFORT",ADYEN_IDEAL:"ADYEN_IDEAL",ADYEN_TRUSTLY:"ADYEN_TRUSTLY",ADYEN_ALIPAY:"ADYEN_ALIPAY",ADYEN_TWINT:"ADYEN_TWINT",ADYEN_BANK_TRANSFER:"ADYEN_BANK_TRANSFER",MOLLIE_BANCONTACT:"MOLLIE_BANCONTACT",MOLLIE_IDEAL:"MOLLIE_IDEAL",BUCKAROO_GIROPAY:"BUCKAROO_GIROPAY",BUCKAROO_EPS:"BUCKAROO_EPS",BUCKAROO_SOFORT:"BUCKAROO_SOFORT",BUCKAROO_BANCONTACT:"BUCKAROO_BANCONTACT",BUCKAROO_IDEAL:"BUCKAROO_IDEAL",ATOME:"ATOME",DLOCAL_PIX:"DLOCAL_PIX",ALMA:"ALMA"},e9={SINGLE_USE:"SINGLE_USE",MULTI_USE:"MULTI_USE"};e4.PAYPAL_VAULTED,e8.PAYPAL,e4.KLARNA_CUSTOMER_TOKEN,e8.KLARNA,e4.AUTOMATED_CLEARING_HOUSE,e8.STRIPE_ACH,e4.CARD,e8.PAYMENT_CARD;var e7=((s={}).INITIALIZATION_ERROR="INITIALIZATION_ERROR",s.NO_PAYMENT_METHODS="NO_PAYMENT_METHODS",s.PRIMER_TEARDOWN="PRIMER_TEARDOWN",s.PRIMER_SERVER_ERROR="PRIMER_SERVER_ERROR",s.THREE_DS_AUTH_FAILED="THREE_DS_AUTH_FAILED",s.TOKENIZATION_ERROR="TOKENIZATION_ERROR",s.DUPLICATE_PAYMENT_METHOD_ERROR="DUPLICATE_PAYMENT_METHOD_ERROR",s.CARD_NUMBER_ERROR="CARD_NUMBER_ERROR",s.PAYMENT_METHOD_NOT_SETUP="PAYMENT_METHOD_NOT_SETUP",s.PAYMENT_METHOD_NOT_PROVIDED="PAYMENT_METHOD_NOT_PROVIDED",s.PAYMENT_METHOD_NOT_COMPATIBLE="PAYMENT_METHOD_NOT_COMPATIBLE",s.RESUME_ERROR="RESUME_ERROR",s.VALIDATION_ERROR="VALIDATION_ERROR",s.PAYMENT_FAILED="PAYMENT_FAILED",s.PAYMENT_CREATION_ABORTED="PAYMENT_CREATION_ABORTED",s.PAYMENT_CREATION_DISABLED="PAYMENT_CREATION_DISABLED",s.CLIENT_SESSION_UPDATE_ERROR="CLIENT_SESSION_UPDATE_ERROR",s.INVALID_ARGUMENT="INVALID_ARGUMENT",s.VAULT_FETCH="VAULT_FETCH",s.VAULT_DELETE="VAULT_DELETE",s.HEADLESS_VAULT_MANAGER_VALIDATION="HEADLESS_VAULT_MANAGER_VALIDATION",s.CARD_FORM_VALIDATION_UNEXPECTED_FIELD="CARD_FORM_VALIDATION_UNEXPECTED_FIELD",s.MISSING_FIRST_NAME_OR_LAST_NAME="MISSING_FIRST_NAME_OR_LAST_NAME",s.MISSING_EMAIL_ADDRESS="MISSING_EMAIL_ADDRESS",s.INVALID_FLOW="INVALID_FLOW",s);function re(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}class rr extends L{static fromErrorCode(e,r){return new rr(e,r)}constructor(e,r){super(r.message),re(this,"code",void 0),re(this,"diagnosticsId",void 0),re(this,"data",void 0),re(this,"isFromDeveloper",void 0),this.code=e,this.diagnosticsId=r.diagnosticsId??null,this.data=r.data,this.isFromDeveloper=r.isFromDeveloper??!1,this.name="PrimerClientError",Error.captureStackTrace&&Error.captureStackTrace(this,rr)}}var rt=((c={}).PAYMENT_METHOD="PAYMENT_METHOD",c.CHECK="CHECK",c);let rA=e=>{let r=e?.mandateData;return!!r&&"fullMandateText"in r};var ro=((T={}).CHANGE="change",T.ERROR="error",T.FOCUS="focus",T.BLUR="blur",T.CLICK="click",T.CLOSE="close",T.CONFIRMED_KLARNA_CATEGORY="CONFIRMED_KLARNA_CATEGORY",T.CONFIRMED_KLARNA_CATEGORY_ERROR="CONFIRMED_KLARNA_CATEGORY_ERROR",T.KLARNA_SESSION_UPDATE="KLARNA_SESSION_UPDATE",T.KLARNA_SESSION_REFRESH_ERROR="KLARNA_SESSION_REFRESH_ERROR",T),rE=((N={}).CARD="CARD",N.NATIVE="NATIVE",N.REDIRECT="REDIRECT",N.KLARNA="KLARNA",N.ACH="ACH",N);let rn={SDK_VERSION:"v2.56.2",createHeadless:eq,showUniversalCheckout:e0,showVaultManager:e1,preloadPrimer:eJ};return O})());
2
2
  //# sourceMappingURL=Primer.js.map
package/dist/index.d.ts CHANGED
@@ -777,9 +777,6 @@ export interface CheckoutCardOptions {
777
777
  * Only works if the cardholder name is visible
778
778
  */
779
779
  required?: boolean;
780
- /**
781
- * @deprecated Set it on your Dashboard
782
- */
783
780
  visible?: boolean;
784
781
  placeholder?: Label;
785
782
  };
@@ -1197,6 +1194,7 @@ export interface VaultManagerOptions extends WithAllowedCardNetworks {
1197
1194
  onTokenizeSuccess?: (data: PaymentMethodToken) => void;
1198
1195
  onTokenizeError?: (message: PrimerClientError) => void;
1199
1196
  apiVersion?: APIVersionOption;
1197
+ merchantDomain?: string;
1200
1198
  }
1201
1199
  export interface UniversalCheckoutOptions extends TokenizationHandlers, PaymentHandlers, PaymentMethodHandlers, ClientSessionHandlers, WithAllowedCardNetworks {
1202
1200
  uxFlow?: CheckoutUXFlow.CHECKOUT;
@@ -1225,6 +1223,7 @@ export interface UniversalCheckoutOptions extends TokenizationHandlers, PaymentH
1225
1223
  advanced?: AdvancedOptions;
1226
1224
  clientSessionCachingEnabled?: boolean;
1227
1225
  apiVersion?: APIVersionOption;
1226
+ merchantDomain?: string;
1228
1227
  }
1229
1228
  export interface HeadlessUniversalCheckoutOptions extends TokenizationHandlers, PaymentHandlers, PaymentMethodHandlers, ClientSessionHandlers, WithAllowedCardNetworks {
1230
1229
  style?: CheckoutStyle;
@@ -1243,6 +1242,7 @@ export interface HeadlessUniversalCheckoutOptions extends TokenizationHandlers,
1243
1242
  onAvailablePaymentMethodsLoad: (paymentMethods: PaymentMethodInfo[]) => void;
1244
1243
  clientSessionCachingEnabled?: boolean;
1245
1244
  apiVersion?: APIVersionOption;
1245
+ merchantDomain?: string;
1246
1246
  }
1247
1247
  export type WithAllowedCardNetworks = {
1248
1248
  /** @deprecated Use `orderedAllowedCardNetworks` on your Primer Dashboard instead. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer-io/checkout-web",
3
- "version": "2.56.0",
3
+ "version": "2.56.2",
4
4
  "description": "Primer.js for the web",
5
5
  "author": "Primer Developers <developers@primer.io>",
6
6
  "homepage": "",