@primer-io/checkout-web 2.48.0 → 2.49.0
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 +5 -43
- package/package.json +1 -1
package/dist/Primer.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(function(U,R){typeof exports=="object"&&typeof module=="object"?module.exports=R():typeof define=="function"&&define.amd?define([],R):typeof exports=="object"?exports.Primer=R():U.Primer=R()})(this,()=>(()=>{var y={189:()=>{},367:()=>{},56:()=>{}},U={};function R(D){var O=U[D];if(O!==void 0)return O.exports;var d=U[D]={exports:{}};return y[D](d,d.exports,R),d.exports}R.d=(D,O)=>{for(var d in O)R.o(O,d)&&!R.o(D,d)&&Object.defineProperty(D,d,{enumerable:!0,get:O[d]})},R.o=(D,O)=>Object.prototype.hasOwnProperty.call(D,O),R.r=D=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(D,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(D,"__esModule",{value:!0})};var v={};return(()=>{"use strict";R.r(v),R.d(v,{CheckoutUXFlow:()=>Vr,ErrorCode:()=>Qr,EventTypes:()=>qr,HeadlessManagerType:()=>Jr,PaymentFlow:()=>Wr,PaymentInstrumentType:()=>jr,PaymentMethodData:()=>it.PaymentMethodData,PaymentMethodType:()=>q,Primer:()=>Et,SuccessScreenType:()=>Zr,ThreeDSecureStatus:()=>$r,TokenType:()=>Xr,isStripeOptionsDropInWithFullMandateText:()=>At});let O={[{API_VERSION_2_4:"api-version-2.4"}.API_VERSION_2_4]:!1};function d(r){O={...O,...r??{}}}function yr(r){return O[r]??!1}function st(){return O}class f extends Error{constructor(e,t=!1){super(e),this.isReported=t,this.name=this.constructor.name,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}static from(e,t=!1){if(e instanceof f)return e;const o=e instanceof Error?e.message:String(e),E=new f(o,t);return e instanceof Error&&e.stack&&(E.stack=e.stack,Object.assign(E,e)),E}markAsReported(){this.isReported=!0}}const rr="https://analytics.production.data.primer.io/sdk-logs";var ct=R(189),at=R(367),x=(r=>(r.REQUEST_START="REQUEST_START",r.REQUEST_END="REQUEST_END",r))(x||{}),b=(r=>(r.START="START",r.END="END",r))(b||{});const H={createHeadless:"HEADLESS_LOADING",showExpressCheckout:"EXPRESS_LOADING",showUniversalCheckout:"DROP_IN_LOADING",showVaultManager:"VAULT_MANAGER_LOADING",preloadPrimer:"PRELOAD_PRIMER_LOADING"};var l=(r=>(r.NETWORK_CALL_EVENT="NETWORK_CALL_EVENT",r.CRASH_EVENT="CRASH_EVENT",r.TIMER_EVENT="TIMER_EVENT",r.MESSAGE_EVENT="MESSAGE_EVENT",r.V1_EVENT="V1_EVENT",r.SDK_FUNCTION_EVENT="SDK_FUNCTION_EVENT",r))(l||{});const re={get(r,e){let t;try{switch(r){case"PRIMER_SDK_VERSION":t="v2.48.0";break;case"PRIMER_ASSETS_URL":t=process.env.PRIMER_ASSETS_URL;break;case"PRIMER_CORE_API_URL":t=process.env.PRIMER_CORE_API_URL;break;case"PRIMER_BUILD_INTEGRATION_BUILDER":t=process.env.PRIMER_BUILD_INTEGRATION_BUILDER;break;default:break}}catch{}return t||e}};var ee=(r=>(r.CHARGING="CHARGING",r.NOT_CHARGING="NOT_CHARGING",r))(ee||{});async function te(){if(typeof navigator>"u"||typeof performance>"u")return;const r=await navigator.getBattery?.();return{memoryFootprint:performance.memory?.usedJSHeapSize,screen:{height:screen?.height,width:screen?.width},userAgent:navigator.userAgent,locale:navigator.language,batteryLevel:r?.level,batteryStatus:r?.charging?"CHARGING":"NOT_CHARGING"}}const oe="WEB",ie=re.get("PRIMER_SDK_VERSION");async function er(r,e,t){return{...t,createdAt:Date.now(),device:await te(),eventType:r,properties:e,sdkVersion:ie,sdkType:oe}}const tr=Symbol.for("__primerAnalytics__");let C={providers:new Map,timers:new Map,eventsQueue:new Map};if(typeof window<"u"){const r=window[tr];r?C=r:window[tr]=C}const or=()=>C.providers,F=()=>C.timers,Y=()=>C.eventsQueue,ir=500,g=new Map,Ar=64e3,Ae=5;function G(r,e=!1,t=1){if(g.has(r)){const i=g.get(r);clearTimeout(i),g.delete(r)}const o=()=>{const i=Y().get(r);if(i?.length){let A=!0,_=[],s=0,n=0;for(;n<i.length;){const c=i[n],L=JSON.stringify(c),N=new Blob([L]).size;if(N>Ar){console.error("Event size exceeds maximum payload size and will be skipped:",c),n++;continue}if(s+N>Ar&&_.length>0){try{A=navigator.sendBeacon(r,JSON.stringify(_))}catch(T){A=!1,console.error("Unable to send events",T)}if(!A)break;_=[],s=0}_.push(c),s+=N,n++}if(_.length>0&&A)try{A=navigator.sendBeacon(r,JSON.stringify(_))}catch(c){A=!1,console.error("Unable to send events",c)}if(A)Y().delete(r);else if(t<Ae){const c=ir*Math.pow(2,t);setTimeout(()=>G(r,e,t+1),c)}else console.error("Max retry attempts reached. Events will not be sent.")}};if(e){o();return}const E=setTimeout(o,ir);g.set(r,E)}function Ee(r,e){Y().has(r)||Y().set(r,[]),Y().get(r)?.push(e),G(r)}const Er=1024*5;function _r(r,e,t=new WeakSet,o=0,E=10){if(o>E||t.has(r))return r;t.add(r);const i=A=>typeof A=="object"&&A!==null?_r(A,e,t,o+1,E):e(A);return Array.isArray(r)?r.map(i):Object.fromEntries(Object.entries(r).map(([A,_])=>[A,i(_)]))}function _e(r){return typeof r=="string"&&r.length>Er?`${r.slice(0,Er)}...`:r}function ne(r){return typeof r=="function"?r.name||"function":r}let nr=!1;function m({url:r=rr,...e}){typeof document<"u"&&!nr&&(document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&G(r,!0)}),nr=!0);const t=E=>async i=>{if(typeof navigator>"u")return;const A=await er(E,i,e),s=_r(A,n=>_e(ne(n)));Ee(r,s)},o={crashEvent:t(l.CRASH_EVENT),messageEvent:t(l.MESSAGE_EVENT),networkCallEvent:t(l.NETWORK_CALL_EVENT),sdkFunctionEvent:t(l.SDK_FUNCTION_EVENT),timerStart:({id:E,...i})=>{const A=`${e.checkoutSessionId}|${E}`,_=performance?.now?performance.now():Date.now();return F().set(A,{start:_}),t(l.TIMER_EVENT)({...i,id:E,timerType:b.START})},timerEnd:({id:E,...i})=>{const A=`${e.checkoutSessionId}|${E}`,{start:_=void 0}=F().get(A)??{};F().delete(A);const s=performance?.now?performance.now():Date.now(),n=_?s-_:void 0;return t(l.TIMER_EVENT)({...i,id:E,timerType:b.END,duration:n})},v1Event:t(l.V1_EVENT),url:r};return or().set(e.checkoutSessionId,o),I(e.checkoutSessionId)}function I(r){return new Proxy({},{get(e,t){return(or().get(r)??m({checkoutSessionId:r}))[t]}})}const K=(r,e,t,o)=>({callType:t?x.REQUEST_END:x.REQUEST_START,id:r,errorBody:t?.error&&JSON.stringify(t.error,Object.getOwnPropertyNames(t.error)),method:e.method,responseCode:t?.status,url:e.url,duration:o});function se(r){return r?new Promise(e=>{setTimeout(e,r)}):Promise.resolve()}const ce=8,ae=100,Re=100;function Ne(r){return{enabled:r?.enabled??!1,maxRetries:ce,initialBackoff:ae,retryNetworkErrors:!0,retry500Errors:!1,maxJitter:Re}}function Oe(r,e,t){const o=r*Math.pow(2,e-1),E=Math.random()*t;return Math.min(o+E,Number.MAX_SAFE_INTEGER)}async function sr(r,e,t,o=se){let E=0;const i=Ne(e);if(!i.enabled)return r();for(;;)try{const A=await r();if(E){let _=`Request succeeded after ${E} retries.`;typeof A=="object"&&A&&"status"in A&&(_+=` Status code: ${A.status}`),t?.({messageType:"RETRY_SUCCESS",message:_,severity:"INFO"})}return A}catch(A){const _=A,s=E>=i.maxRetries,n=_.isNetworkError&&!i.retryNetworkErrors,c=_.status&&_.status>=500&&!i.retry500Errors;if(s||n||c){let T=`Failed after ${E} retries. `;throw s?T+=`Reached maximum retries (${i.maxRetries}).`:n?T+="Network error encountered and retryNetworkErrors is disabled.":c&&(T+="HTTP 500 error encountered and retry500Errors is disabled."),T+=` Last error: ${_.message}`,t?.({messageType:"RETRY_FAILED",message:T,severity:"ERROR",errorBody:JSON.stringify(A,Object.getOwnPropertyNames(A))}),new Error(T,{cause:A})}E++;const L=Oe(i.initialBackoff,E,i.maxJitter);let N="Unknown error";_.isNetworkError?N="Network error":_.status&&(N=`HTTP ${_.status} error`),t?.({messageType:"RETRY",message:`Retry attempt ${E}/${i.maxRetries} due to: ${N}. Error details: ${_.message}. Waiting for ${L.toFixed(2)}ms before next attempt.`,severity:"WARN",errorBody:JSON.stringify(A,Object.getOwnPropertyNames(A))}),await o(L)}}let V={cache:new Map};typeof window<"u"&&(window.__primerCache__??(window.__primerCache__=V),V=window.__primerCache__);const u=()=>V.cache,cr=1e3*60*60,ue=30,ar=50;function Rr(){if(u().size<=ue)return;const r=Date.now();for(const[e,t]of u())t.exp<r&&u().delete(e);if(u().size>ar)for(const[e]of u()){if(u().size<=ar)break;u().delete(e)}}function Te({key:r,ttl:e=cr},t){e?u().set(r,{promise:Promise.resolve({...t,source:"CACHE"}),exp:Date.now()+e}):u().delete(r)}function De(r){if(!r)return i=>i();const{key:e,refresh:t=!1,usePrimerSessionCacheTtlHeader:o=!1,ttl:E=cr}=r;return async i=>{const A=Date.now(),_=u().get(e);if(!t&&_&&_.exp>A)return _.promise;_&&u().delete(e);const s=i().then(n=>{let c=E;return o&&(c=(Number(n.headers.get("x-primer-session-cache-ttl"))||0)*1e3),Te({key:e,ttl:c},n),Rr(),n},n=>{throw u().delete(e),n});return u().set(e,{promise:s,exp:A+E}),Rr(),s}}const W=()=>Nr.randomUUID?.()||de(),de=()=>("10000000-1000-4000-8000"+-1e11).replace(/[018]/g,r=>(r^fe()>>r/4).toString(16)),fe=()=>(Nr.getRandomValues?.(new Uint8Array(1))[0]??Math.random()*16)&15,Nr=typeof crypto<"u"?crypto:{},Or=15e3,le=(r,e,t)=>ur(r,"get",e,t),Le=(r,e,t,o)=>ur(r,"post",e,o,JSON.stringify(t)),ur=async(r,e,t,o,E)=>{const i=W(),A=performance?.now();let _=I(r);const s={method:e,url:t,body:E};_.networkCallEvent(K(i,s));try{const n=await fetch(t,{body:E,method:e,headers:{"content-type":"application/json","x-request-id":i,...o}});if(!n.ok){const T=new Error(`HTTP error! status: ${n.status}`);throw T.status=n.status,T}const c=await n.json();if(t.includes("client-sdk/configuration")){const{primerAccountId:T,clientSession:{clientSessionId:_t,customer:nt}}=c;_=m({checkoutSessionId:r,clientSessionId:_t,customerId:nt?.customerId,primerAccountId:T,url:_.url})}const N=performance?.now()-A;return _.networkCallEvent(K(i,s,{data:c},N)),{data:c,headers:n.headers,status:n.status,source:"NETWORK"}}catch(n){const L=performance?.now()-A;throw Object.assign(n,{isNetworkError:n instanceof TypeError}),_.networkCallEvent(K(i,s,{error:n},L)),n}},Tr=(r,e)=>new Promise((t,o)=>{const E=setTimeout(()=>{const i=new Error("Request timed out");i.isNetworkError=!0,o(i)},e);r.then(t).catch(o).finally(()=>clearTimeout(E))}),Se=(r,e)=>{const{headers:t,retryConfig:o,cacheConfig:E,timeout:i=Or,checkoutSessionId:A}=e,_=I(A);return De(E)(()=>sr(()=>Tr(le(A,r,t),i),o,s=>_.messageEvent({...s,url:r})))},Rt=(r,e,t)=>{const{headers:o,retryConfig:E,cacheConfig:i,timeout:A=Or,checkoutSessionId:_}=t,s=getAnalytics(_);return cacheRequest(i)(()=>retryWithExponentialBackoff(()=>Tr(Le(_,r,e,o),A),E,n=>s.messageEvent({...n,url:r})))},Dr="3.7.7",Pe=Dr,S=typeof Buffer=="function",dr=typeof TextDecoder=="function"?new TextDecoder:void 0,fr=typeof TextEncoder=="function"?new TextEncoder:void 0,h=Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="),k=(r=>{let e={};return r.forEach((t,o)=>e[t]=o),e})(h),Ce=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,a=String.fromCharCode.bind(String),lr=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):r=>new Uint8Array(Array.prototype.slice.call(r,0)),Lr=r=>r.replace(/=/g,"").replace(/[+\/]/g,e=>e=="+"?"-":"_"),Sr=r=>r.replace(/[^A-Za-z0-9\+\/]/g,""),Pr=r=>{let e,t,o,E,i="";const A=r.length%3;for(let _=0;_<r.length;){if((t=r.charCodeAt(_++))>255||(o=r.charCodeAt(_++))>255||(E=r.charCodeAt(_++))>255)throw new TypeError("invalid character found");e=t<<16|o<<8|E,i+=h[e>>18&63]+h[e>>12&63]+h[e>>6&63]+h[e&63]}return A?i.slice(0,A-3)+"===".substring(A):i},$=typeof btoa=="function"?r=>btoa(r):S?r=>Buffer.from(r,"binary").toString("base64"):Pr,j=S?r=>Buffer.from(r).toString("base64"):r=>{let t=[];for(let o=0,E=r.length;o<E;o+=4096)t.push(a.apply(null,r.subarray(o,o+4096)));return $(t.join(""))},w=(r,e=!1)=>e?Lr(j(r)):j(r),Ye=r=>{if(r.length<2){var e=r.charCodeAt(0);return e<128?r:e<2048?a(192|e>>>6)+a(128|e&63):a(224|e>>>12&15)+a(128|e>>>6&63)+a(128|e&63)}else{var e=65536+(r.charCodeAt(0)-55296)*1024+(r.charCodeAt(1)-56320);return a(240|e>>>18&7)+a(128|e>>>12&63)+a(128|e>>>6&63)+a(128|e&63)}},Ie=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,Cr=r=>r.replace(Ie,Ye),Yr=S?r=>Buffer.from(r,"utf8").toString("base64"):fr?r=>j(fr.encode(r)):r=>$(Cr(r)),P=(r,e=!1)=>e?Lr(Yr(r)):Yr(r),Ir=r=>P(r,!0),he=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,Me=r=>{switch(r.length){case 4:var e=(7&r.charCodeAt(0))<<18|(63&r.charCodeAt(1))<<12|(63&r.charCodeAt(2))<<6|63&r.charCodeAt(3),t=e-65536;return a((t>>>10)+55296)+a((t&1023)+56320);case 3:return a((15&r.charCodeAt(0))<<12|(63&r.charCodeAt(1))<<6|63&r.charCodeAt(2));default:return a((31&r.charCodeAt(0))<<6|63&r.charCodeAt(1))}},hr=r=>r.replace(he,Me),Mr=r=>{if(r=r.replace(/\s+/g,""),!Ce.test(r))throw new TypeError("malformed base64.");r+="==".slice(2-(r.length&3));let e,t="",o,E;for(let i=0;i<r.length;)e=k[r.charAt(i++)]<<18|k[r.charAt(i++)]<<12|(o=k[r.charAt(i++)])<<6|(E=k[r.charAt(i++)]),t+=o===64?a(e>>16&255):E===64?a(e>>16&255,e>>8&255):a(e>>16&255,e>>8&255,e&255);return t},X=typeof atob=="function"?r=>atob(Sr(r)):S?r=>Buffer.from(r,"base64").toString("binary"):Mr,Ur=S?r=>lr(Buffer.from(r,"base64")):r=>lr(X(r).split("").map(e=>e.charCodeAt(0))),gr=r=>Ur(kr(r)),Ue=S?r=>Buffer.from(r,"base64").toString("utf8"):dr?r=>dr.decode(Ur(r)):r=>hr(X(r)),kr=r=>Sr(r.replace(/[-_]/g,e=>e=="-"?"+":"/")),z=r=>Ue(kr(r)),ge=r=>{if(typeof r!="string")return!1;const e=r.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(e)||!/[^\s0-9a-zA-Z\-_]/.test(e)},wr=r=>({value:r,enumerable:!1,writable:!0,configurable:!0}),Br=function(){const r=(e,t)=>Object.defineProperty(String.prototype,e,wr(t));r("fromBase64",function(){return z(this)}),r("toBase64",function(e){return P(this,e)}),r("toBase64URI",function(){return P(this,!0)}),r("toBase64URL",function(){return P(this,!0)}),r("toUint8Array",function(){return gr(this)})},pr=function(){const r=(e,t)=>Object.defineProperty(Uint8Array.prototype,e,wr(t));r("toBase64",function(e){return w(this,e)}),r("toBase64URI",function(){return w(this,!0)}),r("toBase64URL",function(){return w(this,!0)})},vr={version:Dr,VERSION:Pe,atob:X,atobPolyfill:Mr,btoa:$,btoaPolyfill:Pr,fromBase64:z,toBase64:P,encode:P,encodeURI:Ir,encodeURL:Ir,utob:Cr,btou:hr,decode:z,isValid:ge,fromUint8Array:w,toUint8Array:gr,extendString:Br,extendUint8Array:pr,extendBuiltins:()=>{Br(),pr()}},ke={encode:we,decode:vr.decode};function we(r,e={}){const{urlSafe:t=!1}=e;return vr.encode(r,t)}function Be(r){const e=xe(r),t=e.exp*1e3;if(Date.now()>t)throw new Error(`${pe}. Expiration date: ${new Date(t).toISOString()}`);return e}const xr="The provided `clientToken`",pe=`${xr} has expired`,ve=`${xr} is malformed`;function xe(r){try{const[e,t]=r.split("."),o=t||e;return JSON.parse(ke.decode(o))}catch{throw new Error(ve)}}const be="v2.48.0",He=(r,e,t)=>({"primer-client-token":r,"primer-sdk-client":"WEB","primer-sdk-version":be,"primer-sdk-checkout-session-id":e,...t&&{"x-api-version":t}});async function Fe(r,e,t){const{accessToken:o,configurationUrl:E,analyticsUrlV2:i}=Be(r),A=m({checkoutSessionId:e,url:i}),_=yr("api-version-2.4");A.timerStart({id:"CONFIGURATION_LOADING"});try{const{data:s,source:n}=await Se(`${E}/?withDisplayMetadata=true`,{checkoutSessionId:e,headers:He(o,e,_?"2.4":"2.3"),retryConfig:{enabled:!0},cacheConfig:t});return A.timerEnd({id:"CONFIGURATION_LOADING",context:{source:n}}),s}catch(s){const n=s instanceof Error?s.message:"Unknown error occurred";throw new Error(`Failed to initialize client: ${n}`)}}function br(r){return r instanceof Error?{errorBody:r.message,stacktrace:r.stack}:typeof r=="object"&&r!==null&&"message"in r?{errorBody:String(r.message),stacktrace:"stack"in r?String(r.stack):void 0}:{errorBody:String(r||"Unknown error")}}function B({checkoutSessionId:r,analytics:e,error:t,reporter:o}){e?.crashEvent?e.crashEvent({...br(t),reporter:o}):r&&Q(r,t,o)}async function Q(r,e,t){const o=rr,E=await er(l.CRASH_EVENT,{...br(e),reporter:t},{checkoutSessionId:r});try{await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(E)})}catch(i){console.error("Failed to post crash event",i)}}const Hr=Symbol.for("initGlobalErrorMonitoringLoaded"),Fr=(r,e)=>{typeof window<"u"&&window[Hr]||(window[Hr]=!0,window.addEventListener("error",t=>{Ge(t)||me(t)&&B({checkoutSessionId:r,analytics:e,error:t.error,reporter:"window.onerror"})}),window.addEventListener("unhandledrejection",t=>{const o=t.reason||new Error("Unhandled promise rejection");Ke(o)&&B({checkoutSessionId:r,analytics:e,error:o,reporter:"unhandledrejection"})}))},Ge=r=>r.message==="Script error."||!r.filename||r.lineno===0,me=r=>{const e=r.filename;return!!(e&&Z(e)&&new f(r.error).isReported)},Ke=r=>{if(r&&typeof r=="object"&&"stack"in r&&typeof r.stack=="string"){const e=f.from(r);if(e.isReported)return!1;if("fileName"in r&&typeof r.fileName=="string"){const o=r.fileName;if(Z(o))return!0}return Ve(e.stack).some(Z)}return!1},Z=r=>{try{return new URL(r,window.location.origin).hostname.endsWith(".primer.io")}catch{return!1}},Ve=r=>{if(!r)return[];const e=r.split(`
|
|
2
|
-
`),t=[],o=/^\s*at\s+(?:.*?\s+)?\(?(.+?):\d+:\d+\)?$/;for(const E of e){const i=E.match(o);if(i&&i[1])t.push(i[1]);else{const A=/@(.*?):\d+:\d+$/,_=E.match(A);_&&_[1]&&t.push(_[1])}}return t};function We(r,e){const t=document.createElement(r);return Object.entries(e).forEach(([o,E])=>t.setAttribute(o,E)),t}function Gr(r,e,t){return document.querySelector(`${r}[${e}^="${t}"]`)}async function mr(r,e,t,o,E,i){const{analytics:A,name:_=e,retryConfig:s}=i;await sr(()=>new Promise((c,L)=>{const N=Gr(r,t,e)||We(r,{...o,[t]:e});N.onload=()=>{A?.sdkFunctionEvent({name:_,params:[`${r.charAt(0).toUpperCase()+r.slice(1)} loaded successfully: ${e}`]}),c()},N.onerror=()=>{N.remove(),L(new Error(`${E}: ${e}`))},N.parentNode||document.head.appendChild(N)}),s,c=>A?.messageEvent({...c,url:e}))}function $e(r,e={}){return Gr("script","src",r)&&window.__Primer?(e.analytics?.sdkFunctionEvent({name:e.name??r,params:["Script already loaded"]}),Promise.resolve()):mr("script",r,"src",{...e.attributes,async:"",crossorigin:"anonymous"},"Can't load Primer SDK",e)}function je(r,e={}){return Array.from(document.styleSheets).some(t=>t.href===r)?(e.analytics?.sdkFunctionEvent({name:e.name??r,params:["Stylesheet already loaded"]}),Promise.resolve()):mr("link",r,"href",{...e.attributes,rel:"stylesheet"},"Can't load Primer SDK's Stylesheet",e)}let M;async function Kr(r){return M||(M=Promise.all([$e("https://sdk.primer.io/web/v2.48.0/PrimerCoreSDK.min.js",{analytics:r,name:"loadPrimerScript"}),je("https://sdk.primer.io/web/v2.48.0/Checkout.css",{analytics:r,name:"loadPrimerCss"})]).then(()=>{const o=window.__Primer;return delete window.__Primer,o}).catch(o=>{throw M=void 0,o}),M)}const Xe=async()=>{const r=W();try{const e=I(r);try{Fr(r,e),e.sdkFunctionEvent({name:"preloadPrimer"}),e.timerStart({id:H.preloadPrimer}),await Kr(e),e.timerEnd({id:H.preloadPrimer})}catch(t){const o=f.from(t);throw o.isReported||(B({checkoutSessionId:r,analytics:e,error:o,reporter:"preloadPrimer level 1"}),o.markAsReported()),o}}catch(e){const t=f.from(e);throw t.isReported||(Q(r,t,"preloadPrimer level 0"),t.markAsReported()),t}},ze="v2.48.0",Qe=p("createHeadless"),Ze=p("showExpressCheckout"),qe=p("showUniversalCheckout"),Je=p("showVaultManager");function p(r){return async(...[e,t,...o])=>{d(t?.experimental);const E=W();try{const i=I(E);try{Fr(E,i),i.sdkFunctionEvent({name:r,params:[e,t,...o]}),i.timerStart({id:H[r]});const[A,_]=await Promise.all([Fe(e,E,t?.clientSessionCachingEnabled?{key:e,usePrimerSessionCacheTtlHeader:!0}:void 0),Kr(i)]);return _[r](A,E,e,t,...o)}catch(A){const _=f.from(A);throw _.isReported||(B({checkoutSessionId:E,analytics:i,error:_,reporter:"lazyLoad level 1"}),_.markAsReported()),_}}catch(i){const A=f.from(i);throw A.isReported||(Q(E,A,"lazyLoad level 0"),A.markAsReported()),A}}}var ye=(r=>(r.LOADING="Loading",r.NO_PAYMENT_METHOD="NoPaymentMethod",r.THREE_DS="UniversalCheckout/3ds",r.CHOOSE_PAYMENT_METHOD="UniversalCheckout/Home",r.MANAGE_PAYMENT_METHODS="VaultManager/Home",r.DIRECT_DEBIT_FORM="DirectDebit/Form",r.DIRECT_DEBIT_MANDATE="DirectDebit/Mandate",r.CREDIT_CARD_FORM="CreditCard/Form",r.SUCCESS_PAYMENT_METHOD="UniversalCheckout/Success/PaymentMethod",r.SUCCESS_CHECK="UniversalCheckout/Success/Check",r))(ye||{}),rt=(r=>(r.ROOT="primer-checkout",r.ROOT_CONTENT="primer-checkout-content",r.SUBMIT_BUTTON="primer-checkout-submit-button",r.THREE_DS_MODAL="primer-checkout-3ds-modal",r.VAULT="primer-checkout-vault",r.VAULT_INLINE="primer-checkout-vault-inline",r.NAVIGATE_PAYMENT_METHODS="primer-checkout-navigate-to-payment-methods",r.DIVIDER="primer-checkout-payment-method-divider",r.APM_BUTTONS="primer-checkout-apm-button-container",r.CARDHOLDER_NAME="primer-checkout-cardholder-name",r.CARDHOLDER_NAME_INPUT="primer-checkout-card-cardholder-name-input",r.ACTIONS="primer-checkout-actions",r.ACTIONS_MENU="primer-checkout-actions-menu",r.SAVE_PAYMENT_METHOD_CHECKBOX="primer-checkout-save-payment-method-input",r.SAVE_PAYMENT_METHOD_FIELD="primer-checkout-save-payment-method-field",r.SAVED_PAYMENT_METHODS_EMPTY="primer-checkout-saved-payment-methods-empty-text",r.CARD_FORM="primer-checkout-card-form",r.DD_SWITCH="primer-checkout-switch-dd-inputs",r.DD_IBAN_FIELD="primer-checkout-dd-iban-field",r.DD_LOCAL_FIELD="primer-checkout-dd-local-fields",r.DD_CUSTOMER_NAME_INPUT="primer-checkout-dd-customer-name-input",r.DD_CUSTOMER_EMAIL_INPUT="primer-checkout-dd-customer-email-input",r.DD_CUSTOMER_ADDRESS_LINE1="primer-checkout-dd-customer-address-input",r.DD_CUSTOMER_ADDRESS_LINE2="primer-checkout-dd-customer-address-line2-input",r.DD_CUSTOMER_ADDRESS_CITY="primer-checkout-dd-customer-city-input",r.DD_CUSTOMER_ADDRESS_POSTAL_CODE="primer-checkout-dd-customer-postal-code-input",r.DD_IBAN_INPUT="primer-checkout-dd-iban-input",r.DD_ACCOUNT_NUMBER_INPUT="primer-checkout-dd-account-number-input",r.DD_BANK_CODE_INPUT="primer-checkout-dd-bank-code-input",r.DD_BRANCH_CODE_INPUT="primer-checkout-dd-branch-code-input",r.DD_MANDATE_SMALL_PRINT="primer-checkout-small-print",r.ERROR_MESSAGE="primer-checkout-error-message",r))(rt||{}),et=(r=>(r.TOKEN="PrimerCheckout__token",r.HIDDEN="PrimerCheckout--hidden",r.FOCUSED="PrimerCheckout--focused",r.SELECTED="PrimerCheckout--selected",r.LOADING="PrimerCheckout--loading",r.ERROR="PrimerCheckout--error",r.CARD_TYPE="PrimerCheckout__cardType",r.SAVED_PAYMENT_METHOD="PrimerCheckout__savedPaymentMethod",r.SAVED_PAYMENT_METHOD_CONTAINER="PrimerCheckout__savedPaymentMethodContainer",r.APM_BUTTON="PrimerCheckout__apmButton",r.EDIT_BUTTON="PrimerCheckout__editButton",r.MENU="PrimerCheckout__dropDownMenu",r.MENU_ITEM="PrimerCheckout__dropDownMenuItem",r.PAYMENT_METHOD_MENU_ITEM="PrimerCheckout__paymentMethodDropDownMenuItem",r.DELETE_PAYMENT_METHOD_BUTTON="PrimerCheckout__paymentMethodDropDownMenuItem__deleteButton",r.ENTER="PrimerCheckout--enter",r.ENTERING="PrimerCheckout--entering",r.ENTERED="PrimerCheckout--entered",r.EXIT="PrimerCheckout--exit",r.EXITING="PrimerCheckout--exiting",r.EXITED="PrimerCheckout--exited",r))(et||{}),Vr=(r=>(r.CHECKOUT="CHECKOUT",r.EXPRESS_CHECKOUT="EXPRESS_CHECKOUT",r.HEADLESS_CHECKOUT="HEADLESS_CHECKOUT",r.MANAGE_PAYMENT_METHODS="MANAGE_PAYMENT_METHODS",r.SINGLE_PAYMENT_METHOD_CHECKOUT="SINGLE_PAYMENT_METHOD_CHECKOUT",r))(Vr||{}),Wr=(r=>(r.DEFAULT="DEFAULT",r.PREFER_VAULT="PREFER_VAULT",r))(Wr||{}),tt=(r=>(r.TOKENIZE_STARTED="tokenize-started",r.TOKENIZE_ERROR="tokenize-error",r.TOKENIZE_SUCCESS="tokenize-success",r.TOKENIZE_DID_NOT_START="tokenize-did-not-start",r))(tt||{}),$r=(r=>(r.SUCCESS="AUTH_SUCCESS",r.FAILED="AUTH_FAILED",r.SKIPPED="SKIPPED",r.CHALLENGE="CHALLENGE",r))($r||{}),jr=(r=>(r.WORLDPAY_IDEAL="WORLDPAY_IDEAL",r.AUTOMATED_CLEARING_HOUSE="AUTOMATED_CLEARING_HOUSE",r.ADYEN_KLARNA="ADYEN_KLARNA",r.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",r.PAY_NL_KAARTDIRECT="PAY_NL_KAARTDIRECT",r.ADYEN_EPS="ADYEN_EPS",r.ADYEN_BANCONTACT_PAYCONIQ="ADYEN_BANCONTACT_PAYCONIQ",r.OMISE_PROMPTPAY="OMISE_PROMPTPAY",r.OMISE_TRUEMONEY="OMISE_TRUEMONEY",r.ADYEN_MULTIBANCO="ADYEN_MULTIBANCO",r.PACYPAY_WECHAT="PACYPAY_WECHAT",r.PACYPAY_ALIPAY="PACYPAY_ALIPAY",r.ADYEN_MBWAY="ADYEN_MBWAY",r.XENDIT_DANA="XENDIT_DANA",r.XENDIT_SHOPEEPAY="XENDIT_SHOPEEPAY",r.ADYEN_PAYSHOP="ADYEN_PAYSHOP",r.ADYEN_PAYTRAIL="ADYEN_PAYTRAIL",r.CLEARPAY="CLEARPAY",r.RAPYD_FAST="RAPYD_FAST",r.RAPYD_PROMPTPAY="RAPYD_PROMPTPAY",r.RAPYD_GCASH="RAPYD_GCASH",r.RAPYD_POLI="RAPYD_POLI",r.RAPYD_GRABPAY="RAPYD_GRABPAY",r.PRIMER_PAYPAL="PRIMER_PAYPAL",r.TWOC2P="TWOC2P",r.NETS="NETS",r.STRIPE_ACH="STRIPE_ACH",r.STRIPE_GIROPAY="STRIPE_GIROPAY",r.MOLLIE_GIROPAY="MOLLIE_GIROPAY",r.MOLLIE_EPS="MOLLIE_EPS",r.PAY_NL_EPS="PAY_NL_EPS",r.PAY_NL_P24="PAY_NL_P24",r.MOLLIE_P24="MOLLIE_P24",r.MOLLIE_SOFORT="MOLLIE_SOFORT",r.COINBASE="COINBASE",r.OPENNODE="OPENNODE",r.MOLLIE_GIFT_CARD="MOLLIE_GIFTCARD",r.XFERS_PAYNOW="XFERS_PAYNOW",r.CARD="PAYMENT_CARD",r.APPLE_PAY="APPLE_PAY",r.GOOGLE_PAY="GOOGLE_PAY",r.PAYPAL="PAYPAL_ORDER",r.PAYPAL_VAULTED="PAYPAL_BILLING_AGREEMENT",r.GO_CARDLESS="GOCARDLESS",r.PAY_NL_IDEAL="PAY_NL_IDEAL",r.PAY_NL_SOFORT_BANKING="PAY_NL_SOFORT_BANKING",r.PAY_NL_BANCONTACT="PAY_NL_BANCONTACT",r.PAY_NL_PAYPAL="PAY_NL_PAYPAL",r.PAY_NL_CREDIT_TRANSFER="PAY_NL_CREDIT_TRANSFER",r.PAY_NL_DIRECT_DEBIT="PAY_NL_DIRECT_DEBIT",r.PAY_NL_GIROPAY="PAY_NL_GIROPAY",r.PAY_NL_PAYCONIQ="PAY_NL_PAYCONIQ",r.HOOLAH="HOOLAH",r.ADYEN_BLIK="ADYEN_BLIK",r.ADYEN_VIPPS="ADYEN_VIPPS",r.ADYEN_GIROPAY="ADYEN_GIROPAY",r.ADYEN_SOFORT="ADYEN_SOFORT",r.ADYEN_IDEAL="ADYEN_IDEAL",r.ADYEN_TRUSTLY="ADYEN_TRUSTLY",r.ADYEN_ALIPAY="ADYEN_ALIPAY",r.ADYEN_TWINT="ADYEN_TWINT",r.ADYEN_MOBILEPAY="ADYEN_MOBILEPAY",r.MOLLIE_BANCONTACT="MOLLIE_BANCONTACT",r.MOLLIE_IDEAL="MOLLIE_IDEAL",r.BUCKAROO_GIROPAY="BUCKAROO_GIROPAY",r.BUCKAROO_EPS="BUCKAROO_EPS",r.BUCKAROO_SOFORT="BUCKAROO_SOFORT",r.BUCKAROO_BANCONTACT="BUCKAROO_BANCONTACT",r.BUCKAROO_IDEAL="BUCKAROO_IDEAL",r.ATOME="ATOME",r.KLARNA_CUSTOMER_TOKEN="KLARNA_CUSTOMER_TOKEN",r))(jr||{}),q=(r=>(r.WORLDPAY_IDEAL="WORLDPAY_IDEAL",r.STRIPE_ACH="STRIPE_ACH",r.STRIPE_IDEAL="STRIPE_IDEAL",r.ADYEN_KLARNA="ADYEN_KLARNA",r.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",r.PAY_NL_KAARTDIRECT="PAY_NL_KAARTDIRECT",r.ADYEN_EPS="ADYEN_EPS",r.ADYEN_BANCONTACT_PAYCONIQ="ADYEN_BANCONTACT_PAYCONIQ",r.OMISE_PROMPTPAY="OMISE_PROMPTPAY",r.OMISE_TRUEMONEY="OMISE_TRUEMONEY",r.ADYEN_MULTIBANCO="ADYEN_MULTIBANCO",r.PACYPAY_WECHAT="PACYPAY_WECHAT",r.PACYPAY_ALIPAY="PACYPAY_ALIPAY",r.ADYEN_MBWAY="ADYEN_MBWAY",r.XENDIT_DANA="XENDIT_DANA",r.XENDIT_SHOPEEPAY="XENDIT_SHOPEEPAY",r.ADYEN_PAYSHOP="ADYEN_PAYSHOP",r.ADYEN_PAYTRAIL="ADYEN_PAYTRAIL",r.CLEARPAY="CLEARPAY",r.RAPYD_FAST="RAPYD_FAST",r.RAPYD_PROMPTPAY="RAPYD_PROMPTPAY",r.RAPYD_GCASH="RAPYD_GCASH",r.RAPYD_POLI="RAPYD_POLI",r.RAPYD_GRABPAY="RAPYD_GRABPAY",r.PRIMER_PAYPAL="PRIMER_PAYPAL",r.TWOC2P="TWOC2P",r.NETS="NETS",r.STRIPE_GIROPAY="STRIPE_GIROPAY",r.MOLLIE_GIROPAY="MOLLIE_GIROPAY",r.MOLLIE_EPS="MOLLIE_EPS",r.PAY_NL_EPS="PAY_NL_EPS",r.PAY_NL_P24="PAY_NL_P24",r.MOLLIE_P24="MOLLIE_P24",r.MOLLIE_SOFORT="MOLLIE_SOFORT",r.COINBASE="COINBASE",r.OPENNODE="OPENNODE",r.MOLLIE_GIFT_CARD="MOLLIE_GIFTCARD",r.XFERS_PAYNOW="XFERS_PAYNOW",r.PAYMENT_CARD="PAYMENT_CARD",r.APPLE_PAY="APPLE_PAY",r.GOOGLE_PAY="GOOGLE_PAY",r.PAYPAL="PAYPAL",r.GO_CARDLESS="GOCARDLESS",r.KLARNA="KLARNA",r.PAY_NL_IDEAL="PAY_NL_IDEAL",r.PAY_NL_SOFORT_BANKING="PAY_NL_SOFORT_BANKING",r.PAY_NL_BANCONTACT="PAY_NL_BANCONTACT",r.PAY_NL_PAYPAL="PAY_NL_PAYPAL",r.PAY_NL_CREDIT_TRANSFER="PAY_NL_CREDIT_TRANSFER",r.PAY_NL_DIRECT_DEBIT="PAY_NL_DIRECT_DEBIT",r.PAY_NL_GIROPAY="PAY_NL_GIROPAY",r.PAY_NL_PAYCONIQ="PAY_NL_PAYCONIQ",r.HOOLAH="HOOLAH",r.ADYEN_BLIK="ADYEN_BLIK",r.ADYEN_MOBILEPAY="ADYEN_MOBILEPAY",r.ADYEN_VIPPS="ADYEN_VIPPS",r.ADYEN_GIROPAY="ADYEN_GIROPAY",r.ADYEN_SOFORT="ADYEN_SOFORT",r.ADYEN_IDEAL="ADYEN_IDEAL",r.ADYEN_TRUSTLY="ADYEN_TRUSTLY",r.ADYEN_ALIPAY="ADYEN_ALIPAY",r.ADYEN_TWINT="ADYEN_TWINT",r.ADYEN_BANK_TRANSFER="ADYEN_BANK_TRANSFER",r.MOLLIE_BANCONTACT="MOLLIE_BANCONTACT",r.MOLLIE_IDEAL="MOLLIE_IDEAL",r.BUCKAROO_GIROPAY="BUCKAROO_GIROPAY",r.BUCKAROO_EPS="BUCKAROO_EPS",r.BUCKAROO_SOFORT="BUCKAROO_SOFORT",r.BUCKAROO_BANCONTACT="BUCKAROO_BANCONTACT",r.BUCKAROO_IDEAL="BUCKAROO_IDEAL",r.ATOME="ATOME",r))(q||{}),ot=(r=>(r.PAYMENT_CARD="PAYMENT_CARD",r.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",r))(ot||{}),Xr=(r=>(r.SINGLE_USE="SINGLE_USE",r.MULTI_USE="MULTI_USE",r))(Xr||{});const zr={PAYPAL_BILLING_AGREEMENT:"PAYPAL",KLARNA_CUSTOMER_TOKEN:"KLARNA",AUTOMATED_CLEARING_HOUSE:"STRIPE_ACH"},ut=r=>{if(Object.values(q).includes(r))return r;if(zr[r])return zr[r]};var Qr=(r=>(r.INITIALIZATION_ERROR="INITIALIZATION_ERROR",r.NO_PAYMENT_METHODS="NO_PAYMENT_METHODS",r.PRIMER_TEARDOWN="PRIMER_TEARDOWN",r.PRIMER_SERVER_ERROR="PRIMER_SERVER_ERROR",r.THREE_DS_AUTH_FAILED="THREE_DS_AUTH_FAILED",r.TOKENIZATION_ERROR="TOKENIZATION_ERROR",r.DUPLICATE_PAYMENT_METHOD_ERROR="DUPLICATE_PAYMENT_METHOD_ERROR",r.CARD_NUMBER_ERROR="CARD_NUMBER_ERROR",r.PAYMENT_METHOD_NOT_SETUP="PAYMENT_METHOD_NOT_SETUP",r.PAYMENT_METHOD_NOT_PROVIDED="PAYMENT_METHOD_NOT_PROVIDED",r.PAYMENT_METHOD_NOT_COMPATIBLE="PAYMENT_METHOD_NOT_COMPATIBLE",r.RESUME_ERROR="RESUME_ERROR",r.VALIDATION_ERROR="VALIDATION_ERROR",r.PAYMENT_FAILED="PAYMENT_FAILED",r.PAYMENT_CREATION_ABORTED="PAYMENT_CREATION_ABORTED",r.PAYMENT_CREATION_DISABLED="PAYMENT_CREATION_DISABLED",r.CLIENT_SESSION_UPDATE_ERROR="CLIENT_SESSION_UPDATE_ERROR",r.INVALID_ARGUMENT="INVALID_ARGUMENT",r.VAULT_FETCH="VAULT_FETCH",r.VAULT_DELETE="VAULT_DELETE",r.HEADLESS_VAULT_MANAGER_VALIDATION="HEADLESS_VAULT_MANAGER_VALIDATION",r.CARD_FORM_VALIDATION_UNEXPECTED_FIELD="CARD_FORM_VALIDATION_UNEXPECTED_FIELD",r.MISSING_FIRST_NAME_OR_LAST_NAME="MISSING_FIRST_NAME_OR_LAST_NAME",r.MISSING_EMAIL_ADDRESS="MISSING_EMAIL_ADDRESS",r.INVALID_FLOW="INVALID_FLOW",r))(Qr||{});class J extends f{static fromErrorCode(e,t,o){return new J(e,t,o)}constructor(e,t,o){super(t.message),this.code=e,this.diagnosticsId=t.diagnosticsId??null,this.data=t.data,this.isFromDeveloper=t.isFromDeveloper??!1,this.name="PrimerClientError",Error.captureStackTrace&&Error.captureStackTrace(this,J),o&&(o.messageEvent({message:`${e}: ${t.message}`,messageType:e,severity:"ERROR",diagnosticsId:t.diagnosticsId??void 0,errorId:t.errorId??void 0,data:t.data??void 0,isFromDeveloper:t.isFromDeveloper?.toString(),stack:this.stack}),this.markAsReported())}}var it=R(56),Zr=(r=>(r.PAYMENT_METHOD="PAYMENT_METHOD",r.CHECK="CHECK",r))(Zr||{});const At=r=>{const e=r?.mandateData;return e?"fullMandateText"in e:!1};var qr=(r=>(r.CHANGE="change",r.ERROR="error",r.FOCUS="focus",r.BLUR="blur",r.CLICK="click",r.CLOSE="close",r))(qr||{}),Jr=(r=>(r.CARD="CARD",r.NATIVE="NATIVE",r.REDIRECT="REDIRECT",r.FORM_WITH_REDIRECT="FORM_WITH_REDIRECT",r.KLARNA="KLARNA",r.ACH="ACH",r))(Jr||{});const Et={SDK_VERSION:ze,createHeadless:Qe,showExpressCheckout:Ze,showUniversalCheckout:qe,showVaultManager:Je,preloadPrimer:Xe}})(),v})());
|
|
1
|
+
(function(U,N){typeof exports=="object"&&typeof module=="object"?module.exports=N():typeof define=="function"&&define.amd?define([],N):typeof exports=="object"?exports.Primer=N():U.Primer=N()})(this,()=>(()=>{var y={189:()=>{},367:()=>{},56:()=>{}},U={};function N(D){var O=U[D];if(O!==void 0)return O.exports;var T=U[D]={exports:{}};return y[D](T,T.exports,N),T.exports}N.d=(D,O)=>{for(var T in O)N.o(O,T)&&!N.o(D,T)&&Object.defineProperty(D,T,{enumerable:!0,get:O[T]})},N.o=(D,O)=>Object.prototype.hasOwnProperty.call(D,O),N.r=D=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(D,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(D,"__esModule",{value:!0})};var p={};return(()=>{"use strict";N.r(p),N.d(p,{CheckoutUXFlow:()=>Vr,ErrorCode:()=>Qr,EventTypes:()=>qr,HeadlessManagerType:()=>Jr,PaymentFlow:()=>Wr,PaymentInstrumentType:()=>jr,PaymentMethodData:()=>ot.PaymentMethodData,PaymentMethodType:()=>q,Primer:()=>At,SuccessScreenType:()=>Zr,ThreeDSecureStatus:()=>$r,TokenType:()=>zr,isStripeOptionsDropInWithFullMandateText:()=>it});let O={[{API_VERSION_2_4:"api-version-2.4"}.API_VERSION_2_4]:!1};function T(r){O={...O,...r??{}}}function yr(r){return O[r]??!1}function nt(){return O}class f extends Error{constructor(e,t=!1){super(e),this.isReported=t,this.name=this.constructor.name,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}static from(e,t=!1){if(e instanceof f)return e;const o=e instanceof Error?e.message:String(e),E=new f(o,t);return e instanceof Error&&e.stack&&(E.stack=e.stack,Object.assign(E,e)),E}markAsReported(){this.isReported=!0}}const rr="https://analytics.production.data.primer.io/sdk-logs";var st=N(189),ct=N(367),v=(r=>(r.REQUEST_START="REQUEST_START",r.REQUEST_END="REQUEST_END",r))(v||{}),b=(r=>(r.START="START",r.END="END",r))(b||{});const x={createHeadless:"HEADLESS_LOADING",showUniversalCheckout:"DROP_IN_LOADING",showVaultManager:"VAULT_MANAGER_LOADING",preloadPrimer:"PRELOAD_PRIMER_LOADING"};var l=(r=>(r.NETWORK_CALL_EVENT="NETWORK_CALL_EVENT",r.CRASH_EVENT="CRASH_EVENT",r.TIMER_EVENT="TIMER_EVENT",r.MESSAGE_EVENT="MESSAGE_EVENT",r.V1_EVENT="V1_EVENT",r.SDK_FUNCTION_EVENT="SDK_FUNCTION_EVENT",r))(l||{});const re={get(r,e){let t;try{switch(r){case"PRIMER_SDK_VERSION":t="v2.49.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;break;default:break}}catch{}return t||e}};var ee=(r=>(r.CHARGING="CHARGING",r.NOT_CHARGING="NOT_CHARGING",r))(ee||{});async function te(){if(typeof navigator>"u"||typeof performance>"u")return;const r=await navigator.getBattery?.();return{memoryFootprint:performance.memory?.usedJSHeapSize,screen:{height:screen?.height,width:screen?.width},userAgent:navigator.userAgent,locale:navigator.language,batteryLevel:r?.level,batteryStatus:r?.charging?"CHARGING":"NOT_CHARGING"}}const oe="WEB",ie=re.get("PRIMER_SDK_VERSION");async function er(r,e,t){return{...t,createdAt:Date.now(),device:await te(),eventType:r,properties:e,sdkVersion:ie,sdkType:oe}}const tr=Symbol.for("__primerAnalytics__");let Y={providers:new Map,timers:new Map,eventsQueue:new Map};if(typeof window<"u"){const r=window[tr];r?Y=r:window[tr]=Y}const or=()=>Y.providers,F=()=>Y.timers,C=()=>Y.eventsQueue,ir=500,g=new Map,Ar=64e3,Ae=5;function H(r,e=!1,t=1){if(g.has(r)){const i=g.get(r);clearTimeout(i),g.delete(r)}const o=()=>{const i=C().get(r);if(i?.length){let A=!0,_=[],s=0,n=0;for(;n<i.length;){const c=i[n],L=JSON.stringify(c),R=new Blob([L]).size;if(R>Ar){console.error("Event size exceeds maximum payload size and will be skipped:",c),n++;continue}if(s+R>Ar&&_.length>0){try{A=navigator.sendBeacon(r,JSON.stringify(_))}catch(d){A=!1,console.error("Unable to send events",d)}if(!A)break;_=[],s=0}_.push(c),s+=R,n++}if(_.length>0&&A)try{A=navigator.sendBeacon(r,JSON.stringify(_))}catch(c){A=!1,console.error("Unable to send events",c)}if(A)C().delete(r);else if(t<Ae){const c=ir*Math.pow(2,t);setTimeout(()=>H(r,e,t+1),c)}else console.error("Max retry attempts reached. Events will not be sent.")}};if(e){o();return}const E=setTimeout(o,ir);g.set(r,E)}function Ee(r,e){C().has(r)||C().set(r,[]),C().get(r)?.push(e),H(r)}const Er=1024*5;function _r(r,e,t=new WeakSet,o=0,E=10){if(o>E||t.has(r))return r;t.add(r);const i=A=>typeof A=="object"&&A!==null?_r(A,e,t,o+1,E):e(A);return Array.isArray(r)?r.map(i):Object.fromEntries(Object.entries(r).map(([A,_])=>[A,i(_)]))}function _e(r){return typeof r=="string"&&r.length>Er?`${r.slice(0,Er)}...`:r}function ne(r){return typeof r=="function"?r.name||"function":r}let nr=!1;function m({url:r=rr,...e}){typeof document<"u"&&!nr&&(document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&H(r,!0)}),nr=!0);const t=E=>async i=>{if(typeof navigator>"u")return;const A=await er(E,i,e),s=_r(A,n=>_e(ne(n)));Ee(r,s)},o={crashEvent:t(l.CRASH_EVENT),messageEvent:t(l.MESSAGE_EVENT),networkCallEvent:t(l.NETWORK_CALL_EVENT),sdkFunctionEvent:t(l.SDK_FUNCTION_EVENT),timerStart:({id:E,...i})=>{const A=`${e.checkoutSessionId}|${E}`,_=performance?.now?performance.now():Date.now();return F().set(A,{start:_}),t(l.TIMER_EVENT)({...i,id:E,timerType:b.START})},timerEnd:({id:E,...i})=>{const A=`${e.checkoutSessionId}|${E}`,{start:_=void 0}=F().get(A)??{};F().delete(A);const s=performance?.now?performance.now():Date.now(),n=_?s-_:void 0;return t(l.TIMER_EVENT)({...i,id:E,timerType:b.END,duration:n})},v1Event:t(l.V1_EVENT),url:r};return or().set(e.checkoutSessionId,o),I(e.checkoutSessionId)}function I(r){return new Proxy({},{get(e,t){return(or().get(r)??m({checkoutSessionId:r}))[t]}})}const G=(r,e,t,o)=>({callType:t?v.REQUEST_END:v.REQUEST_START,id:r,errorBody:t?.error&&JSON.stringify(t.error,Object.getOwnPropertyNames(t.error)),method:e.method,responseCode:t?.status,url:e.url,duration:o});function se(r){return r?new Promise(e=>{setTimeout(e,r)}):Promise.resolve()}const ce=8,ae=100,Ne=100;function Re(r){return{enabled:r?.enabled??!1,maxRetries:ce,initialBackoff:ae,retryNetworkErrors:!0,retry500Errors:!1,maxJitter:Ne}}function Oe(r,e,t){const o=r*Math.pow(2,e-1),E=Math.random()*t;return Math.min(o+E,Number.MAX_SAFE_INTEGER)}async function sr(r,e,t,o=se){let E=0;const i=Re(e);if(!i.enabled)return r();for(;;)try{const A=await r();if(E){let _=`Request succeeded after ${E} retries.`;typeof A=="object"&&A&&"status"in A&&(_+=` Status code: ${A.status}`),t?.({messageType:"RETRY_SUCCESS",message:_,severity:"INFO"})}return A}catch(A){const _=A,s=E>=i.maxRetries,n=_.isNetworkError&&!i.retryNetworkErrors,c=_.status&&_.status>=500&&!i.retry500Errors;if(s||n||c){let d=`Failed after ${E} retries. `;throw s?d+=`Reached maximum retries (${i.maxRetries}).`:n?d+="Network error encountered and retryNetworkErrors is disabled.":c&&(d+="HTTP 500 error encountered and retry500Errors is disabled."),d+=` Last error: ${_.message}`,t?.({messageType:"RETRY_FAILED",message:d,severity:"ERROR",errorBody:JSON.stringify(A,Object.getOwnPropertyNames(A))}),new Error(d,{cause:A})}E++;const L=Oe(i.initialBackoff,E,i.maxJitter);let R="Unknown error";_.isNetworkError?R="Network error":_.status&&(R=`HTTP ${_.status} error`),t?.({messageType:"RETRY",message:`Retry attempt ${E}/${i.maxRetries} due to: ${R}. Error details: ${_.message}. Waiting for ${L.toFixed(2)}ms before next attempt.`,severity:"WARN",errorBody:JSON.stringify(A,Object.getOwnPropertyNames(A))}),await o(L)}}let K={cache:new Map};typeof window<"u"&&(window.__primerCache__??(window.__primerCache__=K),K=window.__primerCache__);const u=()=>K.cache,cr=1e3*60*60,ue=30,ar=50;function Nr(){if(u().size<=ue)return;const r=Date.now();for(const[e,t]of u())t.exp<r&&u().delete(e);if(u().size>ar)for(const[e]of u()){if(u().size<=ar)break;u().delete(e)}}function de({key:r,ttl:e=cr},t){e?u().set(r,{promise:Promise.resolve({...t,source:"CACHE"}),exp:Date.now()+e}):u().delete(r)}function De(r){if(!r)return i=>i();const{key:e,refresh:t=!1,usePrimerSessionCacheTtlHeader:o=!1,ttl:E=cr}=r;return async i=>{const A=Date.now(),_=u().get(e);if(!t&&_&&_.exp>A)return _.promise;_&&u().delete(e);const s=i().then(n=>{let c=E;return o&&(c=(Number(n.headers.get("x-primer-session-cache-ttl"))||0)*1e3),de({key:e,ttl:c},n),Nr(),n},n=>{throw u().delete(e),n});return u().set(e,{promise:s,exp:A+E}),Nr(),s}}const V=()=>Rr.randomUUID?.()||Te(),Te=()=>("10000000-1000-4000-8000"+-1e11).replace(/[018]/g,r=>(r^fe()>>r/4).toString(16)),fe=()=>(Rr.getRandomValues?.(new Uint8Array(1))[0]??Math.random()*16)&15,Rr=typeof crypto<"u"?crypto:{},Or=15e3,le=(r,e,t)=>ur(r,"get",e,t),Le=(r,e,t,o)=>ur(r,"post",e,o,JSON.stringify(t)),ur=async(r,e,t,o,E)=>{const i=V(),A=performance?.now();let _=I(r);const s={method:e,url:t,body:E};_.networkCallEvent(G(i,s));try{const n=await fetch(t,{body:E,method:e,headers:{"content-type":"application/json","x-request-id":i,...o}});if(!n.ok){const d=new Error(`HTTP error! status: ${n.status}`);throw d.status=n.status,d}const c=await n.json();if(t.includes("client-sdk/configuration")){const{primerAccountId:d,clientSession:{clientSessionId:Et,customer:_t}}=c;_=m({checkoutSessionId:r,clientSessionId:Et,customerId:_t?.customerId,primerAccountId:d,url:_.url})}const R=performance?.now()-A;return _.networkCallEvent(G(i,s,{data:c},R)),{data:c,headers:n.headers,status:n.status,source:"NETWORK"}}catch(n){const L=performance?.now()-A;throw Object.assign(n,{isNetworkError:n instanceof TypeError}),_.networkCallEvent(G(i,s,{error:n},L)),n}},dr=(r,e)=>new Promise((t,o)=>{const E=setTimeout(()=>{const i=new Error("Request timed out");i.isNetworkError=!0,o(i)},e);r.then(t).catch(o).finally(()=>clearTimeout(E))}),Se=(r,e)=>{const{headers:t,retryConfig:o,cacheConfig:E,timeout:i=Or,checkoutSessionId:A}=e,_=I(A);return De(E)(()=>sr(()=>dr(le(A,r,t),i),o,s=>_.messageEvent({...s,url:r})))},at=(r,e,t)=>{const{headers:o,retryConfig:E,cacheConfig:i,timeout:A=Or,checkoutSessionId:_}=t,s=getAnalytics(_);return cacheRequest(i)(()=>retryWithExponentialBackoff(()=>dr(Le(_,r,e,o),A),E,n=>s.messageEvent({...n,url:r})))},Dr="3.7.7",Pe=Dr,S=typeof Buffer=="function",Tr=typeof TextDecoder=="function"?new TextDecoder:void 0,fr=typeof TextEncoder=="function"?new TextEncoder:void 0,h=Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="),k=(r=>{let e={};return r.forEach((t,o)=>e[t]=o),e})(h),Ye=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,a=String.fromCharCode.bind(String),lr=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):r=>new Uint8Array(Array.prototype.slice.call(r,0)),Lr=r=>r.replace(/=/g,"").replace(/[+\/]/g,e=>e=="+"?"-":"_"),Sr=r=>r.replace(/[^A-Za-z0-9\+\/]/g,""),Pr=r=>{let e,t,o,E,i="";const A=r.length%3;for(let _=0;_<r.length;){if((t=r.charCodeAt(_++))>255||(o=r.charCodeAt(_++))>255||(E=r.charCodeAt(_++))>255)throw new TypeError("invalid character found");e=t<<16|o<<8|E,i+=h[e>>18&63]+h[e>>12&63]+h[e>>6&63]+h[e&63]}return A?i.slice(0,A-3)+"===".substring(A):i},W=typeof btoa=="function"?r=>btoa(r):S?r=>Buffer.from(r,"binary").toString("base64"):Pr,$=S?r=>Buffer.from(r).toString("base64"):r=>{let t=[];for(let o=0,E=r.length;o<E;o+=4096)t.push(a.apply(null,r.subarray(o,o+4096)));return W(t.join(""))},w=(r,e=!1)=>e?Lr($(r)):$(r),Ce=r=>{if(r.length<2){var e=r.charCodeAt(0);return e<128?r:e<2048?a(192|e>>>6)+a(128|e&63):a(224|e>>>12&15)+a(128|e>>>6&63)+a(128|e&63)}else{var e=65536+(r.charCodeAt(0)-55296)*1024+(r.charCodeAt(1)-56320);return a(240|e>>>18&7)+a(128|e>>>12&63)+a(128|e>>>6&63)+a(128|e&63)}},Ie=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,Yr=r=>r.replace(Ie,Ce),Cr=S?r=>Buffer.from(r,"utf8").toString("base64"):fr?r=>$(fr.encode(r)):r=>W(Yr(r)),P=(r,e=!1)=>e?Lr(Cr(r)):Cr(r),Ir=r=>P(r,!0),he=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,Me=r=>{switch(r.length){case 4:var e=(7&r.charCodeAt(0))<<18|(63&r.charCodeAt(1))<<12|(63&r.charCodeAt(2))<<6|63&r.charCodeAt(3),t=e-65536;return a((t>>>10)+55296)+a((t&1023)+56320);case 3:return a((15&r.charCodeAt(0))<<12|(63&r.charCodeAt(1))<<6|63&r.charCodeAt(2));default:return a((31&r.charCodeAt(0))<<6|63&r.charCodeAt(1))}},hr=r=>r.replace(he,Me),Mr=r=>{if(r=r.replace(/\s+/g,""),!Ye.test(r))throw new TypeError("malformed base64.");r+="==".slice(2-(r.length&3));let e,t="",o,E;for(let i=0;i<r.length;)e=k[r.charAt(i++)]<<18|k[r.charAt(i++)]<<12|(o=k[r.charAt(i++)])<<6|(E=k[r.charAt(i++)]),t+=o===64?a(e>>16&255):E===64?a(e>>16&255,e>>8&255):a(e>>16&255,e>>8&255,e&255);return t},j=typeof atob=="function"?r=>atob(Sr(r)):S?r=>Buffer.from(r,"base64").toString("binary"):Mr,Ur=S?r=>lr(Buffer.from(r,"base64")):r=>lr(j(r).split("").map(e=>e.charCodeAt(0))),gr=r=>Ur(kr(r)),Ue=S?r=>Buffer.from(r,"base64").toString("utf8"):Tr?r=>Tr.decode(Ur(r)):r=>hr(j(r)),kr=r=>Sr(r.replace(/[-_]/g,e=>e=="-"?"+":"/")),z=r=>Ue(kr(r)),ge=r=>{if(typeof r!="string")return!1;const e=r.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(e)||!/[^\s0-9a-zA-Z\-_]/.test(e)},wr=r=>({value:r,enumerable:!1,writable:!0,configurable:!0}),Br=function(){const r=(e,t)=>Object.defineProperty(String.prototype,e,wr(t));r("fromBase64",function(){return z(this)}),r("toBase64",function(e){return P(this,e)}),r("toBase64URI",function(){return P(this,!0)}),r("toBase64URL",function(){return P(this,!0)}),r("toUint8Array",function(){return gr(this)})},pr=function(){const r=(e,t)=>Object.defineProperty(Uint8Array.prototype,e,wr(t));r("toBase64",function(e){return w(this,e)}),r("toBase64URI",function(){return w(this,!0)}),r("toBase64URL",function(){return w(this,!0)})},vr={version:Dr,VERSION:Pe,atob:j,atobPolyfill:Mr,btoa:W,btoaPolyfill:Pr,fromBase64:z,toBase64:P,encode:P,encodeURI:Ir,encodeURL:Ir,utob:Yr,btou:hr,decode:z,isValid:ge,fromUint8Array:w,toUint8Array:gr,extendString:Br,extendUint8Array:pr,extendBuiltins:()=>{Br(),pr()}},ke={encode:we,decode:vr.decode};function we(r,e={}){const{urlSafe:t=!1}=e;return vr.encode(r,t)}function Be(r){const e=be(r),t=e.exp*1e3;if(Date.now()>t)throw new Error(`${pe}. Expiration date: ${new Date(t).toISOString()}`);return e}const br="The provided `clientToken`",pe=`${br} has expired`,ve=`${br} is malformed`;function be(r){try{const[e,t]=r.split("."),o=t||e;return JSON.parse(ke.decode(o))}catch{throw new Error(ve)}}const xe="v2.49.0",Fe=(r,e,t)=>({"primer-client-token":r,"primer-sdk-client":"WEB","primer-sdk-version":xe,"primer-sdk-checkout-session-id":e,...t&&{"x-api-version":t}});async function He(r,e,t){const{accessToken:o,configurationUrl:E,analyticsUrlV2:i}=Be(r),A=m({checkoutSessionId:e,url:i}),_=yr("api-version-2.4");A.timerStart({id:"CONFIGURATION_LOADING"});try{const{data:s,source:n}=await Se(`${E}/?withDisplayMetadata=true`,{checkoutSessionId:e,headers:Fe(o,e,_?"2.4":"2.3"),retryConfig:{enabled:!0},cacheConfig:t});return A.timerEnd({id:"CONFIGURATION_LOADING",context:{source:n}}),s}catch(s){const n=s instanceof Error?s.message:"Unknown error occurred";throw new Error(`Failed to initialize client: ${n}`)}}function xr(r){return r instanceof Error?{errorBody:r.message,stacktrace:r.stack}:typeof r=="object"&&r!==null&&"message"in r?{errorBody:String(r.message),stacktrace:"stack"in r?String(r.stack):void 0}:{errorBody:String(r||"Unknown error")}}function B({checkoutSessionId:r,analytics:e,error:t,reporter:o}){e?.crashEvent?e.crashEvent({...xr(t),reporter:o}):r&&X(r,t,o)}async function X(r,e,t){const o=rr,E=await er(l.CRASH_EVENT,{...xr(e),reporter:t},{checkoutSessionId:r});try{await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(E)})}catch(i){console.error("Failed to post crash event",i)}}const Fr=Symbol.for("initGlobalErrorMonitoringLoaded"),Hr=(r,e)=>{typeof window<"u"&&window[Fr]||(window[Fr]=!0,window.addEventListener("error",t=>{me(t)||Ge(t)&&B({checkoutSessionId:r,analytics:e,error:t.error,reporter:"window.onerror"})}),window.addEventListener("unhandledrejection",t=>{const o=t.reason||new Error("Unhandled promise rejection");Ke(o)&&B({checkoutSessionId:r,analytics:e,error:o,reporter:"unhandledrejection"})}))},me=r=>r.message==="Script error."||!r.filename||r.lineno===0,Ge=r=>{const e=r.filename;return!!(e&&Q(e)&&new f(r.error).isReported)},Ke=r=>{if(r&&typeof r=="object"&&"stack"in r&&typeof r.stack=="string"){const e=f.from(r);if(e.isReported)return!1;if("fileName"in r&&typeof r.fileName=="string"){const o=r.fileName;if(Q(o))return!0}return Ve(e.stack).some(Q)}return!1},Q=r=>{try{return new URL(r,window.location.origin).hostname.endsWith(".primer.io")}catch{return!1}},Ve=r=>{if(!r)return[];const e=r.split(`
|
|
2
|
+
`),t=[],o=/^\s*at\s+(?:.*?\s+)?\(?(.+?):\d+:\d+\)?$/;for(const E of e){const i=E.match(o);if(i&&i[1])t.push(i[1]);else{const A=/@(.*?):\d+:\d+$/,_=E.match(A);_&&_[1]&&t.push(_[1])}}return t};function We(r,e){const t=document.createElement(r);return Object.entries(e).forEach(([o,E])=>t.setAttribute(o,E)),t}function mr(r,e,t){return document.querySelector(`${r}[${e}^="${t}"]`)}async function Gr(r,e,t,o,E,i){const{analytics:A,name:_=e,retryConfig:s}=i;await sr(()=>new Promise((c,L)=>{const R=mr(r,t,e)||We(r,{...o,[t]:e});R.onload=()=>{A?.sdkFunctionEvent({name:_,params:[`${r.charAt(0).toUpperCase()+r.slice(1)} loaded successfully: ${e}`]}),c()},R.onerror=()=>{R.remove(),L(new Error(`${E}: ${e}`))},R.parentNode||document.head.appendChild(R)}),s,c=>A?.messageEvent({...c,url:e}))}function $e(r,e={}){return mr("script","src",r)&&window.__Primer?(e.analytics?.sdkFunctionEvent({name:e.name??r,params:["Script already loaded"]}),Promise.resolve()):Gr("script",r,"src",{...e.attributes,async:"",crossorigin:"anonymous"},"Can't load Primer SDK",e)}function je(r,e={}){return Array.from(document.styleSheets).some(t=>t.href===r)?(e.analytics?.sdkFunctionEvent({name:e.name??r,params:["Stylesheet already loaded"]}),Promise.resolve()):Gr("link",r,"href",{...e.attributes,rel:"stylesheet"},"Can't load Primer SDK's Stylesheet",e)}let M;async function Kr(r){return M||(M=Promise.all([$e("https://sdk.primer.io/web/v2.49.0/PrimerCoreSDK.min.js",{analytics:r,name:"loadPrimerScript"}),je("https://sdk.primer.io/web/v2.49.0/Checkout.css",{analytics:r,name:"loadPrimerCss"})]).then(()=>{const o=window.__Primer;return delete window.__Primer,o}).catch(o=>{throw M=void 0,o}),M)}const ze=async()=>{const r=V();try{const e=I(r);try{Hr(r,e),e.sdkFunctionEvent({name:"preloadPrimer"}),e.timerStart({id:x.preloadPrimer}),await Kr(e),e.timerEnd({id:x.preloadPrimer})}catch(t){const o=f.from(t);throw o.isReported||(B({checkoutSessionId:r,analytics:e,error:o,reporter:"preloadPrimer level 1"}),o.markAsReported()),o}}catch(e){const t=f.from(e);throw t.isReported||(X(r,t,"preloadPrimer level 0"),t.markAsReported()),t}},Xe="v2.49.0",Qe=Z("createHeadless"),Ze=Z("showUniversalCheckout"),qe=Z("showVaultManager");function Z(r){return async(...[e,t,...o])=>{T(t?.experimental);const E=V();try{const i=I(E);try{Hr(E,i),i.sdkFunctionEvent({name:r,params:[e,t,...o]}),i.timerStart({id:x[r]});const[A,_]=await Promise.all([He(e,E,t?.clientSessionCachingEnabled?{key:e,usePrimerSessionCacheTtlHeader:!0}:void 0),Kr(i)]);return _[r](A,E,e,t,...o)}catch(A){const _=f.from(A);throw _.isReported||(B({checkoutSessionId:E,analytics:i,error:_,reporter:"lazyLoad level 1"}),_.markAsReported()),_}}catch(i){const A=f.from(i);throw A.isReported||(X(E,A,"lazyLoad level 0"),A.markAsReported()),A}}}var Je=(r=>(r.LOADING="Loading",r.NO_PAYMENT_METHOD="NoPaymentMethod",r.THREE_DS="UniversalCheckout/3ds",r.CHOOSE_PAYMENT_METHOD="UniversalCheckout/Home",r.MANAGE_PAYMENT_METHODS="VaultManager/Home",r.DIRECT_DEBIT_FORM="DirectDebit/Form",r.DIRECT_DEBIT_MANDATE="DirectDebit/Mandate",r.CREDIT_CARD_FORM="CreditCard/Form",r.SUCCESS_PAYMENT_METHOD="UniversalCheckout/Success/PaymentMethod",r.SUCCESS_CHECK="UniversalCheckout/Success/Check",r))(Je||{}),ye=(r=>(r.ROOT="primer-checkout",r.ROOT_CONTENT="primer-checkout-content",r.SUBMIT_BUTTON="primer-checkout-submit-button",r.THREE_DS_MODAL="primer-checkout-3ds-modal",r.VAULT="primer-checkout-vault",r.VAULT_INLINE="primer-checkout-vault-inline",r.NAVIGATE_PAYMENT_METHODS="primer-checkout-navigate-to-payment-methods",r.DIVIDER="primer-checkout-payment-method-divider",r.APM_BUTTONS="primer-checkout-apm-button-container",r.CARDHOLDER_NAME="primer-checkout-cardholder-name",r.CARDHOLDER_NAME_INPUT="primer-checkout-card-cardholder-name-input",r.ACTIONS="primer-checkout-actions",r.ACTIONS_MENU="primer-checkout-actions-menu",r.SAVE_PAYMENT_METHOD_CHECKBOX="primer-checkout-save-payment-method-input",r.SAVE_PAYMENT_METHOD_FIELD="primer-checkout-save-payment-method-field",r.SAVED_PAYMENT_METHODS_EMPTY="primer-checkout-saved-payment-methods-empty-text",r.CARD_FORM="primer-checkout-card-form",r.DD_SWITCH="primer-checkout-switch-dd-inputs",r.DD_IBAN_FIELD="primer-checkout-dd-iban-field",r.DD_LOCAL_FIELD="primer-checkout-dd-local-fields",r.DD_CUSTOMER_NAME_INPUT="primer-checkout-dd-customer-name-input",r.DD_CUSTOMER_EMAIL_INPUT="primer-checkout-dd-customer-email-input",r.DD_CUSTOMER_ADDRESS_LINE1="primer-checkout-dd-customer-address-input",r.DD_CUSTOMER_ADDRESS_LINE2="primer-checkout-dd-customer-address-line2-input",r.DD_CUSTOMER_ADDRESS_CITY="primer-checkout-dd-customer-city-input",r.DD_CUSTOMER_ADDRESS_POSTAL_CODE="primer-checkout-dd-customer-postal-code-input",r.DD_IBAN_INPUT="primer-checkout-dd-iban-input",r.DD_ACCOUNT_NUMBER_INPUT="primer-checkout-dd-account-number-input",r.DD_BANK_CODE_INPUT="primer-checkout-dd-bank-code-input",r.DD_BRANCH_CODE_INPUT="primer-checkout-dd-branch-code-input",r.DD_MANDATE_SMALL_PRINT="primer-checkout-small-print",r.ERROR_MESSAGE="primer-checkout-error-message",r))(ye||{}),rt=(r=>(r.TOKEN="PrimerCheckout__token",r.HIDDEN="PrimerCheckout--hidden",r.FOCUSED="PrimerCheckout--focused",r.SELECTED="PrimerCheckout--selected",r.LOADING="PrimerCheckout--loading",r.ERROR="PrimerCheckout--error",r.CARD_TYPE="PrimerCheckout__cardType",r.SAVED_PAYMENT_METHOD="PrimerCheckout__savedPaymentMethod",r.SAVED_PAYMENT_METHOD_CONTAINER="PrimerCheckout__savedPaymentMethodContainer",r.APM_BUTTON="PrimerCheckout__apmButton",r.EDIT_BUTTON="PrimerCheckout__editButton",r.MENU="PrimerCheckout__dropDownMenu",r.MENU_ITEM="PrimerCheckout__dropDownMenuItem",r.PAYMENT_METHOD_MENU_ITEM="PrimerCheckout__paymentMethodDropDownMenuItem",r.DELETE_PAYMENT_METHOD_BUTTON="PrimerCheckout__paymentMethodDropDownMenuItem__deleteButton",r.ENTER="PrimerCheckout--enter",r.ENTERING="PrimerCheckout--entering",r.ENTERED="PrimerCheckout--entered",r.EXIT="PrimerCheckout--exit",r.EXITING="PrimerCheckout--exiting",r.EXITED="PrimerCheckout--exited",r))(rt||{}),Vr=(r=>(r.CHECKOUT="CHECKOUT",r.HEADLESS_CHECKOUT="HEADLESS_CHECKOUT",r.MANAGE_PAYMENT_METHODS="MANAGE_PAYMENT_METHODS",r))(Vr||{}),Wr=(r=>(r.DEFAULT="DEFAULT",r.PREFER_VAULT="PREFER_VAULT",r))(Wr||{}),et=(r=>(r.TOKENIZE_STARTED="tokenize-started",r.TOKENIZE_ERROR="tokenize-error",r.TOKENIZE_SUCCESS="tokenize-success",r.TOKENIZE_DID_NOT_START="tokenize-did-not-start",r))(et||{}),$r=(r=>(r.SUCCESS="AUTH_SUCCESS",r.FAILED="AUTH_FAILED",r.SKIPPED="SKIPPED",r.CHALLENGE="CHALLENGE",r))($r||{}),jr=(r=>(r.WORLDPAY_IDEAL="WORLDPAY_IDEAL",r.AUTOMATED_CLEARING_HOUSE="AUTOMATED_CLEARING_HOUSE",r.ADYEN_KLARNA="ADYEN_KLARNA",r.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",r.PAY_NL_KAARTDIRECT="PAY_NL_KAARTDIRECT",r.ADYEN_EPS="ADYEN_EPS",r.ADYEN_BANCONTACT_PAYCONIQ="ADYEN_BANCONTACT_PAYCONIQ",r.OMISE_PROMPTPAY="OMISE_PROMPTPAY",r.OMISE_TRUEMONEY="OMISE_TRUEMONEY",r.ADYEN_MULTIBANCO="ADYEN_MULTIBANCO",r.PACYPAY_WECHAT="PACYPAY_WECHAT",r.PACYPAY_ALIPAY="PACYPAY_ALIPAY",r.ADYEN_MBWAY="ADYEN_MBWAY",r.XENDIT_DANA="XENDIT_DANA",r.XENDIT_SHOPEEPAY="XENDIT_SHOPEEPAY",r.ADYEN_PAYSHOP="ADYEN_PAYSHOP",r.ADYEN_PAYTRAIL="ADYEN_PAYTRAIL",r.CLEARPAY="CLEARPAY",r.RAPYD_FAST="RAPYD_FAST",r.RAPYD_PROMPTPAY="RAPYD_PROMPTPAY",r.RAPYD_GCASH="RAPYD_GCASH",r.RAPYD_POLI="RAPYD_POLI",r.RAPYD_GRABPAY="RAPYD_GRABPAY",r.PRIMER_PAYPAL="PRIMER_PAYPAL",r.TWOC2P="TWOC2P",r.NETS="NETS",r.STRIPE_ACH="STRIPE_ACH",r.STRIPE_GIROPAY="STRIPE_GIROPAY",r.MOLLIE_GIROPAY="MOLLIE_GIROPAY",r.MOLLIE_EPS="MOLLIE_EPS",r.PAY_NL_EPS="PAY_NL_EPS",r.PAY_NL_P24="PAY_NL_P24",r.MOLLIE_P24="MOLLIE_P24",r.MOLLIE_SOFORT="MOLLIE_SOFORT",r.COINBASE="COINBASE",r.OPENNODE="OPENNODE",r.MOLLIE_GIFT_CARD="MOLLIE_GIFTCARD",r.XFERS_PAYNOW="XFERS_PAYNOW",r.CARD="PAYMENT_CARD",r.APPLE_PAY="APPLE_PAY",r.GOOGLE_PAY="GOOGLE_PAY",r.PAYPAL="PAYPAL_ORDER",r.PAYPAL_VAULTED="PAYPAL_BILLING_AGREEMENT",r.GO_CARDLESS="GOCARDLESS",r.PAY_NL_IDEAL="PAY_NL_IDEAL",r.PAY_NL_SOFORT_BANKING="PAY_NL_SOFORT_BANKING",r.PAY_NL_BANCONTACT="PAY_NL_BANCONTACT",r.PAY_NL_PAYPAL="PAY_NL_PAYPAL",r.PAY_NL_CREDIT_TRANSFER="PAY_NL_CREDIT_TRANSFER",r.PAY_NL_DIRECT_DEBIT="PAY_NL_DIRECT_DEBIT",r.PAY_NL_GIROPAY="PAY_NL_GIROPAY",r.PAY_NL_PAYCONIQ="PAY_NL_PAYCONIQ",r.HOOLAH="HOOLAH",r.ADYEN_BLIK="ADYEN_BLIK",r.ADYEN_VIPPS="ADYEN_VIPPS",r.ADYEN_GIROPAY="ADYEN_GIROPAY",r.ADYEN_SOFORT="ADYEN_SOFORT",r.ADYEN_IDEAL="ADYEN_IDEAL",r.ADYEN_TRUSTLY="ADYEN_TRUSTLY",r.ADYEN_ALIPAY="ADYEN_ALIPAY",r.ADYEN_TWINT="ADYEN_TWINT",r.ADYEN_MOBILEPAY="ADYEN_MOBILEPAY",r.MOLLIE_BANCONTACT="MOLLIE_BANCONTACT",r.MOLLIE_IDEAL="MOLLIE_IDEAL",r.BUCKAROO_GIROPAY="BUCKAROO_GIROPAY",r.BUCKAROO_EPS="BUCKAROO_EPS",r.BUCKAROO_SOFORT="BUCKAROO_SOFORT",r.BUCKAROO_BANCONTACT="BUCKAROO_BANCONTACT",r.BUCKAROO_IDEAL="BUCKAROO_IDEAL",r.ATOME="ATOME",r.KLARNA_CUSTOMER_TOKEN="KLARNA_CUSTOMER_TOKEN",r))(jr||{}),q=(r=>(r.WORLDPAY_IDEAL="WORLDPAY_IDEAL",r.STRIPE_ACH="STRIPE_ACH",r.STRIPE_IDEAL="STRIPE_IDEAL",r.ADYEN_KLARNA="ADYEN_KLARNA",r.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",r.PAY_NL_KAARTDIRECT="PAY_NL_KAARTDIRECT",r.ADYEN_EPS="ADYEN_EPS",r.ADYEN_BANCONTACT_PAYCONIQ="ADYEN_BANCONTACT_PAYCONIQ",r.OMISE_PROMPTPAY="OMISE_PROMPTPAY",r.OMISE_TRUEMONEY="OMISE_TRUEMONEY",r.ADYEN_MULTIBANCO="ADYEN_MULTIBANCO",r.PACYPAY_WECHAT="PACYPAY_WECHAT",r.PACYPAY_ALIPAY="PACYPAY_ALIPAY",r.ADYEN_MBWAY="ADYEN_MBWAY",r.XENDIT_DANA="XENDIT_DANA",r.XENDIT_SHOPEEPAY="XENDIT_SHOPEEPAY",r.ADYEN_PAYSHOP="ADYEN_PAYSHOP",r.ADYEN_PAYTRAIL="ADYEN_PAYTRAIL",r.CLEARPAY="CLEARPAY",r.RAPYD_FAST="RAPYD_FAST",r.RAPYD_PROMPTPAY="RAPYD_PROMPTPAY",r.RAPYD_GCASH="RAPYD_GCASH",r.RAPYD_POLI="RAPYD_POLI",r.RAPYD_GRABPAY="RAPYD_GRABPAY",r.PRIMER_PAYPAL="PRIMER_PAYPAL",r.TWOC2P="TWOC2P",r.NETS="NETS",r.STRIPE_GIROPAY="STRIPE_GIROPAY",r.MOLLIE_GIROPAY="MOLLIE_GIROPAY",r.MOLLIE_EPS="MOLLIE_EPS",r.PAY_NL_EPS="PAY_NL_EPS",r.PAY_NL_P24="PAY_NL_P24",r.MOLLIE_P24="MOLLIE_P24",r.MOLLIE_SOFORT="MOLLIE_SOFORT",r.COINBASE="COINBASE",r.OPENNODE="OPENNODE",r.MOLLIE_GIFT_CARD="MOLLIE_GIFTCARD",r.XFERS_PAYNOW="XFERS_PAYNOW",r.PAYMENT_CARD="PAYMENT_CARD",r.APPLE_PAY="APPLE_PAY",r.GOOGLE_PAY="GOOGLE_PAY",r.PAYPAL="PAYPAL",r.GO_CARDLESS="GOCARDLESS",r.KLARNA="KLARNA",r.PAY_NL_IDEAL="PAY_NL_IDEAL",r.PAY_NL_SOFORT_BANKING="PAY_NL_SOFORT_BANKING",r.PAY_NL_BANCONTACT="PAY_NL_BANCONTACT",r.PAY_NL_PAYPAL="PAY_NL_PAYPAL",r.PAY_NL_CREDIT_TRANSFER="PAY_NL_CREDIT_TRANSFER",r.PAY_NL_DIRECT_DEBIT="PAY_NL_DIRECT_DEBIT",r.PAY_NL_GIROPAY="PAY_NL_GIROPAY",r.PAY_NL_PAYCONIQ="PAY_NL_PAYCONIQ",r.HOOLAH="HOOLAH",r.ADYEN_BLIK="ADYEN_BLIK",r.ADYEN_MOBILEPAY="ADYEN_MOBILEPAY",r.ADYEN_VIPPS="ADYEN_VIPPS",r.ADYEN_GIROPAY="ADYEN_GIROPAY",r.ADYEN_SOFORT="ADYEN_SOFORT",r.ADYEN_IDEAL="ADYEN_IDEAL",r.ADYEN_TRUSTLY="ADYEN_TRUSTLY",r.ADYEN_ALIPAY="ADYEN_ALIPAY",r.ADYEN_TWINT="ADYEN_TWINT",r.ADYEN_BANK_TRANSFER="ADYEN_BANK_TRANSFER",r.MOLLIE_BANCONTACT="MOLLIE_BANCONTACT",r.MOLLIE_IDEAL="MOLLIE_IDEAL",r.BUCKAROO_GIROPAY="BUCKAROO_GIROPAY",r.BUCKAROO_EPS="BUCKAROO_EPS",r.BUCKAROO_SOFORT="BUCKAROO_SOFORT",r.BUCKAROO_BANCONTACT="BUCKAROO_BANCONTACT",r.BUCKAROO_IDEAL="BUCKAROO_IDEAL",r.ATOME="ATOME",r))(q||{}),tt=(r=>(r.PAYMENT_CARD="PAYMENT_CARD",r.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",r))(tt||{}),zr=(r=>(r.SINGLE_USE="SINGLE_USE",r.MULTI_USE="MULTI_USE",r))(zr||{});const Xr={PAYPAL_BILLING_AGREEMENT:"PAYPAL",KLARNA_CUSTOMER_TOKEN:"KLARNA",AUTOMATED_CLEARING_HOUSE:"STRIPE_ACH"},Ot=r=>{if(Object.values(q).includes(r))return r;if(Xr[r])return Xr[r]};var Qr=(r=>(r.INITIALIZATION_ERROR="INITIALIZATION_ERROR",r.NO_PAYMENT_METHODS="NO_PAYMENT_METHODS",r.PRIMER_TEARDOWN="PRIMER_TEARDOWN",r.PRIMER_SERVER_ERROR="PRIMER_SERVER_ERROR",r.THREE_DS_AUTH_FAILED="THREE_DS_AUTH_FAILED",r.TOKENIZATION_ERROR="TOKENIZATION_ERROR",r.DUPLICATE_PAYMENT_METHOD_ERROR="DUPLICATE_PAYMENT_METHOD_ERROR",r.CARD_NUMBER_ERROR="CARD_NUMBER_ERROR",r.PAYMENT_METHOD_NOT_SETUP="PAYMENT_METHOD_NOT_SETUP",r.PAYMENT_METHOD_NOT_PROVIDED="PAYMENT_METHOD_NOT_PROVIDED",r.PAYMENT_METHOD_NOT_COMPATIBLE="PAYMENT_METHOD_NOT_COMPATIBLE",r.RESUME_ERROR="RESUME_ERROR",r.VALIDATION_ERROR="VALIDATION_ERROR",r.PAYMENT_FAILED="PAYMENT_FAILED",r.PAYMENT_CREATION_ABORTED="PAYMENT_CREATION_ABORTED",r.PAYMENT_CREATION_DISABLED="PAYMENT_CREATION_DISABLED",r.CLIENT_SESSION_UPDATE_ERROR="CLIENT_SESSION_UPDATE_ERROR",r.INVALID_ARGUMENT="INVALID_ARGUMENT",r.VAULT_FETCH="VAULT_FETCH",r.VAULT_DELETE="VAULT_DELETE",r.HEADLESS_VAULT_MANAGER_VALIDATION="HEADLESS_VAULT_MANAGER_VALIDATION",r.CARD_FORM_VALIDATION_UNEXPECTED_FIELD="CARD_FORM_VALIDATION_UNEXPECTED_FIELD",r.MISSING_FIRST_NAME_OR_LAST_NAME="MISSING_FIRST_NAME_OR_LAST_NAME",r.MISSING_EMAIL_ADDRESS="MISSING_EMAIL_ADDRESS",r.INVALID_FLOW="INVALID_FLOW",r))(Qr||{});class J extends f{static fromErrorCode(e,t,o){return new J(e,t,o)}constructor(e,t,o){super(t.message),this.code=e,this.diagnosticsId=t.diagnosticsId??null,this.data=t.data,this.isFromDeveloper=t.isFromDeveloper??!1,this.name="PrimerClientError",Error.captureStackTrace&&Error.captureStackTrace(this,J),o&&(o.messageEvent({message:`${e}: ${t.message}`,messageType:e,severity:"ERROR",diagnosticsId:t.diagnosticsId??void 0,errorId:t.errorId??void 0,data:t.data??void 0,isFromDeveloper:t.isFromDeveloper?.toString(),stack:this.stack}),this.markAsReported())}}var ot=N(56),Zr=(r=>(r.PAYMENT_METHOD="PAYMENT_METHOD",r.CHECK="CHECK",r))(Zr||{});const it=r=>{const e=r?.mandateData;return e?"fullMandateText"in e:!1};var qr=(r=>(r.CHANGE="change",r.ERROR="error",r.FOCUS="focus",r.BLUR="blur",r.CLICK="click",r.CLOSE="close",r))(qr||{}),Jr=(r=>(r.CARD="CARD",r.NATIVE="NATIVE",r.REDIRECT="REDIRECT",r.FORM_WITH_REDIRECT="FORM_WITH_REDIRECT",r.KLARNA="KLARNA",r.ACH="ACH",r))(Jr||{});const At={SDK_VERSION:Xe,createHeadless:Qe,showUniversalCheckout:Ze,showVaultManager:qe,preloadPrimer:ze}})(),p})());
|
package/dist/index.d.ts
CHANGED
|
@@ -561,7 +561,7 @@ declare class Vault {
|
|
|
561
561
|
fetch(): Promise<VaultedPaymentMethod[]>;
|
|
562
562
|
delete(id: string | null): Promise<void>;
|
|
563
563
|
}
|
|
564
|
-
export type InternalFlowOptions = (UniversalCheckoutOptions | VaultManagerOptions
|
|
564
|
+
export type InternalFlowOptions = (UniversalCheckoutOptions | VaultManagerOptions) & HeadlessUniversalCheckoutOptions & {
|
|
565
565
|
uxFlow?: string;
|
|
566
566
|
newHeadlessOptionsParameter?: boolean;
|
|
567
567
|
};
|
|
@@ -930,10 +930,8 @@ declare enum SceneEnum {
|
|
|
930
930
|
}
|
|
931
931
|
export declare enum CheckoutUXFlow {
|
|
932
932
|
CHECKOUT = "CHECKOUT",
|
|
933
|
-
EXPRESS_CHECKOUT = "EXPRESS_CHECKOUT",
|
|
934
933
|
HEADLESS_CHECKOUT = "HEADLESS_CHECKOUT",
|
|
935
|
-
MANAGE_PAYMENT_METHODS = "MANAGE_PAYMENT_METHODS"
|
|
936
|
-
SINGLE_PAYMENT_METHOD_CHECKOUT = "SINGLE_PAYMENT_METHOD_CHECKOUT"
|
|
934
|
+
MANAGE_PAYMENT_METHODS = "MANAGE_PAYMENT_METHODS"
|
|
937
935
|
}
|
|
938
936
|
export interface IStyleManagerOptions {
|
|
939
937
|
isRtlLocale?: boolean;
|
|
@@ -1075,7 +1073,7 @@ declare class CheckoutStore extends BaseStore<ICheckoutState> implements IOption
|
|
|
1075
1073
|
private submitButtonEventListener;
|
|
1076
1074
|
private vault;
|
|
1077
1075
|
private options;
|
|
1078
|
-
constructor(defaultState: ICheckoutState, options: UniversalCheckoutOptions | VaultManagerOptions
|
|
1076
|
+
constructor(defaultState: ICheckoutState, options: UniversalCheckoutOptions | VaultManagerOptions);
|
|
1079
1077
|
setVault(vault: Vault): void;
|
|
1080
1078
|
setIsLoading(isLoading: boolean): void;
|
|
1081
1079
|
setIsProcessing(isProcessing: boolean): void;
|
|
@@ -1823,33 +1821,6 @@ export interface ClientSessionHandlers {
|
|
|
1823
1821
|
onClientSessionUpdate?: (clientSession: ClientSession) => void;
|
|
1824
1822
|
onBeforeClientSessionUpdate?: () => void;
|
|
1825
1823
|
}
|
|
1826
|
-
export interface SinglePaymentMethodCheckoutOptions extends TokenizationHandlers, PaymentHandlers, ClientSessionHandlers, PaymentMethodHandlers, WithAllowedCardNetworks {
|
|
1827
|
-
uxFlow: CheckoutUXFlow.SINGLE_PAYMENT_METHOD_CHECKOUT;
|
|
1828
|
-
container: string | Element;
|
|
1829
|
-
paymentMethod: PaymentMethodType;
|
|
1830
|
-
locale?: SupportedLocale;
|
|
1831
|
-
style?: CheckoutStyle;
|
|
1832
|
-
submitButton?: SubmitButtonOptions;
|
|
1833
|
-
processingIndicator?: ProcessingIndicatorOptions;
|
|
1834
|
-
errorMessage?: ErrorMessageOptions;
|
|
1835
|
-
successScreen?: SuccessScreenOptions;
|
|
1836
|
-
form?: FormOptions;
|
|
1837
|
-
scene?: SceneOptions;
|
|
1838
|
-
vault?: VaultOptions;
|
|
1839
|
-
redirect?: RedirectOptions;
|
|
1840
|
-
card?: CheckoutCardOptions;
|
|
1841
|
-
giftCard?: CustomizablePaymentMethodButton;
|
|
1842
|
-
paypal?: Omit<PayPalOptions, "container">;
|
|
1843
|
-
googlePay?: Omit<GooglePayOptions, "container">;
|
|
1844
|
-
applePay?: Omit<ApplePayOptions, "container">;
|
|
1845
|
-
adyenKlarna?: AdyenKlarnaOptions;
|
|
1846
|
-
klarna?: KlarnaOptions;
|
|
1847
|
-
directDebit?: DirectDebitOptions;
|
|
1848
|
-
stripe?: StripeOptions;
|
|
1849
|
-
paymentHandling?: PaymentHandling;
|
|
1850
|
-
clientSessionCachingEnabled?: boolean;
|
|
1851
|
-
experimental?: ExperimentalFlags;
|
|
1852
|
-
}
|
|
1853
1824
|
export interface VaultManagerOptions extends WithAllowedCardNetworks {
|
|
1854
1825
|
container: string | Element;
|
|
1855
1826
|
locale?: SupportedLocale;
|
|
@@ -2137,14 +2108,6 @@ export interface PrimerHeadlessCheckout {
|
|
|
2137
2108
|
start: () => Promise<void>;
|
|
2138
2109
|
refreshClientSession(): Promise<boolean>;
|
|
2139
2110
|
}
|
|
2140
|
-
export interface PrimerSinglePaymentMethodCheckout {
|
|
2141
|
-
submit(): void;
|
|
2142
|
-
refreshClientSession(): Promise<boolean>;
|
|
2143
|
-
/**
|
|
2144
|
-
* @deprecated The method should not be used
|
|
2145
|
-
*/
|
|
2146
|
-
setClientToken(): Promise<boolean>;
|
|
2147
|
-
}
|
|
2148
2111
|
export interface PrimerVaultManager {
|
|
2149
2112
|
teardown(): void;
|
|
2150
2113
|
submit(): void;
|
|
@@ -2161,9 +2124,8 @@ export interface RemotePaymentMethodConfiguration<T> {
|
|
|
2161
2124
|
export declare const Primer: {
|
|
2162
2125
|
SDK_VERSION: string;
|
|
2163
2126
|
createHeadless: (clientToken: string, options?: HeadlessUniversalCheckoutOptions | undefined) => Promise<Promise<PrimerHeadlessCheckout>>;
|
|
2164
|
-
|
|
2165
|
-
|
|
2166
|
-
showVaultManager: (clientToken: string, options: VaultManagerOptions) => Promise<Promise<PrimerVaultManager>>;
|
|
2127
|
+
showUniversalCheckout: (clientToken: string, options?: UniversalCheckoutOptions | undefined) => Promise<Promise<PrimerCheckout>>;
|
|
2128
|
+
showVaultManager: (clientToken: string, options?: VaultManagerOptions | undefined) => Promise<Promise<PrimerVaultManager>>;
|
|
2167
2129
|
preloadPrimer: () => Promise<void>;
|
|
2168
2130
|
};
|
|
2169
2131
|
|