@primer-io/checkout-web 2.50.1 → 2.50.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/dist/Primer.js +2 -2
- package/dist/index.d.ts +2 -2
- package/package.json +1 -1
package/dist/Primer.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(function(M,T){typeof exports=="object"&&typeof module=="object"?module.exports=T():typeof define=="function"&&define.amd?define([],T):typeof exports=="object"?exports.Primer=T():M.Primer=T()})(this,()=>(()=>{var ee={189:()=>{},367:()=>{},56:()=>{}},M={};function T(R){var u=M[R];if(u!==void 0)return u.exports;var O=M[R]={exports:{}};return ee[R](O,O.exports,T),O.exports}T.d=(R,u)=>{for(var O in u)T.o(u,O)&&!T.o(R,O)&&Object.defineProperty(R,O,{enumerable:!0,get:u[O]})},T.o=(R,u)=>Object.prototype.hasOwnProperty.call(R,u),T.r=R=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(R,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(R,"__esModule",{value:!0})};var B={};return(()=>{"use strict";T.r(B),T.d(B,{CheckoutUXFlow:()=>Ke,ErrorCode:()=>ze,EventTypes:()=>Qe,HeadlessManagerType:()=>Ze,PaymentFlow:()=>We,PaymentInstrumentType:()=>w,PaymentMethodData:()=>nr.PaymentMethodData,PaymentMethodType:()=>p,Primer:()=>ir,SuccessScreenType:()=>Xe,ThreeDSecureStatus:()=>$e,TokenType:()=>rr,isStripeOptionsDropInWithFullMandateText:()=>or});const R={LEGACY:"legacy",V_2_4:"2.4"},u=R.LEGACY;let O=u;function qe(e){e||console.warn(`[Primer SDK] No API version was explicitly set. Defaulting to '${u}'.`),O=e??u}function Je(){return O}class D extends Error{constructor(t,r=!1){super(t),this.isReported=r,this.name=this.constructor.name,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}static from(t,r=!1){if(t instanceof D)return t;const n=t instanceof Error?t.message:String(t),o=new D(n,r);return t instanceof Error&&t.stack&&(o.stack=t.stack,Object.assign(o,t)),o}markAsReported(){this.isReported=!0}}const te="https://analytics.production.data.primer.io/sdk-logs";var ar=T(189),Er=T(367),v=(e=>(e.REQUEST_START="REQUEST_START",e.REQUEST_END="REQUEST_END",e))(v||{}),b=(e=>(e.START="START",e.END="END",e))(b||{});const H={createHeadless:"HEADLESS_LOADING",showUniversalCheckout:"DROP_IN_LOADING",showVaultManager:"VAULT_MANAGER_LOADING",preloadPrimer:"PRELOAD_PRIMER_LOADING"};var I=(e=>(e.NETWORK_CALL_EVENT="NETWORK_CALL_EVENT",e.CRASH_EVENT="CRASH_EVENT",e.TIMER_EVENT="TIMER_EVENT",e.MESSAGE_EVENT="MESSAGE_EVENT",e.V1_EVENT="V1_EVENT",e.SDK_FUNCTION_EVENT="SDK_FUNCTION_EVENT",e))(I||{});const et={get(e,t){let r;try{switch(e){case"PRIMER_SDK_VERSION":r="v2.50.1";break;case"PRIMER_ASSETS_URL":r=process.env.PRIMER_ASSETS_URL;break;case"PRIMER_BUILD_INTEGRATION_BUILDER":r=process.env.PRIMER_BUILD_INTEGRATION_BUILDER;break;default:break}}catch{}return r||t}};var tt=(e=>(e.CHARGING="CHARGING",e.NOT_CHARGING="NOT_CHARGING",e))(tt||{});async function rt(){if(typeof navigator>"u"||typeof performance>"u")return;const 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"}}const nt="WEB",ot=et.get("PRIMER_SDK_VERSION");async function re(e,t,r){return{...r,createdAt:Date.now(),device:await rt(),eventType:e,properties:t,sdkVersion:ot,sdkType:nt}}const ne=Symbol.for("__primerAnalytics__");let C={providers:new Map,timers:new Map,eventsQueue:new Map};if(typeof window<"u"){const e=window[ne];e?C=e:window[ne]=C}const oe=()=>C.providers,x=()=>C.timers,m=()=>C.eventsQueue,ie=500,y=new Map,Ae=64e3,it=5;function F(e,t=!1,r=1){if(y.has(e)){const i=y.get(e);clearTimeout(i),y.delete(e)}const n=()=>{const i=m().get(e);if(i?.length){let A=!0,s=[],_=0,a=0;for(;a<i.length;){const E=i[a],f=JSON.stringify(E),N=new Blob([f]).size;if(N>Ae){console.error("Event size exceeds maximum payload size and will be skipped:",E),a++;continue}if(_+N>Ae&&s.length>0){try{A=navigator.sendBeacon(e,JSON.stringify(s))}catch(P){A=!1,console.error("Unable to send events",P)}if(!A)break;s=[],_=0}s.push(E),_+=N,a++}if(s.length>0&&A)try{A=navigator.sendBeacon(e,JSON.stringify(s))}catch(E){A=!1,console.error("Unable to send events",E)}if(A)m().delete(e);else if(r<it){const E=ie*Math.pow(2,r);setTimeout(()=>F(e,t,r+1),E)}else console.error("Max retry attempts reached. Events will not be sent.")}};if(t){n();return}const o=setTimeout(n,ie);y.set(e,o)}function At(e,t){m().has(e)||m().set(e,[]),m().get(e)?.push(t),F(e)}const se=1024*5;function ae(e,t,r=new WeakSet,n=0,o=10){if(n>o||r.has(e))return e;r.add(e);const i=A=>typeof A=="object"&&A!==null?ae(A,t,r,n+1,o):t(A);return Array.isArray(e)?e.map(i):Object.fromEntries(Object.entries(e).map(([A,s])=>[A,i(s)]))}function st(e){return typeof e=="string"&&e.length>se?`${e.slice(0,se)}...`:e}function at(e){return typeof e=="function"?e.name||"function":e}let Ee=!1;function G({url:e=te,...t}){typeof document<"u"&&!Ee&&(document.addEventListener("visibilitychange",()=>{if(document.visibilityState==="hidden"){const o=l(t.checkoutSessionId);o.messageEvent({messageType:"VISIBILITY_CHANGE",message:"Checkout visibility is hidden (tab or window change, redirect or being closed)."}),F(o.url,!0)}}),Ee=!0);const r=o=>async i=>{if(typeof navigator>"u")return;const A=await re(o,i,t),_=ae(A,a=>st(at(a)));At(e,_)},n={crashEvent:r(I.CRASH_EVENT),messageEvent:r(I.MESSAGE_EVENT),networkCallEvent:r(I.NETWORK_CALL_EVENT),sdkFunctionEvent:r(I.SDK_FUNCTION_EVENT),timerStart:({id:o,...i})=>{const A=`${t.checkoutSessionId}|${o}`,s=performance?.now?performance.now():Date.now();return x().set(A,{start:s}),r(I.TIMER_EVENT)({...i,id:o,timerType:b.START})},timerEnd:({id:o,...i})=>{const A=`${t.checkoutSessionId}|${o}`,{start:s=void 0}=x().get(A)??{};x().delete(A);const _=performance?.now?performance.now():Date.now(),a=s?_-s:void 0;return r(I.TIMER_EVENT)({...i,id:o,timerType:b.END,duration:a})},v1Event:r(I.V1_EVENT),url:e};return oe().set(t.checkoutSessionId,n),l(t.checkoutSessionId)}function l(e){return new Proxy({},{get(t,r){return(oe().get(e)??G({checkoutSessionId:e}))[r]}})}const V=(e,t,r,n)=>({callType:r?v.REQUEST_END:v.REQUEST_START,id:e,errorBody:r?.error&&JSON.stringify(r.error,Object.getOwnPropertyNames(r.error)),method:t.method,responseCode:r?.status,url:t.url,duration:n});function Et(e){return e?new Promise(t=>{setTimeout(t,e)}):Promise.resolve()}const _t=8,ct=100,Tt=100;function Nt(e){return{enabled:e?.enabled??!1,maxRetries:_t,initialBackoff:ct,retryNetworkErrors:!0,retry500Errors:!1,maxJitter:Tt}}function Rt(e,t,r){const n=e*Math.pow(2,t-1),o=Math.random()*r;return Math.min(n+o,Number.MAX_SAFE_INTEGER)}async function _e(e,t,r,n=Et){let o=0;const i=Nt(t);if(!i.enabled)return e();for(;;)try{const A=await e();if(o){let s=`Request succeeded after ${o} retries.`;typeof A=="object"&&A&&"status"in A&&(s+=` Status code: ${A.status}`),r?.({messageType:"RETRY_SUCCESS",message:s,severity:"INFO"})}return A}catch(A){const s=A,_=o>=i.maxRetries,a=s.isNetworkError&&!i.retryNetworkErrors,E=s.status&&s.status>=500&&!i.retry500Errors;if(_||a||E){let P=`Failed after ${o} retries. `;throw _?P+=`Reached maximum retries (${i.maxRetries}).`:a?P+="Network error encountered and retryNetworkErrors is disabled.":E&&(P+="HTTP 500 error encountered and retry500Errors is disabled."),P+=` Last error: ${s.message}`,r?.({messageType:"RETRY_FAILED",message:P,severity:"ERROR",errorBody:JSON.stringify(A,Object.getOwnPropertyNames(A))}),new Error(P,{cause:A})}o++;const f=Rt(i.initialBackoff,o,i.maxJitter);let N="Unknown error";s.isNetworkError?N="Network error":s.status&&(N=`HTTP ${s.status} error`),r?.({messageType:"RETRY",message:`Retry attempt ${o}/${i.maxRetries} due to: ${N}. Error details: ${s.message}. Waiting for ${f.toFixed(2)}ms before next attempt.`,severity:"WARN",errorBody:JSON.stringify(A,Object.getOwnPropertyNames(A))}),await n(f)}}let K={cache:new Map};typeof window<"u"&&(window.__primerCache__??(window.__primerCache__=K),K=window.__primerCache__);const d=()=>K.cache,ce=1e3*60*60,dt=30,Te=50;function Ne(){if(d().size<=dt)return;const e=Date.now();for(const[t,r]of d())r.exp<e&&d().delete(t);if(d().size>Te)for(const[t]of d()){if(d().size<=Te)break;d().delete(t)}}function Pt({key:e,ttl:t=ce},r){t?d().set(e,{promise:Promise.resolve({...r,source:"CACHE"}),exp:Date.now()+t}):d().delete(e)}function ut(e){if(!e)return i=>i();const{key:t,refresh:r=!1,usePrimerSessionCacheTtlHeader:n=!1,ttl:o=ce}=e;return async i=>{const A=Date.now(),s=d().get(t);if(!r&&s&&s.exp>A)return s.promise;s&&d().delete(t);const _=i().then(a=>{let E=o;return n&&(E=(Number(a.headers.get("x-primer-session-cache-ttl"))||0)*1e3),Pt({key:t,ttl:E},a),Ne(),a},a=>{throw d().delete(t),a});return d().set(t,{promise:_,exp:A+o}),Ne(),_}}const W=()=>Re.randomUUID?.()||Ot(),Ot=()=>("10000000-1000-4000-8000"+-1e11).replace(/[018]/g,e=>(e^Dt()>>e/4).toString(16)),Dt=()=>(Re.getRandomValues?.(new Uint8Array(1))[0]??Math.random()*16)&15,Re=typeof crypto<"u"?crypto:{},de=15e3,It=(e,t,r)=>Pe(e,"get",t,r),ft=(e,t,r,n)=>Pe(e,"post",t,n,JSON.stringify(r)),Pe=async(e,t,r,n,o)=>{const i=W(),A=performance?.now();let s=l(e);const _={method:t,url:r,body:o};s.networkCallEvent(V(i,_));try{const a=await fetch(r,{body:o,method:t,headers:{"content-type":"application/json","x-request-id":i,...n}});if(!a.ok){const P=new Error(`HTTP error! status: ${a.status}`);throw P.status=a.status,P}const E=await a.json();if(r.includes("client-sdk/configuration")){const{primerAccountId:P,clientSession:{clientSessionId:Ar,customer:sr}}=E;s=G({checkoutSessionId:e,clientSessionId:Ar,customerId:sr?.customerId,primerAccountId:P,url:s.url})}const N=performance?.now()-A;return s.networkCallEvent(V(i,_,{data:E},N)),{data:E,headers:a.headers,status:a.status,source:"NETWORK"}}catch(a){const f=performance?.now()-A;throw Object.assign(a,{isNetworkError:a instanceof TypeError}),s.networkCallEvent(V(i,_,{error:a},f)),a}},ue=(e,t)=>new Promise((r,n)=>{const o=setTimeout(()=>{const i=new Error("Request timed out");i.isNetworkError=!0,n(i)},t);e.then(r).catch(n).finally(()=>clearTimeout(o))}),lt=(e,t)=>{const{headers:r,retryConfig:n,cacheConfig:o,timeout:i=de,checkoutSessionId:A}=t,s=l(A);return ut(o)(()=>_e(()=>ue(It(A,e,r),i),n,_=>s.messageEvent({..._,url:e})))},_r=(e,t,r)=>{const{headers:n,retryConfig:o,cacheConfig:i,timeout:A=de,checkoutSessionId:s}=r,_=getAnalytics(s);return cacheRequest(i)(()=>retryWithExponentialBackoff(()=>ue(ft(s,e,t,n),A),o,a=>_.messageEvent({...a,url:e})))},Oe="3.7.7",Lt=Oe,L=typeof Buffer=="function",De=typeof TextDecoder=="function"?new TextDecoder:void 0,Ie=typeof TextEncoder=="function"?new TextEncoder:void 0,Y=Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="),U=(e=>{let t={};return e.forEach((r,n)=>t[r]=n),t})(Y),St=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,c=String.fromCharCode.bind(String),fe=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):e=>new Uint8Array(Array.prototype.slice.call(e,0)),le=e=>e.replace(/=/g,"").replace(/[+\/]/g,t=>t=="+"?"-":"_"),Le=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),Se=e=>{let t,r,n,o,i="";const A=e.length%3;for(let s=0;s<e.length;){if((r=e.charCodeAt(s++))>255||(n=e.charCodeAt(s++))>255||(o=e.charCodeAt(s++))>255)throw new TypeError("invalid character found");t=r<<16|n<<8|o,i+=Y[t>>18&63]+Y[t>>12&63]+Y[t>>6&63]+Y[t&63]}return A?i.slice(0,A-3)+"===".substring(A):i},$=typeof btoa=="function"?e=>btoa(e):L?e=>Buffer.from(e,"binary").toString("base64"):Se,j=L?e=>Buffer.from(e).toString("base64"):e=>{let r=[];for(let n=0,o=e.length;n<o;n+=4096)r.push(c.apply(null,e.subarray(n,n+4096)));return $(r.join(""))},g=(e,t=!1)=>t?le(j(e)):j(e),Ct=e=>{if(e.length<2){var t=e.charCodeAt(0);return t<128?e:t<2048?c(192|t>>>6)+c(128|t&63):c(224|t>>>12&15)+c(128|t>>>6&63)+c(128|t&63)}else{var t=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return c(240|t>>>18&7)+c(128|t>>>12&63)+c(128|t>>>6&63)+c(128|t&63)}},mt=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,Ce=e=>e.replace(mt,Ct),me=L?e=>Buffer.from(e,"utf8").toString("base64"):Ie?e=>j(Ie.encode(e)):e=>$(Ce(e)),S=(e,t=!1)=>t?le(me(e)):me(e),Ye=e=>S(e,!0),Yt=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,ht=e=>{switch(e.length){case 4:var t=(7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3),r=t-65536;return c((r>>>10)+55296)+c((r&1023)+56320);case 3:return c((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return c((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},he=e=>e.replace(Yt,ht),pe=e=>{if(e=e.replace(/\s+/g,""),!St.test(e))throw new TypeError("malformed base64.");e+="==".slice(2-(e.length&3));let t,r="",n,o;for(let i=0;i<e.length;)t=U[e.charAt(i++)]<<18|U[e.charAt(i++)]<<12|(n=U[e.charAt(i++)])<<6|(o=U[e.charAt(i++)]),r+=n===64?c(t>>16&255):o===64?c(t>>16&255,t>>8&255):c(t>>16&255,t>>8&255,t&255);return r},z=typeof atob=="function"?e=>atob(Le(e)):L?e=>Buffer.from(e,"base64").toString("binary"):pe,Me=L?e=>fe(Buffer.from(e,"base64")):e=>fe(z(e).split("").map(t=>t.charCodeAt(0))),ye=e=>Me(Ue(e)),pt=L?e=>Buffer.from(e,"base64").toString("utf8"):De?e=>De.decode(Me(e)):e=>he(z(e)),Ue=e=>Le(e.replace(/[-_]/g,t=>t=="-"?"+":"/")),X=e=>pt(Ue(e)),Mt=e=>{if(typeof e!="string")return!1;const t=e.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(t)||!/[^\s0-9a-zA-Z\-_]/.test(t)},ge=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),ke=function(){const e=(t,r)=>Object.defineProperty(String.prototype,t,ge(r));e("fromBase64",function(){return X(this)}),e("toBase64",function(t){return S(this,t)}),e("toBase64URI",function(){return S(this,!0)}),e("toBase64URL",function(){return S(this,!0)}),e("toUint8Array",function(){return ye(this)})},we=function(){const e=(t,r)=>Object.defineProperty(Uint8Array.prototype,t,ge(r));e("toBase64",function(t){return g(this,t)}),e("toBase64URI",function(){return g(this,!0)}),e("toBase64URL",function(){return g(this,!0)})},Be={version:Oe,VERSION:Lt,atob:z,atobPolyfill:pe,btoa:$,btoaPolyfill:Se,fromBase64:X,toBase64:S,encode:S,encodeURI:Ye,encodeURL:Ye,utob:Ce,btou:he,decode:X,isValid:Mt,fromUint8Array:g,toUint8Array:ye,extendString:ke,extendUint8Array:we,extendBuiltins:()=>{ke(),we()}},yt={encode:Ut,decode:Be.decode};function Ut(e,t={}){const{urlSafe:r=!1}=t;return Be.encode(e,r)}function gt(e){const t=Bt(e),r=t.exp*1e3;if(Date.now()>r)throw new Error(`${kt}. Expiration date: ${new Date(r).toISOString()}`);return t}const ve="The provided `clientToken`",kt=`${ve} has expired`,wt=`${ve} is malformed`;function Bt(e){try{const[t,r]=e.split("."),n=r||t;return JSON.parse(yt.decode(n))}catch{throw new Error(wt)}}const vt="v2.50.1",bt=(e,t,r)=>({"primer-client-token":e,"primer-sdk-client":"WEB","primer-sdk-version":vt,"primer-sdk-checkout-session-id":t,...r&&{"x-api-version":r}});async function Ht(e,t,r){const{accessToken:n,configurationUrl:o,analyticsUrlV2:i}=gt(e),A=G({checkoutSessionId:t,url:i}),s=Je(),_=s!==R.LEGACY?s:"2.3";A.timerStart({id:"CONFIGURATION_LOADING"});try{const{data:a,source:E}=await lt(`${o}/?withDisplayMetadata=true`,{checkoutSessionId:t,headers:bt(n,t,_),retryConfig:{enabled:!0},cacheConfig:r});return A.timerEnd({id:"CONFIGURATION_LOADING",context:{source:E}}),a}catch(a){const E=a instanceof Error?a.message:"Unknown error occurred";throw new Error(`Failed to initialize client: ${E}`)}}function be(e){return e instanceof Error?{errorBody:e.message,stacktrace:e.stack}:typeof e=="object"&&e!==null&&"message"in e?{errorBody:String(e.message),stacktrace:"stack"in e?String(e.stack):void 0}:{errorBody:String(e||"Unknown error")}}function k({checkoutSessionId:e,analytics:t,error:r,reporter:n}){t?.crashEvent?t.crashEvent({...be(r),reporter:n}):e&&Q(e,r,n)}async function Q(e,t,r){const n=te,o=await re(I.CRASH_EVENT,{...be(t),reporter:r},{checkoutSessionId:e});try{await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)})}catch(i){console.error("Failed to post crash event",i)}}const He=Symbol.for("initGlobalErrorMonitoringLoaded"),xe=(e,t)=>{typeof window<"u"&&window[He]||(window[He]=!0,window.addEventListener("error",r=>{xt(r)||Ft(r)&&k({checkoutSessionId:e,analytics:t,error:r.error,reporter:"window.onerror"})}),window.addEventListener("unhandledrejection",r=>{const n=r.reason||new Error("Unhandled promise rejection");Gt(n)&&k({checkoutSessionId:e,analytics:t,error:n,reporter:"unhandledrejection"})}))},xt=e=>e.message==="Script error."||!e.filename||e.lineno===0,Ft=e=>{const t=e.filename;return!!(t&&Z(t)&&new D(e.error).isReported)},Gt=e=>{if(e&&typeof e=="object"&&"stack"in e&&typeof e.stack=="string"){const t=D.from(e);if(t.isReported)return!1;if("fileName"in e&&typeof e.fileName=="string"){const n=e.fileName;if(Z(n))return!0}return Vt(t.stack).some(Z)}return!1},Z=e=>{try{return new URL(e,window.location.origin).hostname.endsWith(".primer.io")}catch{return!1}},Vt=e=>{if(!e)return[];const t=e.split(`
|
|
2
|
-
`),r=[],n=/^\s*at\s+(?:.*?\s+)?\(?(.+?):\d+:\d+\)?$/;for(const o of t){const i=o.match(n);if(i&&i[1])r.push(i[1]);else{const A=/@(.*?):\d+:\d+$/,s=o.match(A);s&&s[1]&&r.push(s[1])}}return r};function Kt(e,t){const r=document.createElement(e);return Object.entries(t).forEach(([n,o])=>r.setAttribute(n,o)),r}function Fe(e,t,r){return document.querySelector(`${e}[${t}^="${r}"]`)}async function Ge(e,t,r,n,o,i){const{analytics:A,name:s=t,retryConfig:_}=i;await _e(()=>new Promise((E,f)=>{const N=Fe(e,r,t)||Kt(e,{...n,[r]:t});N.onload=()=>{A?.sdkFunctionEvent({name:s,params:[`${e.charAt(0).toUpperCase()+e.slice(1)} loaded successfully: ${t}`]}),E()},N.onerror=()=>{N.remove(),f(new Error(`${o}: ${t}`))},N.parentNode||document.head.appendChild(N)}),_,E=>A?.messageEvent({...E,url:t}))}function Wt(e,t={}){return Fe("script","src",e)&&window.__Primer?(t.analytics?.sdkFunctionEvent({name:t.name??e,params:["Script already loaded"]}),Promise.resolve()):Ge("script",e,"src",{...t.attributes,async:"",crossorigin:"anonymous"},"Can't load Primer SDK",t)}function $t(e,t={}){return Array.from(document.styleSheets).some(r=>r.href===e)?(t.analytics?.sdkFunctionEvent({name:t.name??e,params:["Stylesheet already loaded"]}),Promise.resolve()):Ge("link",e,"href",{...t.attributes,rel:"stylesheet"},"Can't load Primer SDK's Stylesheet",t)}let h;async function Ve(e){return h||(h=Promise.all([Wt("https://sdk.primer.io/web/v2.50.1/PrimerCoreSDK.min.js",{analytics:e,name:"loadPrimerScript"}),$t("https://sdk.primer.io/web/v2.50.1/Checkout.css",{analytics:e,name:"loadPrimerCss"})]).then(()=>{const n=window.__Primer;return delete window.__Primer,n}).catch(n=>{throw h=void 0,n}),h)}const jt=async()=>{const e=W();try{const t=l(e);try{xe(e,t),t.sdkFunctionEvent({name:"preloadPrimer"}),t.timerStart({id:H.preloadPrimer}),await Ve(t),t.timerEnd({id:H.preloadPrimer})}catch(r){const n=D.from(r);throw n.isReported||(k({checkoutSessionId:e,analytics:t,error:n,reporter:"preloadPrimer level 1"}),n.markAsReported()),n}}catch(t){const r=D.from(t);throw r.isReported||(Q(e,r,"preloadPrimer level 0"),r.markAsReported()),r}},zt="v2.50.1",Xt=q("createHeadless"),Qt=q("showUniversalCheckout"),Zt=q("showVaultManager");function q(e){return async(...[t,r,...n])=>{qe(r?.apiVersion);const o=W();try{const i=l(o);try{xe(o,i),i.sdkFunctionEvent({name:e,params:[t,r,...n]}),i.timerStart({id:H[e]});const[A,s]=await Promise.all([Ht(t,o,r?.clientSessionCachingEnabled?{key:t,usePrimerSessionCacheTtlHeader:!0}:void 0),Ve(i)]);return s[e](A,o,t,r,...n)}catch(A){const s=D.from(A);throw s.isReported||(k({checkoutSessionId:o,analytics:i,error:s,reporter:"lazyLoad level 1"}),s.markAsReported()),s}}catch(i){const A=D.from(i);throw A.isReported||(Q(o,A,"lazyLoad level 0"),A.markAsReported()),A}}}var qt=(e=>(e.LOADING="Loading",e.NO_PAYMENT_METHOD="NoPaymentMethod",e.THREE_DS="UniversalCheckout/3ds",e.CHOOSE_PAYMENT_METHOD="UniversalCheckout/Home",e.MANAGE_PAYMENT_METHODS="VaultManager/Home",e.DIRECT_DEBIT_FORM="DirectDebit/Form",e.DIRECT_DEBIT_MANDATE="DirectDebit/Mandate",e.CREDIT_CARD_FORM="CreditCard/Form",e.SUCCESS_PAYMENT_METHOD="UniversalCheckout/Success/PaymentMethod",e.SUCCESS_CHECK="UniversalCheckout/Success/Check",e))(qt||{}),Jt=(e=>(e.ROOT="primer-checkout",e.ROOT_CONTENT="primer-checkout-content",e.SUBMIT_BUTTON="primer-checkout-submit-button",e.THREE_DS_MODAL="primer-checkout-3ds-modal",e.VAULT="primer-checkout-vault",e.VAULT_INLINE="primer-checkout-vault-inline",e.NAVIGATE_PAYMENT_METHODS="primer-checkout-navigate-to-payment-methods",e.DIVIDER="primer-checkout-payment-method-divider",e.APM_BUTTONS="primer-checkout-apm-button-container",e.CARDHOLDER_NAME="primer-checkout-cardholder-name",e.CARDHOLDER_NAME_INPUT="primer-checkout-card-cardholder-name-input",e.ACTIONS="primer-checkout-actions",e.ACTIONS_MENU="primer-checkout-actions-menu",e.SAVE_PAYMENT_METHOD_CHECKBOX="primer-checkout-save-payment-method-input",e.SAVE_PAYMENT_METHOD_FIELD="primer-checkout-save-payment-method-field",e.SAVED_PAYMENT_METHODS_EMPTY="primer-checkout-saved-payment-methods-empty-text",e.CARD_FORM="primer-checkout-card-form",e.DD_SWITCH="primer-checkout-switch-dd-inputs",e.DD_IBAN_FIELD="primer-checkout-dd-iban-field",e.DD_LOCAL_FIELD="primer-checkout-dd-local-fields",e.DD_CUSTOMER_NAME_INPUT="primer-checkout-dd-customer-name-input",e.DD_CUSTOMER_EMAIL_INPUT="primer-checkout-dd-customer-email-input",e.DD_CUSTOMER_ADDRESS_LINE1="primer-checkout-dd-customer-address-input",e.DD_CUSTOMER_ADDRESS_LINE2="primer-checkout-dd-customer-address-line2-input",e.DD_CUSTOMER_ADDRESS_CITY="primer-checkout-dd-customer-city-input",e.DD_CUSTOMER_ADDRESS_POSTAL_CODE="primer-checkout-dd-customer-postal-code-input",e.DD_IBAN_INPUT="primer-checkout-dd-iban-input",e.DD_ACCOUNT_NUMBER_INPUT="primer-checkout-dd-account-number-input",e.DD_BANK_CODE_INPUT="primer-checkout-dd-bank-code-input",e.DD_BRANCH_CODE_INPUT="primer-checkout-dd-branch-code-input",e.DD_MANDATE_SMALL_PRINT="primer-checkout-small-print",e.ERROR_MESSAGE="primer-checkout-error-message",e))(Jt||{}),er=(e=>(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",e))(er||{}),Ke=(e=>(e.CHECKOUT="CHECKOUT",e.HEADLESS_CHECKOUT="HEADLESS_CHECKOUT",e.MANAGE_PAYMENT_METHODS="MANAGE_PAYMENT_METHODS",e))(Ke||{}),We=(e=>(e.DEFAULT="DEFAULT",e.PREFER_VAULT="PREFER_VAULT",e))(We||{}),tr=(e=>(e.TOKENIZE_STARTED="tokenize-started",e.TOKENIZE_ERROR="tokenize-error",e.TOKENIZE_SUCCESS="tokenize-success",e.TOKENIZE_DID_NOT_START="tokenize-did-not-start",e))(tr||{}),$e=(e=>(e.SUCCESS="AUTH_SUCCESS",e.FAILED="AUTH_FAILED",e.SKIPPED="SKIPPED",e.CHALLENGE="CHALLENGE",e))($e||{});const w={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",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"},p={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",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"},Nr={PAYMENT_CARD:"PAYMENT_CARD",ADYEN_BANCONTACT_CARD:"ADYEN_BANCONTACT_CARD"},rr={SINGLE_USE:"SINGLE_USE",MULTI_USE:"MULTI_USE"},je={[w.PAYPAL_VAULTED]:p.PAYPAL,[w.KLARNA_CUSTOMER_TOKEN]:p.KLARNA,[w.AUTOMATED_CLEARING_HOUSE]:p.STRIPE_ACH},Rr=e=>{if(Object.values(p).includes(e))return e;if(je[e])return je[e]};var ze=(e=>(e.INITIALIZATION_ERROR="INITIALIZATION_ERROR",e.NO_PAYMENT_METHODS="NO_PAYMENT_METHODS",e.PRIMER_TEARDOWN="PRIMER_TEARDOWN",e.PRIMER_SERVER_ERROR="PRIMER_SERVER_ERROR",e.THREE_DS_AUTH_FAILED="THREE_DS_AUTH_FAILED",e.TOKENIZATION_ERROR="TOKENIZATION_ERROR",e.DUPLICATE_PAYMENT_METHOD_ERROR="DUPLICATE_PAYMENT_METHOD_ERROR",e.CARD_NUMBER_ERROR="CARD_NUMBER_ERROR",e.PAYMENT_METHOD_NOT_SETUP="PAYMENT_METHOD_NOT_SETUP",e.PAYMENT_METHOD_NOT_PROVIDED="PAYMENT_METHOD_NOT_PROVIDED",e.PAYMENT_METHOD_NOT_COMPATIBLE="PAYMENT_METHOD_NOT_COMPATIBLE",e.RESUME_ERROR="RESUME_ERROR",e.VALIDATION_ERROR="VALIDATION_ERROR",e.PAYMENT_FAILED="PAYMENT_FAILED",e.PAYMENT_CREATION_ABORTED="PAYMENT_CREATION_ABORTED",e.PAYMENT_CREATION_DISABLED="PAYMENT_CREATION_DISABLED",e.CLIENT_SESSION_UPDATE_ERROR="CLIENT_SESSION_UPDATE_ERROR",e.INVALID_ARGUMENT="INVALID_ARGUMENT",e.VAULT_FETCH="VAULT_FETCH",e.VAULT_DELETE="VAULT_DELETE",e.HEADLESS_VAULT_MANAGER_VALIDATION="HEADLESS_VAULT_MANAGER_VALIDATION",e.CARD_FORM_VALIDATION_UNEXPECTED_FIELD="CARD_FORM_VALIDATION_UNEXPECTED_FIELD",e.MISSING_FIRST_NAME_OR_LAST_NAME="MISSING_FIRST_NAME_OR_LAST_NAME",e.MISSING_EMAIL_ADDRESS="MISSING_EMAIL_ADDRESS",e.INVALID_FLOW="INVALID_FLOW",e))(ze||{});class J extends D{static fromErrorCode(t,r,n){return new J(t,r,n)}constructor(t,r,n){super(r.message),this.code=t,this.diagnosticsId=r.diagnosticsId??null,this.data=r.data,this.isFromDeveloper=r.isFromDeveloper??!1,this.name="PrimerClientError",Error.captureStackTrace&&Error.captureStackTrace(this,J),n&&(n.messageEvent({message:`${t}: ${r.message}`,messageType:t,severity:"ERROR",diagnosticsId:r.diagnosticsId??void 0,errorId:r.errorId??void 0,data:r.data??void 0,isFromDeveloper:r.isFromDeveloper?.toString(),stack:this.stack}),this.markAsReported())}}var nr=T(56),Xe=(e=>(e.PAYMENT_METHOD="PAYMENT_METHOD",e.CHECK="CHECK",e))(Xe||{});const or=e=>{const t=e?.mandateData;return t?"fullMandateText"in t:!1};var Qe=(e=>(e.CHANGE="change",e.ERROR="error",e.FOCUS="focus",e.BLUR="blur",e.CLICK="click",e.CLOSE="close",e))(Qe||{}),Ze=(e=>(e.CARD="CARD",e.NATIVE="NATIVE",e.REDIRECT="REDIRECT",e.FORM_WITH_REDIRECT="FORM_WITH_REDIRECT",e.KLARNA="KLARNA",e.ACH="ACH",e))(Ze||{});const ir={SDK_VERSION:zt,createHeadless:Xt,showUniversalCheckout:Qt,showVaultManager:Zt,preloadPrimer:jt}})(),B})());
|
|
1
|
+
(function(M,T){typeof exports=="object"&&typeof module=="object"?module.exports=T():typeof define=="function"&&define.amd?define([],T):typeof exports=="object"?exports.Primer=T():M.Primer=T()})(this,()=>(()=>{var ee={189:()=>{},367:()=>{},56:()=>{}},M={};function T(R){var u=M[R];if(u!==void 0)return u.exports;var O=M[R]={exports:{}};return ee[R](O,O.exports,T),O.exports}T.d=(R,u)=>{for(var O in u)T.o(u,O)&&!T.o(R,O)&&Object.defineProperty(R,O,{enumerable:!0,get:u[O]})},T.o=(R,u)=>Object.prototype.hasOwnProperty.call(R,u),T.r=R=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(R,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(R,"__esModule",{value:!0})};var B={};return(()=>{"use strict";T.r(B),T.d(B,{CheckoutUXFlow:()=>Ke,ErrorCode:()=>ze,EventTypes:()=>Qe,HeadlessManagerType:()=>Ze,PaymentFlow:()=>We,PaymentInstrumentType:()=>w,PaymentMethodData:()=>nr.PaymentMethodData,PaymentMethodType:()=>p,Primer:()=>ir,SuccessScreenType:()=>Xe,ThreeDSecureStatus:()=>$e,TokenType:()=>rr,isStripeOptionsDropInWithFullMandateText:()=>or});const R={LEGACY:"legacy",V_2_4:"2.4"},u=R.LEGACY;let O=u;function qe(e){e||console.warn(`[Primer SDK] No API version was explicitly set. Defaulting to '${u}'.`),O=e??u}function Je(){return O}class D extends Error{constructor(t,r=!1){super(t),this.isReported=r,this.name=this.constructor.name,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}static from(t,r=!1){if(t instanceof D)return t;const n=t instanceof Error?t.message:String(t),o=new D(n,r);return t instanceof Error&&t.stack&&(o.stack=t.stack,Object.assign(o,t)),o}markAsReported(){this.isReported=!0}}const te="https://analytics.production.data.primer.io/sdk-logs";var ar=T(189),Er=T(367),v=(e=>(e.REQUEST_START="REQUEST_START",e.REQUEST_END="REQUEST_END",e))(v||{}),b=(e=>(e.START="START",e.END="END",e))(b||{});const H={createHeadless:"HEADLESS_LOADING",showUniversalCheckout:"DROP_IN_LOADING",showVaultManager:"VAULT_MANAGER_LOADING",preloadPrimer:"PRELOAD_PRIMER_LOADING"};var I=(e=>(e.NETWORK_CALL_EVENT="NETWORK_CALL_EVENT",e.CRASH_EVENT="CRASH_EVENT",e.TIMER_EVENT="TIMER_EVENT",e.MESSAGE_EVENT="MESSAGE_EVENT",e.V1_EVENT="V1_EVENT",e.SDK_FUNCTION_EVENT="SDK_FUNCTION_EVENT",e))(I||{});const et={get(e,t){let r;try{switch(e){case"PRIMER_SDK_VERSION":r="v2.50.2";break;case"PRIMER_ASSETS_URL":r=process.env.PRIMER_ASSETS_URL;break;case"PRIMER_BUILD_INTEGRATION_BUILDER":r=process.env.PRIMER_BUILD_INTEGRATION_BUILDER;break;default:break}}catch{}return r||t}};var tt=(e=>(e.CHARGING="CHARGING",e.NOT_CHARGING="NOT_CHARGING",e))(tt||{});async function rt(){if(typeof navigator>"u"||typeof performance>"u")return;const 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"}}const nt="WEB",ot=et.get("PRIMER_SDK_VERSION");async function re(e,t,r){return{...r,createdAt:Date.now(),device:await rt(),eventType:e,properties:t,sdkVersion:ot,sdkType:nt}}const ne=Symbol.for("__primerAnalytics__");let C={providers:new Map,timers:new Map,eventsQueue:new Map};if(typeof window<"u"){const e=window[ne];e?C=e:window[ne]=C}const oe=()=>C.providers,x=()=>C.timers,m=()=>C.eventsQueue,ie=500,y=new Map,Ae=64e3,it=5;function F(e,t=!1,r=1){if(y.has(e)){const i=y.get(e);clearTimeout(i),y.delete(e)}const n=()=>{const i=m().get(e);if(i?.length){let A=!0,s=[],_=0,a=0;for(;a<i.length;){const E=i[a],f=JSON.stringify(E),N=new Blob([f]).size;if(N>Ae){console.error("Event size exceeds maximum payload size and will be skipped:",E),a++;continue}if(_+N>Ae&&s.length>0){try{A=navigator.sendBeacon(e,JSON.stringify(s))}catch(P){A=!1,console.error("Unable to send events",P)}if(!A)break;s=[],_=0}s.push(E),_+=N,a++}if(s.length>0&&A)try{A=navigator.sendBeacon(e,JSON.stringify(s))}catch(E){A=!1,console.error("Unable to send events",E)}if(A)m().delete(e);else if(r<it){const E=ie*Math.pow(2,r);setTimeout(()=>F(e,t,r+1),E)}else console.error("Max retry attempts reached. Events will not be sent.")}};if(t){n();return}const o=setTimeout(n,ie);y.set(e,o)}function At(e,t){m().has(e)||m().set(e,[]),m().get(e)?.push(t),F(e)}const se=1024*5;function ae(e,t,r=new WeakSet,n=0,o=10){if(n>o||r.has(e))return e;r.add(e);const i=A=>typeof A=="object"&&A!==null?ae(A,t,r,n+1,o):t(A);return Array.isArray(e)?e.map(i):Object.fromEntries(Object.entries(e).map(([A,s])=>[A,i(s)]))}function st(e){return typeof e=="string"&&e.length>se?`${e.slice(0,se)}...`:e}function at(e){return typeof e=="function"?e.name||"function":e}let Ee=!1;function G({url:e=te,...t}){typeof document<"u"&&!Ee&&(document.addEventListener("visibilitychange",()=>{if(document.visibilityState==="hidden"){const o=l(t.checkoutSessionId);o.messageEvent({messageType:"VISIBILITY_CHANGE",message:"Checkout visibility is hidden (tab or window change, redirect or being closed)."}),F(o.url,!0)}}),Ee=!0);const r=o=>async i=>{if(typeof navigator>"u")return;const A=await re(o,i,t),_=ae(A,a=>st(at(a)));At(e,_)},n={crashEvent:r(I.CRASH_EVENT),messageEvent:r(I.MESSAGE_EVENT),networkCallEvent:r(I.NETWORK_CALL_EVENT),sdkFunctionEvent:r(I.SDK_FUNCTION_EVENT),timerStart:({id:o,...i})=>{const A=`${t.checkoutSessionId}|${o}`,s=performance?.now?performance.now():Date.now();return x().set(A,{start:s}),r(I.TIMER_EVENT)({...i,id:o,timerType:b.START})},timerEnd:({id:o,...i})=>{const A=`${t.checkoutSessionId}|${o}`,{start:s=void 0}=x().get(A)??{};x().delete(A);const _=performance?.now?performance.now():Date.now(),a=s?_-s:void 0;return r(I.TIMER_EVENT)({...i,id:o,timerType:b.END,duration:a})},v1Event:r(I.V1_EVENT),url:e};return oe().set(t.checkoutSessionId,n),l(t.checkoutSessionId)}function l(e){return new Proxy({},{get(t,r){return(oe().get(e)??G({checkoutSessionId:e}))[r]}})}const V=(e,t,r,n)=>({callType:r?v.REQUEST_END:v.REQUEST_START,id:e,errorBody:r?.error&&JSON.stringify(r.error,Object.getOwnPropertyNames(r.error)),method:t.method,responseCode:r?.status,url:t.url,duration:n});function Et(e){return e?new Promise(t=>{setTimeout(t,e)}):Promise.resolve()}const _t=8,ct=100,Tt=100;function Nt(e){return{enabled:e?.enabled??!1,maxRetries:_t,initialBackoff:ct,retryNetworkErrors:!0,retry500Errors:!1,maxJitter:Tt}}function Rt(e,t,r){const n=e*Math.pow(2,t-1),o=Math.random()*r;return Math.min(n+o,Number.MAX_SAFE_INTEGER)}async function _e(e,t,r,n=Et){let o=0;const i=Nt(t);if(!i.enabled)return e();for(;;)try{const A=await e();if(o){let s=`Request succeeded after ${o} retries.`;typeof A=="object"&&A&&"status"in A&&(s+=` Status code: ${A.status}`),r?.({messageType:"RETRY_SUCCESS",message:s,severity:"INFO"})}return A}catch(A){const s=A,_=o>=i.maxRetries,a=s.isNetworkError&&!i.retryNetworkErrors,E=s.status&&s.status>=500&&!i.retry500Errors;if(_||a||E){let P=`Failed after ${o} retries. `;throw _?P+=`Reached maximum retries (${i.maxRetries}).`:a?P+="Network error encountered and retryNetworkErrors is disabled.":E&&(P+="HTTP 500 error encountered and retry500Errors is disabled."),P+=` Last error: ${s.message}`,r?.({messageType:"RETRY_FAILED",message:P,severity:"ERROR",errorBody:JSON.stringify(A,Object.getOwnPropertyNames(A))}),new Error(P,{cause:A})}o++;const f=Rt(i.initialBackoff,o,i.maxJitter);let N="Unknown error";s.isNetworkError?N="Network error":s.status&&(N=`HTTP ${s.status} error`),r?.({messageType:"RETRY",message:`Retry attempt ${o}/${i.maxRetries} due to: ${N}. Error details: ${s.message}. Waiting for ${f.toFixed(2)}ms before next attempt.`,severity:"WARN",errorBody:JSON.stringify(A,Object.getOwnPropertyNames(A))}),await n(f)}}let K={cache:new Map};typeof window<"u"&&(window.__primerCache__??(window.__primerCache__=K),K=window.__primerCache__);const d=()=>K.cache,ce=1e3*60*60,dt=30,Te=50;function Ne(){if(d().size<=dt)return;const e=Date.now();for(const[t,r]of d())r.exp<e&&d().delete(t);if(d().size>Te)for(const[t]of d()){if(d().size<=Te)break;d().delete(t)}}function Pt({key:e,ttl:t=ce},r){t?d().set(e,{promise:Promise.resolve({...r,source:"CACHE"}),exp:Date.now()+t}):d().delete(e)}function ut(e){if(!e)return i=>i();const{key:t,refresh:r=!1,usePrimerSessionCacheTtlHeader:n=!1,ttl:o=ce}=e;return async i=>{const A=Date.now(),s=d().get(t);if(!r&&s&&s.exp>A)return s.promise;s&&d().delete(t);const _=i().then(a=>{let E=o;return n&&(E=(Number(a.headers.get("x-primer-session-cache-ttl"))||0)*1e3),Pt({key:t,ttl:E},a),Ne(),a},a=>{throw d().delete(t),a});return d().set(t,{promise:_,exp:A+o}),Ne(),_}}const W=()=>Re.randomUUID?.()||Ot(),Ot=()=>("10000000-1000-4000-8000"+-1e11).replace(/[018]/g,e=>(e^Dt()>>e/4).toString(16)),Dt=()=>(Re.getRandomValues?.(new Uint8Array(1))[0]??Math.random()*16)&15,Re=typeof crypto<"u"?crypto:{},de=15e3,It=(e,t,r)=>Pe(e,"get",t,r),ft=(e,t,r,n)=>Pe(e,"post",t,n,JSON.stringify(r)),Pe=async(e,t,r,n,o)=>{const i=W(),A=performance?.now();let s=l(e);const _={method:t,url:r,body:o};s.networkCallEvent(V(i,_));try{const a=await fetch(r,{body:o,method:t,headers:{"content-type":"application/json","x-request-id":i,...n}});if(!a.ok){const P=new Error(`HTTP error! status: ${a.status}`);throw P.status=a.status,P}const E=await a.json();if(r.includes("client-sdk/configuration")){const{primerAccountId:P,clientSession:{clientSessionId:Ar,customer:sr}}=E;s=G({checkoutSessionId:e,clientSessionId:Ar,customerId:sr?.customerId,primerAccountId:P,url:s.url})}const N=performance?.now()-A;return s.networkCallEvent(V(i,_,{data:E},N)),{data:E,headers:a.headers,status:a.status,source:"NETWORK"}}catch(a){const f=performance?.now()-A;throw Object.assign(a,{isNetworkError:a instanceof TypeError}),s.networkCallEvent(V(i,_,{error:a},f)),a}},ue=(e,t)=>new Promise((r,n)=>{const o=setTimeout(()=>{const i=new Error("Request timed out");i.isNetworkError=!0,n(i)},t);e.then(r).catch(n).finally(()=>clearTimeout(o))}),lt=(e,t)=>{const{headers:r,retryConfig:n,cacheConfig:o,timeout:i=de,checkoutSessionId:A}=t,s=l(A);return ut(o)(()=>_e(()=>ue(It(A,e,r),i),n,_=>s.messageEvent({..._,url:e})))},_r=(e,t,r)=>{const{headers:n,retryConfig:o,cacheConfig:i,timeout:A=de,checkoutSessionId:s}=r,_=getAnalytics(s);return cacheRequest(i)(()=>retryWithExponentialBackoff(()=>ue(ft(s,e,t,n),A),o,a=>_.messageEvent({...a,url:e})))},Oe="3.7.7",Lt=Oe,L=typeof Buffer=="function",De=typeof TextDecoder=="function"?new TextDecoder:void 0,Ie=typeof TextEncoder=="function"?new TextEncoder:void 0,Y=Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="),U=(e=>{let t={};return e.forEach((r,n)=>t[r]=n),t})(Y),St=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,c=String.fromCharCode.bind(String),fe=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):e=>new Uint8Array(Array.prototype.slice.call(e,0)),le=e=>e.replace(/=/g,"").replace(/[+\/]/g,t=>t=="+"?"-":"_"),Le=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),Se=e=>{let t,r,n,o,i="";const A=e.length%3;for(let s=0;s<e.length;){if((r=e.charCodeAt(s++))>255||(n=e.charCodeAt(s++))>255||(o=e.charCodeAt(s++))>255)throw new TypeError("invalid character found");t=r<<16|n<<8|o,i+=Y[t>>18&63]+Y[t>>12&63]+Y[t>>6&63]+Y[t&63]}return A?i.slice(0,A-3)+"===".substring(A):i},$=typeof btoa=="function"?e=>btoa(e):L?e=>Buffer.from(e,"binary").toString("base64"):Se,j=L?e=>Buffer.from(e).toString("base64"):e=>{let r=[];for(let n=0,o=e.length;n<o;n+=4096)r.push(c.apply(null,e.subarray(n,n+4096)));return $(r.join(""))},g=(e,t=!1)=>t?le(j(e)):j(e),Ct=e=>{if(e.length<2){var t=e.charCodeAt(0);return t<128?e:t<2048?c(192|t>>>6)+c(128|t&63):c(224|t>>>12&15)+c(128|t>>>6&63)+c(128|t&63)}else{var t=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return c(240|t>>>18&7)+c(128|t>>>12&63)+c(128|t>>>6&63)+c(128|t&63)}},mt=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,Ce=e=>e.replace(mt,Ct),me=L?e=>Buffer.from(e,"utf8").toString("base64"):Ie?e=>j(Ie.encode(e)):e=>$(Ce(e)),S=(e,t=!1)=>t?le(me(e)):me(e),Ye=e=>S(e,!0),Yt=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,ht=e=>{switch(e.length){case 4:var t=(7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3),r=t-65536;return c((r>>>10)+55296)+c((r&1023)+56320);case 3:return c((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return c((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},he=e=>e.replace(Yt,ht),pe=e=>{if(e=e.replace(/\s+/g,""),!St.test(e))throw new TypeError("malformed base64.");e+="==".slice(2-(e.length&3));let t,r="",n,o;for(let i=0;i<e.length;)t=U[e.charAt(i++)]<<18|U[e.charAt(i++)]<<12|(n=U[e.charAt(i++)])<<6|(o=U[e.charAt(i++)]),r+=n===64?c(t>>16&255):o===64?c(t>>16&255,t>>8&255):c(t>>16&255,t>>8&255,t&255);return r},z=typeof atob=="function"?e=>atob(Le(e)):L?e=>Buffer.from(e,"base64").toString("binary"):pe,Me=L?e=>fe(Buffer.from(e,"base64")):e=>fe(z(e).split("").map(t=>t.charCodeAt(0))),ye=e=>Me(Ue(e)),pt=L?e=>Buffer.from(e,"base64").toString("utf8"):De?e=>De.decode(Me(e)):e=>he(z(e)),Ue=e=>Le(e.replace(/[-_]/g,t=>t=="-"?"+":"/")),X=e=>pt(Ue(e)),Mt=e=>{if(typeof e!="string")return!1;const t=e.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(t)||!/[^\s0-9a-zA-Z\-_]/.test(t)},ge=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),ke=function(){const e=(t,r)=>Object.defineProperty(String.prototype,t,ge(r));e("fromBase64",function(){return X(this)}),e("toBase64",function(t){return S(this,t)}),e("toBase64URI",function(){return S(this,!0)}),e("toBase64URL",function(){return S(this,!0)}),e("toUint8Array",function(){return ye(this)})},we=function(){const e=(t,r)=>Object.defineProperty(Uint8Array.prototype,t,ge(r));e("toBase64",function(t){return g(this,t)}),e("toBase64URI",function(){return g(this,!0)}),e("toBase64URL",function(){return g(this,!0)})},Be={version:Oe,VERSION:Lt,atob:z,atobPolyfill:pe,btoa:$,btoaPolyfill:Se,fromBase64:X,toBase64:S,encode:S,encodeURI:Ye,encodeURL:Ye,utob:Ce,btou:he,decode:X,isValid:Mt,fromUint8Array:g,toUint8Array:ye,extendString:ke,extendUint8Array:we,extendBuiltins:()=>{ke(),we()}},yt={encode:Ut,decode:Be.decode};function Ut(e,t={}){const{urlSafe:r=!1}=t;return Be.encode(e,r)}function gt(e){const t=Bt(e),r=t.exp*1e3;if(Date.now()>r)throw new Error(`${kt}. Expiration date: ${new Date(r).toISOString()}`);return t}const ve="The provided `clientToken`",kt=`${ve} has expired`,wt=`${ve} is malformed`;function Bt(e){try{const[t,r]=e.split("."),n=r||t;return JSON.parse(yt.decode(n))}catch{throw new Error(wt)}}const vt="v2.50.2",bt=(e,t,r)=>({"primer-client-token":e,"primer-sdk-client":"WEB","primer-sdk-version":vt,"primer-sdk-checkout-session-id":t,...r&&{"x-api-version":r}});async function Ht(e,t,r){const{accessToken:n,configurationUrl:o,analyticsUrlV2:i}=gt(e),A=G({checkoutSessionId:t,url:i}),s=Je(),_=s!==R.LEGACY?s:"2.3";A.timerStart({id:"CONFIGURATION_LOADING"});try{const{data:a,source:E}=await lt(`${o}/?withDisplayMetadata=true`,{checkoutSessionId:t,headers:bt(n,t,_),retryConfig:{enabled:!0},cacheConfig:r});return A.timerEnd({id:"CONFIGURATION_LOADING",context:{source:E}}),a}catch(a){const E=a instanceof Error?a.message:"Unknown error occurred";throw new Error(`Failed to initialize client: ${E}`)}}function be(e){return e instanceof Error?{errorBody:e.message,stacktrace:e.stack}:typeof e=="object"&&e!==null&&"message"in e?{errorBody:String(e.message),stacktrace:"stack"in e?String(e.stack):void 0}:{errorBody:String(e||"Unknown error")}}function k({checkoutSessionId:e,analytics:t,error:r,reporter:n}){t?.crashEvent?t.crashEvent({...be(r),reporter:n}):e&&Q(e,r,n)}async function Q(e,t,r){const n=te,o=await re(I.CRASH_EVENT,{...be(t),reporter:r},{checkoutSessionId:e});try{await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)})}catch(i){console.error("Failed to post crash event",i)}}const He=Symbol.for("initGlobalErrorMonitoringLoaded"),xe=(e,t)=>{typeof window<"u"&&window[He]||(window[He]=!0,window.addEventListener("error",r=>{xt(r)||Ft(r)&&k({checkoutSessionId:e,analytics:t,error:r.error,reporter:"window.onerror"})}),window.addEventListener("unhandledrejection",r=>{const n=r.reason||new Error("Unhandled promise rejection");Gt(n)&&k({checkoutSessionId:e,analytics:t,error:n,reporter:"unhandledrejection"})}))},xt=e=>e.message==="Script error."||!e.filename||e.lineno===0,Ft=e=>{const t=e.filename;return!!(t&&Z(t)&&new D(e.error).isReported)},Gt=e=>{if(e&&typeof e=="object"&&"stack"in e&&typeof e.stack=="string"){const t=D.from(e);if(t.isReported)return!1;if("fileName"in e&&typeof e.fileName=="string"){const n=e.fileName;if(Z(n))return!0}return Vt(t.stack).some(Z)}return!1},Z=e=>{try{return new URL(e,window.location.origin).hostname.endsWith(".primer.io")}catch{return!1}},Vt=e=>{if(!e)return[];const t=e.split(`
|
|
2
|
+
`),r=[],n=/^\s*at\s+(?:.*?\s+)?\(?(.+?):\d+:\d+\)?$/;for(const o of t){const i=o.match(n);if(i&&i[1])r.push(i[1]);else{const A=/@(.*?):\d+:\d+$/,s=o.match(A);s&&s[1]&&r.push(s[1])}}return r};function Kt(e,t){const r=document.createElement(e);return Object.entries(t).forEach(([n,o])=>r.setAttribute(n,o)),r}function Fe(e,t,r){return document.querySelector(`${e}[${t}^="${r}"]`)}async function Ge(e,t,r,n,o,i){const{analytics:A,name:s=t,retryConfig:_}=i;await _e(()=>new Promise((E,f)=>{const N=Fe(e,r,t)||Kt(e,{...n,[r]:t});N.onload=()=>{A?.sdkFunctionEvent({name:s,params:[`${e.charAt(0).toUpperCase()+e.slice(1)} loaded successfully: ${t}`]}),E()},N.onerror=()=>{N.remove(),f(new Error(`${o}: ${t}`))},N.parentNode||document.head.appendChild(N)}),_,E=>A?.messageEvent({...E,url:t}))}function Wt(e,t={}){return Fe("script","src",e)&&window.__Primer?(t.analytics?.sdkFunctionEvent({name:t.name??e,params:["Script already loaded"]}),Promise.resolve()):Ge("script",e,"src",{...t.attributes,async:"",crossorigin:"anonymous"},"Can't load Primer SDK",t)}function $t(e,t={}){return Array.from(document.styleSheets).some(r=>r.href===e)?(t.analytics?.sdkFunctionEvent({name:t.name??e,params:["Stylesheet already loaded"]}),Promise.resolve()):Ge("link",e,"href",{...t.attributes,rel:"stylesheet"},"Can't load Primer SDK's Stylesheet",t)}let h;async function Ve(e){return h||(h=Promise.all([Wt("https://sdk.primer.io/web/v2.50.2/PrimerCoreSDK.min.js",{analytics:e,name:"loadPrimerScript"}),$t("https://sdk.primer.io/web/v2.50.2/Checkout.css",{analytics:e,name:"loadPrimerCss"})]).then(()=>{const n=window.__Primer;return delete window.__Primer,n}).catch(n=>{throw h=void 0,n}),h)}const jt=async()=>{const e=W();try{const t=l(e);try{xe(e,t),t.sdkFunctionEvent({name:"preloadPrimer"}),t.timerStart({id:H.preloadPrimer}),await Ve(t),t.timerEnd({id:H.preloadPrimer})}catch(r){const n=D.from(r);throw n.isReported||(k({checkoutSessionId:e,analytics:t,error:n,reporter:"preloadPrimer level 1"}),n.markAsReported()),n}}catch(t){const r=D.from(t);throw r.isReported||(Q(e,r,"preloadPrimer level 0"),r.markAsReported()),r}},zt="v2.50.2",Xt=q("createHeadless"),Qt=q("showUniversalCheckout"),Zt=q("showVaultManager");function q(e){return async(...[t,r,...n])=>{qe(r?.apiVersion);const o=W();try{const i=l(o);try{xe(o,i),i.sdkFunctionEvent({name:e,params:[t,r,...n]}),i.timerStart({id:H[e]});const[A,s]=await Promise.all([Ht(t,o,r?.clientSessionCachingEnabled?{key:t,usePrimerSessionCacheTtlHeader:!0}:void 0),Ve(i)]);return s[e](A,o,t,r,...n)}catch(A){const s=D.from(A);throw s.isReported||(k({checkoutSessionId:o,analytics:i,error:s,reporter:"lazyLoad level 1"}),s.markAsReported()),s}}catch(i){const A=D.from(i);throw A.isReported||(Q(o,A,"lazyLoad level 0"),A.markAsReported()),A}}}var qt=(e=>(e.LOADING="Loading",e.NO_PAYMENT_METHOD="NoPaymentMethod",e.THREE_DS="UniversalCheckout/3ds",e.CHOOSE_PAYMENT_METHOD="UniversalCheckout/Home",e.MANAGE_PAYMENT_METHODS="VaultManager/Home",e.DIRECT_DEBIT_FORM="DirectDebit/Form",e.DIRECT_DEBIT_MANDATE="DirectDebit/Mandate",e.CREDIT_CARD_FORM="CreditCard/Form",e.SUCCESS_PAYMENT_METHOD="UniversalCheckout/Success/PaymentMethod",e.SUCCESS_CHECK="UniversalCheckout/Success/Check",e))(qt||{}),Jt=(e=>(e.ROOT="primer-checkout",e.ROOT_CONTENT="primer-checkout-content",e.SUBMIT_BUTTON="primer-checkout-submit-button",e.THREE_DS_MODAL="primer-checkout-3ds-modal",e.VAULT="primer-checkout-vault",e.VAULT_INLINE="primer-checkout-vault-inline",e.NAVIGATE_PAYMENT_METHODS="primer-checkout-navigate-to-payment-methods",e.DIVIDER="primer-checkout-payment-method-divider",e.APM_BUTTONS="primer-checkout-apm-button-container",e.CARDHOLDER_NAME="primer-checkout-cardholder-name",e.CARDHOLDER_NAME_INPUT="primer-checkout-card-cardholder-name-input",e.ACTIONS="primer-checkout-actions",e.ACTIONS_MENU="primer-checkout-actions-menu",e.SAVE_PAYMENT_METHOD_CHECKBOX="primer-checkout-save-payment-method-input",e.SAVE_PAYMENT_METHOD_FIELD="primer-checkout-save-payment-method-field",e.SAVED_PAYMENT_METHODS_EMPTY="primer-checkout-saved-payment-methods-empty-text",e.CARD_FORM="primer-checkout-card-form",e.DD_SWITCH="primer-checkout-switch-dd-inputs",e.DD_IBAN_FIELD="primer-checkout-dd-iban-field",e.DD_LOCAL_FIELD="primer-checkout-dd-local-fields",e.DD_CUSTOMER_NAME_INPUT="primer-checkout-dd-customer-name-input",e.DD_CUSTOMER_EMAIL_INPUT="primer-checkout-dd-customer-email-input",e.DD_CUSTOMER_ADDRESS_LINE1="primer-checkout-dd-customer-address-input",e.DD_CUSTOMER_ADDRESS_LINE2="primer-checkout-dd-customer-address-line2-input",e.DD_CUSTOMER_ADDRESS_CITY="primer-checkout-dd-customer-city-input",e.DD_CUSTOMER_ADDRESS_POSTAL_CODE="primer-checkout-dd-customer-postal-code-input",e.DD_IBAN_INPUT="primer-checkout-dd-iban-input",e.DD_ACCOUNT_NUMBER_INPUT="primer-checkout-dd-account-number-input",e.DD_BANK_CODE_INPUT="primer-checkout-dd-bank-code-input",e.DD_BRANCH_CODE_INPUT="primer-checkout-dd-branch-code-input",e.DD_MANDATE_SMALL_PRINT="primer-checkout-small-print",e.ERROR_MESSAGE="primer-checkout-error-message",e))(Jt||{}),er=(e=>(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",e))(er||{}),Ke=(e=>(e.CHECKOUT="CHECKOUT",e.HEADLESS_CHECKOUT="HEADLESS_CHECKOUT",e.MANAGE_PAYMENT_METHODS="MANAGE_PAYMENT_METHODS",e))(Ke||{}),We=(e=>(e.DEFAULT="DEFAULT",e.PREFER_VAULT="PREFER_VAULT",e))(We||{}),tr=(e=>(e.TOKENIZE_STARTED="tokenize-started",e.TOKENIZE_ERROR="tokenize-error",e.TOKENIZE_SUCCESS="tokenize-success",e.TOKENIZE_DID_NOT_START="tokenize-did-not-start",e))(tr||{}),$e=(e=>(e.SUCCESS="AUTH_SUCCESS",e.FAILED="AUTH_FAILED",e.SKIPPED="SKIPPED",e.CHALLENGE="CHALLENGE",e))($e||{});const w={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",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"},p={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",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"},Nr={PAYMENT_CARD:"PAYMENT_CARD",ADYEN_BANCONTACT_CARD:"ADYEN_BANCONTACT_CARD"},rr={SINGLE_USE:"SINGLE_USE",MULTI_USE:"MULTI_USE"},je={[w.PAYPAL_VAULTED]:p.PAYPAL,[w.KLARNA_CUSTOMER_TOKEN]:p.KLARNA,[w.AUTOMATED_CLEARING_HOUSE]:p.STRIPE_ACH},Rr=e=>{if(Object.values(p).includes(e))return e;if(je[e])return je[e]};var ze=(e=>(e.INITIALIZATION_ERROR="INITIALIZATION_ERROR",e.NO_PAYMENT_METHODS="NO_PAYMENT_METHODS",e.PRIMER_TEARDOWN="PRIMER_TEARDOWN",e.PRIMER_SERVER_ERROR="PRIMER_SERVER_ERROR",e.THREE_DS_AUTH_FAILED="THREE_DS_AUTH_FAILED",e.TOKENIZATION_ERROR="TOKENIZATION_ERROR",e.DUPLICATE_PAYMENT_METHOD_ERROR="DUPLICATE_PAYMENT_METHOD_ERROR",e.CARD_NUMBER_ERROR="CARD_NUMBER_ERROR",e.PAYMENT_METHOD_NOT_SETUP="PAYMENT_METHOD_NOT_SETUP",e.PAYMENT_METHOD_NOT_PROVIDED="PAYMENT_METHOD_NOT_PROVIDED",e.PAYMENT_METHOD_NOT_COMPATIBLE="PAYMENT_METHOD_NOT_COMPATIBLE",e.RESUME_ERROR="RESUME_ERROR",e.VALIDATION_ERROR="VALIDATION_ERROR",e.PAYMENT_FAILED="PAYMENT_FAILED",e.PAYMENT_CREATION_ABORTED="PAYMENT_CREATION_ABORTED",e.PAYMENT_CREATION_DISABLED="PAYMENT_CREATION_DISABLED",e.CLIENT_SESSION_UPDATE_ERROR="CLIENT_SESSION_UPDATE_ERROR",e.INVALID_ARGUMENT="INVALID_ARGUMENT",e.VAULT_FETCH="VAULT_FETCH",e.VAULT_DELETE="VAULT_DELETE",e.HEADLESS_VAULT_MANAGER_VALIDATION="HEADLESS_VAULT_MANAGER_VALIDATION",e.CARD_FORM_VALIDATION_UNEXPECTED_FIELD="CARD_FORM_VALIDATION_UNEXPECTED_FIELD",e.MISSING_FIRST_NAME_OR_LAST_NAME="MISSING_FIRST_NAME_OR_LAST_NAME",e.MISSING_EMAIL_ADDRESS="MISSING_EMAIL_ADDRESS",e.INVALID_FLOW="INVALID_FLOW",e))(ze||{});class J extends D{static fromErrorCode(t,r,n){return new J(t,r,n)}constructor(t,r,n){super(r.message),this.code=t,this.diagnosticsId=r.diagnosticsId??null,this.data=r.data,this.isFromDeveloper=r.isFromDeveloper??!1,this.name="PrimerClientError",Error.captureStackTrace&&Error.captureStackTrace(this,J),n&&(n.messageEvent({message:`${t}: ${r.message}`,messageType:t,severity:"ERROR",diagnosticsId:r.diagnosticsId??void 0,errorId:r.errorId??void 0,data:r.data??void 0,isFromDeveloper:r.isFromDeveloper?.toString(),stack:this.stack}),this.markAsReported())}}var nr=T(56),Xe=(e=>(e.PAYMENT_METHOD="PAYMENT_METHOD",e.CHECK="CHECK",e))(Xe||{});const or=e=>{const t=e?.mandateData;return t?"fullMandateText"in t:!1};var Qe=(e=>(e.CHANGE="change",e.ERROR="error",e.FOCUS="focus",e.BLUR="blur",e.CLICK="click",e.CLOSE="close",e))(Qe||{}),Ze=(e=>(e.CARD="CARD",e.NATIVE="NATIVE",e.REDIRECT="REDIRECT",e.FORM_WITH_REDIRECT="FORM_WITH_REDIRECT",e.KLARNA="KLARNA",e.ACH="ACH",e))(Ze||{});const ir={SDK_VERSION:zt,createHeadless:Xt,showUniversalCheckout:Qt,showVaultManager:Zt,preloadPrimer:jt}})(),B})());
|
package/dist/index.d.ts
CHANGED
|
@@ -1476,13 +1476,13 @@ export interface StripeAchCustomerDetails {
|
|
|
1476
1476
|
export interface StripeOptions {
|
|
1477
1477
|
publishableKey: string;
|
|
1478
1478
|
}
|
|
1479
|
-
export interface StripeOptionsDropInWithFullMandateText {
|
|
1479
|
+
export interface StripeOptionsDropInWithFullMandateText extends StripeOptions {
|
|
1480
1480
|
mandateData: {
|
|
1481
1481
|
fullMandateText: string;
|
|
1482
1482
|
merchantName?: never;
|
|
1483
1483
|
};
|
|
1484
1484
|
}
|
|
1485
|
-
export interface StripeOptionsDropInTextProvidedByPrimer {
|
|
1485
|
+
export interface StripeOptionsDropInTextProvidedByPrimer extends StripeOptions {
|
|
1486
1486
|
mandateData: {
|
|
1487
1487
|
merchantName: string;
|
|
1488
1488
|
fullMandateText?: never;
|