@primer-io/checkout-web 2.45.2 → 2.45.4
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 +1 -1
- package/dist/index.d.ts +2 -2
- package/package.json +1 -1
package/dist/Primer.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(h,N){typeof exports=="object"&&typeof module=="object"?module.exports=N():typeof define=="function"&&define.amd?define([],N):typeof exports=="object"?exports.Primer=N():h.Primer=N()})(this,()=>(()=>{var j={476:()=>{},962:()=>{},473:()=>{}},h={};function N(u){var P=h[u];if(P!==void 0)return P.exports;var d=h[u]={exports:{}};return j[u](d,d.exports,N),d.exports}N.d=(u,P)=>{for(var d in P)N.o(P,d)&&!N.o(u,d)&&Object.defineProperty(u,d,{enumerable:!0,get:P[d]})},N.o=(u,P)=>Object.prototype.hasOwnProperty.call(u,P),N.r=u=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(u,"__esModule",{value:!0})};var w={};return(()=>{"use strict";N.r(w),N.d(w,{CheckoutUXFlow:()=>gr,ErrorCode:()=>br,EventTypes:()=>Gr,HeadlessManagerType:()=>Kr,PaymentFlow:()=>wr,PaymentInstrumentType:()=>kr,PaymentMethodData:()=>qe.PaymentMethodData,PaymentMethodType:()=>$,Primer:()=>ye,SuccessScreenType:()=>Fr,ThreeDSecureStatus:()=>pr,TokenType:()=>vr,isStripeOptionsDropInWithFullMandateText:()=>Je,preloadPrimer:()=>$e});function u(r){return r?new Promise(e=>{setTimeout(e,r)}):Promise.resolve()}const P=8,d=100,mr=100;function Vr(r){return{enabled:r?.enabled??!1,maxRetries:P,initialBackoff:d,retryNetworkErrors:!0,retry500Errors:!1,maxJitter:mr}}function Wr(r,e,t){const o=r*Math.pow(2,e-1),A=Math.random()*t;return Math.min(o+A,Number.MAX_SAFE_INTEGER)}async function X(r,e,t,o=u){let A=0;const _=Vr(e);if(!_.enabled)return r();for(;;)try{const E=await r();if(A){let i=`Request succeeded after ${A} retries.`;typeof E=="object"&&E&&"status"in E&&(i+=` Status code: ${E.status}`),t?.({messageType:"RETRY_SUCCESS",message:i,severity:"INFO"})}return E}catch(E){const i=E,n=A>=_.maxRetries,s=i.isNetworkError&&!_.retryNetworkErrors,c=i.status&&i.status>=500&&!_.retry500Errors;if(n||s||c){let T=`Failed after ${A} retries. `;throw n?T+=`Reached maximum retries (${_.maxRetries}).`:s?T+="Network error encountered and retryNetworkErrors is disabled.":c&&(T+="HTTP 500 error encountered and retry500Errors is disabled."),T+=` Last error: ${i.message}`,t?.({messageType:"RETRY_FAILED",message:T,severity:"ERROR",errorBody:JSON.stringify(E,Object.getOwnPropertyNames(E))}),new Error(T,{cause:E})}A++;const O=Wr(_.initialBackoff,A,_.maxJitter);let D="Unknown error";i.isNetworkError?D="Network error":i.status&&(D=`HTTP ${i.status} error`),t?.({messageType:"RETRY",message:`Retry attempt ${A}/${_.maxRetries} due to: ${D}. Error details: ${i.message}. Waiting for ${O.toFixed(2)}ms before next attempt.`,severity:"WARN",errorBody:JSON.stringify(E,Object.getOwnPropertyNames(E))}),await o(O)}}function $r(r,e){const t=document.createElement(r);return Object.entries(e).forEach(([o,A])=>t.setAttribute(o,A)),t}function z(r,e,t){return document.querySelector(`${r}[${e}^="${t}"]`)}async function Q(r,e,t,o,A,_){const{analytics:E,name:i=e,retryConfig:n}=_;await X(()=>new Promise((c,O)=>{const D=z(r,t,e)||$r(r,{...o,[t]:e});D.onload=()=>{E?.sdkFunctionEvent({name:i,params:[`${r.charAt(0).toUpperCase()+r.slice(1)} loaded successfully: ${e}`]}),c()},D.onerror=()=>{D.remove(),O(new Error(`${A}: ${e}`))},D.parentNode||document.head.appendChild(D)}),n,c=>E?.messageEvent({...c,url:e}))}function jr(r,e={}){return z("script","src",r)&&window.__Primer?(e.analytics?.sdkFunctionEvent({name:e.name??r,params:["Script already loaded"]}),Promise.resolve()):Q("script",r,"src",{...e.attributes,async:"",crossorigin:"anonymous"},"Can't load Primer SDK",e)}function Xr(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()):Q("link",r,"href",{...e.attributes,rel:"stylesheet"},"Can't load Primer SDK's Stylesheet",e)}let f;async function Z(r){return f||(f=Promise.all([jr("https://sdk.primer.io/web/v2.45.2/PrimerCoreSDK.min.js",{analytics:r,name:"loadPrimerScript"}),Xr("https://sdk.primer.io/web/v2.45.2/Checkout.css",{analytics:r,name:"loadPrimerCss"})]).then(()=>{const o=window.__Primer;return delete window.__Primer,o}).catch(o=>{throw f=void 0,o}),f)}let p={cache:new Map};typeof window<"u"&&(window.__primerCache__??(window.__primerCache__=p),p=window.__primerCache__);const R=()=>p.cache,q=1e3*60*60,zr=30,J=50;function y(){if(R().size<=zr)return;const r=Date.now();for(const[e,t]of R())t.exp<r&&R().delete(e);if(R().size>J)for(const[e]of R()){if(R().size<=J)break;R().delete(e)}}function tt({key:r,ttl:e=q},t){e?R().set(r,{promise:Promise.resolve(t),exp:Date.now()+e}):R().delete(r)}function Qr(r){if(!r)return _=>_();const{key:e,refresh:t=!1,usePrimerSessionCacheTtlHeader:o=!1,ttl:A=q}=r;return async _=>{const E=Date.now(),i=R().get(e);if(!t&&i&&i.exp>E)return i.promise;i&&R().delete(e);const n=_().then(s=>{const c=Date.now();let O=A;return o&&(O=(Number(s.headers.get("x-primer-session-cache-ttl"))||0)*1e3),O?R().set(e,{promise:Promise.resolve({...s,source:"CACHE"}),exp:c+O}):R().delete(e),y(),s},s=>{throw R().delete(e),s});return R().set(e,{promise:n,exp:E+A}),y(),n}}const rr=()=>er.randomUUID?.()||Zr(),Zr=()=>("10000000-1000-4000-8000"+-1e11).replace(/[018]/g,r=>(r^qr()>>r/4).toString(16)),qr=()=>(er.getRandomValues?.(new Uint8Array(1))[0]??Math.random()*16)&15,er=typeof crypto<"u"?crypto:{};var ot=N(476),At=N(962),k=(r=>(r.REQUEST_START="REQUEST_START",r.REQUEST_END="REQUEST_END",r))(k||{}),v=(r=>(r.START="START",r.END="END",r))(v||{});const Jr={createHeadless:"HEADLESS_LOADING",showExpressCheckout:"EXPRESS_LOADING",showUniversalCheckout:"DROP_IN_LOADING",showVaultManager:"VAULT_MANAGER_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 yr={get(r,e){let t;try{switch(r){case"PRIMER_SDK_VERSION":t="v2.45.2";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_PCI_API_URL":t=process.env.PRIMER_PCI_API_URL;break;case"PRIMER_MODULES_URL":t=process.env.PRIMER_MODULES_URL;break;case"PRIMER_BUILD_INTEGRATION_BUILDER":t=process.env.PRIMER_BUILD_INTEGRATION_BUILDER;break;case"SENTRY_DSN":t=process.env.SENTRY_DSN;break;default:break}}catch{}return t||e}};var re=(r=>(r.CHARGING="CHARGING",r.NOT_CHARGING="NOT_CHARGING",r))(re||{});async function ee(){if(typeof navigator>"u")return;const r=await navigator.getBattery?.();return{memoryFootprint:performance.memory?.usedJSHeapSize,screen:{height:screen?.height,width:screen?.width},platformVersion:navigator.platform,userAgent:navigator.userAgent,locale:navigator.language,batteryLevel:r?.level,batteryStatus:r?.charging?"CHARGING":"NOT_CHARGING"}}const te="WEB",oe=yr.get("PRIMER_SDK_VERSION");async function Ae(r,e,t){return{...t,createdAt:Date.now(),device:await ee(),eventType:r,properties:e,sdkVersion:oe,sdkType:te}}const tr="https://analytics.production.data.primer.io/sdk-logs",_e=tr==="https://analytics.sandbox.data.primer.io/playwright";let I={providers:new Map,timers:new Map,eventsQueue:new Map};typeof window<"u"&&(window.__primerAnalytics__??(window.__primerAnalytics__=I),I=window.__primerAnalytics__);const or=()=>I.providers,x=()=>I.timers,Y=()=>I.eventsQueue,Ar=1024*5,ie=500,M=new Map;function b({url:r=tr,...e}){typeof document<"u"&&document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&_r(r,!0)});const t=A=>async _=>{if(typeof navigator>"u")return;const E=await Ae(A,_,e),i=s=>se(ne(s));if(_e)return;const n=ir(E,i);Ee(r,n)},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:A,..._})=>{const E=`${e.checkoutSessionId}|${A}`;return x().set(E,{start:performance?.now()}),t(L.TIMER_EVENT)({..._,id:A,timerType:v.START})},timerEnd:({id:A,..._})=>{const E=`${e.checkoutSessionId}|${A}`,{start:i=void 0}=x().get(E)??{};x().delete(E);const n=performance?.now(),s=i?n-i:void 0;return t(L.TIMER_EVENT)({..._,id:A,timerType:v.END,duration:s})},v1Event:t(L.V1_EVENT),url:r};return or().set(e.checkoutSessionId,o),o}function H(r){return new Proxy({},{get(e,t){return(or().get(r)??b({checkoutSessionId:r}))[t]}})}function _r(r,e=!1){if(M.has(r)){const A=M.get(r);clearTimeout(A),M.delete(r)}const t=()=>{const A=Y().get(r);let _=!1;if(A?.length){try{_=navigator.sendBeacon(r,JSON.stringify(A))}catch(E){_=!0,console.error("Unable to access navigator",E)}_&&Y().delete(r)}};if(e){t();return}const o=setTimeout(t,ie);M.set(r,o)}function Ee(r,e){Y().has(r)||Y().set(r,[]),Y().get(r)?.push(e),_r(r)}function ir(r,e){const t=o=>typeof o=="object"&&o!==null?ir(o,e):e(o);return Array.isArray(r)?r.map(t):Object.fromEntries(Object.entries(r).map(([o,A])=>[o,t(A)]))}function se(r){return typeof r=="string"&&r.length>Ar?`${r.slice(0,Ar)}...`:r}function ne(r){return typeof r=="function"?r.name||"function":r}class F{constructor(e,t){this.type=e,this.displayName=t}get specs(){return this.constructor.specs}setOption(e,t){this.options&&(this.options[e]=t)}setupAndValidate(){return Promise.resolve(!0)}mount(){return Promise.resolve(!0)}tokenize(e){return Promise.resolve()}validate(){return Promise.resolve({valid:!0,validationErrors:[]})}setDisabled(e){return Promise.resolve()}focus(){}blur(){}getPaymentElement(){return null}getStore(){}}F.specs={key:"__none__",canVault:!1,buttonManagedByPaymentMethod:!1,hasExportedButtonOptions:!1},F.create=(r,e,t,o)=>{throw new Error("Cannot instantiate BasePaymentMethod")};class ce extends F{async tokenize(e){}}class ae{get session(){const e=this.store.getState().clientSessionInfo;if(!e)throw new Error("Client Context Session does not exist");return e}}const Ne=[Array,ce,ae,Map,Set];function Re(r){const e=new Set,t=20;let o=0;for(;o++<t&&r&&r!==Object.prototype;)Object.getOwnPropertyNames(r).forEach(A=>e.add(A)),r=Object.getPrototypeOf(r);return[...e]}function Er(r,e,t,o,A){if(!t||Ne.some(_=>t instanceof _))return t;switch(typeof t){case"function":return new Proxy(t,{apply(_,E,i=[]){const n={name:e.replace(/^bound /,""),params:i,module:A};r?.sdkFunctionEvent(n);const s=i.map((c,O)=>Er(r,`${O}`,c,o,[A,e,`${O}`].filter(Boolean).join(".")));return _.apply(E,s)}});case"object":return t===o?t:Oe(r,t,[A,e].filter(Boolean).join("."));default:return t}}function Oe(r,e,t){return Object.fromEntries(Re(e).map(o=>{const A=e?.[o],_=Er(r,o,A,A,t);return[o,_]}))}const ue=new Set(["post","get","delete"]),De=new Set(["post"]);function Te(r,e,t,o){const A=De.has(r);return{method:r,options:A?o:t,body:A?t:void 0,url:e}}function _t(r,e){const t=({prop:o})=>({apply:async(A,_,E=[])=>{const i=Te(o.toString(),...E);if(i.options?.isAnalytics)return A.apply(_,E);const n=uuid();e?.networkCallEvent(prepareNetworkEventProps(n,i));const s=performance?.now(),c=await A.apply(_,E),D=performance?.now()-s;return e?.networkCallEvent(prepareNetworkEventProps(n,i,c,D)),c}});return new Proxy(r,{get(o,A){const _=o[A];return typeof _=="function"&&ue.has(A)?new Proxy(_,t({prop:A})):_}})}const G=(r,e,t,o)=>({callType:t?k.REQUEST_END:k.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}),sr=15e3,Pe=(r,e,t)=>nr(r,"get",e,t),de=(r,e,t,o)=>nr(r,"post",e,o,JSON.stringify(t)),nr=async(r,e,t,o,A)=>{const _=rr(),E=performance?.now();let i=H(r);const n={method:e,url:t,body:A};i.networkCallEvent(G(_,n));try{const s=await fetch(t,{body:A,method:e,headers:{"content-type":"application/json",...o}});if(!s.ok){const T=new Error(`HTTP error! status: ${s.status}`);throw T.status=s.status,T}const c=await s.json();if(t.includes("client-sdk/configuration")){const{primerAccountId:T,clientSession:{clientSessionId:rt,customer:et}}=c;i=b({checkoutSessionId:r,clientSessionId:rt,customerId:et?.customerId,primerAccountId:T,url:i.url})}const D=performance?.now()-E;return i.networkCallEvent(G(_,n,{data:c},D)),{data:c,headers:s.headers,status:s.status,source:"NETWORK"}}catch(s){const O=performance?.now()-E;throw Object.assign(s,{isNetworkError:s instanceof TypeError}),i.networkCallEvent(G(_,n,{error:s},O)),s}},cr=(r,e)=>new Promise((t,o)=>{const A=setTimeout(()=>{const _=new Error("Request timed out");_.isNetworkError=!0,o(_)},e);r.then(t).catch(o).finally(()=>clearTimeout(A))}),Le=(r,e)=>{const{headers:t,retryConfig:o,cacheConfig:A,timeout:_=sr,checkoutSessionId:E}=e,i=H(E);return Qr(A)(()=>X(()=>cr(Pe(E,r,t),_),o,n=>i.messageEvent({...n,url:r})))},it=(r,e,t)=>{const{headers:o,retryConfig:A,cacheConfig:_,timeout:E=sr,checkoutSessionId:i}=t,n=getAnalytics(i);return cacheRequest(_)(()=>retryWithExponentialBackoff(()=>cr(de(i,r,e,o),E),A,s=>n.messageEvent({...s,url:r})))},ar="3.6.1",Se=ar,Ce=typeof atob=="function",fe=typeof btoa=="function",S=typeof Buffer=="function",Nr=typeof TextDecoder=="function"?new TextDecoder:void 0,Rr=typeof TextEncoder=="function"?new TextEncoder:void 0,l=[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="],U=(r=>{let e={};return r.forEach((t,o)=>e[t]=o),e})(l),Ie=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,a=String.fromCharCode.bind(String),Or=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):(r,e=t=>t)=>new Uint8Array(Array.prototype.slice.call(r,0).map(e)),ur=r=>r.replace(/[+\/]/g,e=>e=="+"?"-":"_").replace(/=+$/m,""),Dr=r=>r.replace(/[^A-Za-z0-9\+\/]/g,""),Tr=r=>{let e,t,o,A,_="";const E=r.length%3;for(let i=0;i<r.length;){if((t=r.charCodeAt(i++))>255||(o=r.charCodeAt(i++))>255||(A=r.charCodeAt(i++))>255)throw new TypeError("invalid character found");e=t<<16|o<<8|A,_+=l[e>>18&63]+l[e>>12&63]+l[e>>6&63]+l[e&63]}return E?_.slice(0,E-3)+"===".substring(E):_},K=fe?r=>btoa(r):S?r=>Buffer.from(r,"binary").toString("base64"):Tr,m=S?r=>Buffer.from(r).toString("base64"):r=>{let t=[];for(let o=0,A=r.length;o<A;o+=4096)t.push(a.apply(null,r.subarray(o,o+4096)));return K(t.join(""))},B=(r,e=!1)=>e?ur(m(r)):m(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)}},le=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,Pr=r=>r.replace(le,Ye),dr=S?r=>Buffer.from(r,"utf8").toString("base64"):Rr?r=>m(Rr.encode(r)):r=>K(Pr(r)),C=(r,e=!1)=>e?ur(dr(r)):dr(r),Lr=r=>C(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))}},Sr=r=>r.replace(he,Me),Cr=r=>{if(r=r.replace(/\s+/g,""),!Ie.test(r))throw new TypeError("malformed base64.");r+="==".slice(2-(r.length&3));let e,t="",o,A;for(let _=0;_<r.length;)e=U[r.charAt(_++)]<<18|U[r.charAt(_++)]<<12|(o=U[r.charAt(_++)])<<6|(A=U[r.charAt(_++)]),t+=o===64?a(e>>16&255):A===64?a(e>>16&255,e>>8&255):a(e>>16&255,e>>8&255,e&255);return t},V=Ce?r=>atob(Dr(r)):S?r=>Buffer.from(r,"base64").toString("binary"):Cr,fr=S?r=>Or(Buffer.from(r,"base64")):r=>Or(V(r),e=>e.charCodeAt(0)),Ir=r=>fr(Yr(r)),Ue=S?r=>Buffer.from(r,"base64").toString("utf8"):Nr?r=>Nr.decode(fr(r)):r=>Sr(V(r)),Yr=r=>Dr(r.replace(/[-_]/g,e=>e=="-"?"+":"/")),W=r=>Ue(Yr(r)),Be=r=>{if(typeof r!="string")return!1;const e=r.replace(/\s+/g,"").replace(/=+$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(e)||!/[^\s0-9a-zA-Z\-_]/.test(e)},lr=r=>({value:r,enumerable:!1,writable:!0,configurable:!0}),hr=function(){const r=(e,t)=>Object.defineProperty(String.prototype,e,lr(t));r("fromBase64",function(){return W(this)}),r("toBase64",function(e){return C(this,e)}),r("toBase64URI",function(){return C(this,!0)}),r("toBase64URL",function(){return C(this,!0)}),r("toUint8Array",function(){return Ir(this)})},Mr=function(){const r=(e,t)=>Object.defineProperty(Uint8Array.prototype,e,lr(t));r("toBase64",function(e){return B(this,e)}),r("toBase64URI",function(){return B(this,!0)}),r("toBase64URL",function(){return B(this,!0)})},Ur={version:ar,VERSION:Se,atob:V,atobPolyfill:Cr,btoa:K,btoaPolyfill:Tr,fromBase64:W,toBase64:C,encode:C,encodeURI:Lr,encodeURL:Lr,utob:Pr,btou:Sr,decode:W,isValid:Be,fromUint8Array:B,toUint8Array:Ir,extendString:hr,extendUint8Array:Mr,extendBuiltins:()=>{hr(),Mr()}},ge={encode:we,decode:Ur.decode};function we(r,e={}){const{urlSafe:t=!1}=e;return Ur.encode(r,t)}function pe(r){const e=xe(r),t=e.exp*1e3;if(Date.now()>t)throw new Error(`${ke}. Expiration date: ${new Date(t).toISOString()}`);return e}const Br="The provided `clientToken`",ke=`${Br} has expired`,ve=`${Br} is malformed`;function xe(r){try{const[e,t]=r.split("."),o=t||e;return JSON.parse(ge.decode(o))}catch{throw new Error(ve)}}const be="v2.45.2",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:A,analyticsUrlV2:_}=pe(r),E=b({checkoutSessionId:e,url:_});E.timerStart({id:"CONFIGURATION_LOADING"});try{const{data:i,source:n}=await Le(`${A}/?withDisplayMetadata=true`,{checkoutSessionId:e,headers:He(o,e,"2.3"),retryConfig:{enabled:!0},cacheConfig:t});return E.timerEnd({id:"CONFIGURATION_LOADING",source:n}),i}catch(i){const n=i instanceof Error?i.message:"Unknown error occurred";throw new Error(`Failed to initialize client: ${n}`)}}const Ge="v2.45.2",Ke=g("createHeadless"),me=g("showExpressCheckout"),Ve=g("showUniversalCheckout"),We=g("showVaultManager");function g(r){return async(...[e,t,...o])=>{const A=rr(),_=H(A);_.sdkFunctionEvent({name:r,params:[e,t,...o]}),_.timerStart({id:Jr[r]});const[E,i]=await Promise.all([Fe(e,A,t?.clientSessionCachingEnabled?{key:e,usePrimerSessionCacheTtlHeader:!0}:void 0),Z(_)]);return i[r](E,A,e,t)}}const $e=()=>Z().then(()=>{});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||{}),Xe=(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))(Xe||{}),ze=(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))(ze||{}),gr=(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))(gr||{}),wr=(r=>(r.DEFAULT="DEFAULT",r.PREFER_VAULT="PREFER_VAULT",r))(wr||{}),Qe=(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))(Qe||{}),pr=(r=>(r.SUCCESS="AUTH_SUCCESS",r.FAILED="AUTH_FAILED",r.SKIPPED="SKIPPED",r.CHALLENGE="CHALLENGE",r))(pr||{}),kr=(r=>(r.WORLDPAY_IDEAL="WORLDPAY_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_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))(kr||{}),$=(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))($||{}),Ze=(r=>(r.PAYMENT_CARD="PAYMENT_CARD",r.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",r))(Ze||{}),vr=(r=>(r.SINGLE_USE="SINGLE_USE",r.MULTI_USE="MULTI_USE",r))(vr||{});const xr={PAYPAL_BILLING_AGREEMENT:"PAYPAL",KLARNA_CUSTOMER_TOKEN:"KLARNA"},nt=r=>{if(Object.values($).includes(r))return r;if(xr[r])return xr[r]};var br=(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))(br||{});class Hr extends Error{static fromErrorCode(e,t,o){return new Hr(e,t,o)}constructor(e,t,o){super(t.message),this.message=t.message,this.code=e,this.diagnosticsId=t.diagnosticsId||null,this.data=t.data,this.isFromDeveloper=t.isFromDeveloper??!1,o?.messageEvent?.({message:t.message,messageType:e,severity:"ERROR",...t.diagnosticsId&&{diagnosticsId:t.diagnosticsId},...t.errorId&&{errorId:t.errorId},...t.data&&{data:t.data},...t.isFromDeveloper!==void 0&&{isFromDeveloper:String(t.isFromDeveloper)},stack:this.stack})}}const ct=r=>{throw console.error(r.message),r};var qe=N(473),Fr=(r=>(r.PAYMENT_METHOD="PAYMENT_METHOD",r.CHECK="CHECK",r))(Fr||{});const Je=r=>"fullMandateText"in r?.mandateData;var Gr=(r=>(r.CHANGE="change",r.ERROR="error",r.FOCUS="focus",r.BLUR="blur",r.CLICK="click",r.CLOSE="close",r))(Gr||{}),Kr=(r=>(r.CARD="CARD",r.NATIVE="NATIVE",r.REDIRECT="REDIRECT",r.FORM_WITH_REDIRECT="FORM_WITH_REDIRECT",r.KLARNA="KLARNA",r.ACH="ACH",r))(Kr||{});const ye={SDK_VERSION:Ge,createHeadless:Ke,showExpressCheckout:me,showUniversalCheckout:Ve,showVaultManager:We}})(),w})());
|
|
1
|
+
(function(h,a){typeof exports=="object"&&typeof module=="object"?module.exports=a():typeof define=="function"&&define.amd?define([],a):typeof exports=="object"?exports.Primer=a():h.Primer=a()})(this,()=>(()=>{var j={476:()=>{},962:()=>{},473:()=>{}},h={};function a(D){var P=h[D];if(P!==void 0)return P.exports;var L=h[D]={exports:{}};return j[D](L,L.exports,a),L.exports}a.d=(D,P)=>{for(var L in P)a.o(P,L)&&!a.o(D,L)&&Object.defineProperty(D,L,{enumerable:!0,get:P[L]})},a.o=(D,P)=>Object.prototype.hasOwnProperty.call(D,P),a.r=D=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(D,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(D,"__esModule",{value:!0})};var w={};return(()=>{"use strict";a.r(w),a.d(w,{CheckoutUXFlow:()=>gr,ErrorCode:()=>xr,EventTypes:()=>Gr,HeadlessManagerType:()=>Kr,PaymentFlow:()=>wr,PaymentInstrumentType:()=>vr,PaymentMethodData:()=>ze.PaymentMethodData,PaymentMethodType:()=>$,Primer:()=>Ze,SuccessScreenType:()=>Fr,ThreeDSecureStatus:()=>kr,TokenType:()=>pr,isStripeOptionsDropInWithFullMandateText:()=>Qe,preloadPrimer:()=>me});function D(r){return r?new Promise(e=>{setTimeout(e,r)}):Promise.resolve()}const P=8,L=100,mr=100;function Vr(r){return{enabled:r?.enabled??!1,maxRetries:P,initialBackoff:L,retryNetworkErrors:!0,retry500Errors:!1,maxJitter:mr}}function Wr(r,e,t){const o=r*Math.pow(2,e-1),A=Math.random()*t;return Math.min(o+A,Number.MAX_SAFE_INTEGER)}async function X(r,e,t,o=D){let A=0;const _=Vr(e);if(!_.enabled)return r();for(;;)try{const i=await r();if(A){let E=`Request succeeded after ${A} retries.`;typeof i=="object"&&i&&"status"in i&&(E+=` Status code: ${i.status}`),t?.({messageType:"RETRY_SUCCESS",message:E,severity:"INFO"})}return i}catch(i){const E=i,n=A>=_.maxRetries,s=E.isNetworkError&&!_.retryNetworkErrors,R=E.status&&E.status>=500&&!_.retry500Errors;if(n||s||R){let T=`Failed after ${A} retries. `;throw n?T+=`Reached maximum retries (${_.maxRetries}).`:s?T+="Network error encountered and retryNetworkErrors is disabled.":R&&(T+="HTTP 500 error encountered and retry500Errors is disabled."),T+=` Last error: ${E.message}`,t?.({messageType:"RETRY_FAILED",message:T,severity:"ERROR",errorBody:JSON.stringify(i,Object.getOwnPropertyNames(i))}),new Error(T,{cause:i})}A++;const O=Wr(_.initialBackoff,A,_.maxJitter);let u="Unknown error";E.isNetworkError?u="Network error":E.status&&(u=`HTTP ${E.status} error`),t?.({messageType:"RETRY",message:`Retry attempt ${A}/${_.maxRetries} due to: ${u}. Error details: ${E.message}. Waiting for ${O.toFixed(2)}ms before next attempt.`,severity:"WARN",errorBody:JSON.stringify(i,Object.getOwnPropertyNames(i))}),await o(O)}}function $r(r,e){const t=document.createElement(r);return Object.entries(e).forEach(([o,A])=>t.setAttribute(o,A)),t}function z(r,e,t){return document.querySelector(`${r}[${e}^="${t}"]`)}async function Q(r,e,t,o,A,_){const{analytics:i,name:E=e,retryConfig:n}=_;await X(()=>new Promise((R,O)=>{const u=z(r,t,e)||$r(r,{...o,[t]:e});u.onload=()=>{i?.sdkFunctionEvent({name:E,params:[`${r.charAt(0).toUpperCase()+r.slice(1)} loaded successfully: ${e}`]}),R()},u.onerror=()=>{u.remove(),O(new Error(`${A}: ${e}`))},u.parentNode||document.head.appendChild(u)}),n,R=>i?.messageEvent({...R,url:e}))}function jr(r,e={}){return z("script","src",r)&&window.__Primer?(e.analytics?.sdkFunctionEvent({name:e.name??r,params:["Script already loaded"]}),Promise.resolve()):Q("script",r,"src",{...e.attributes,async:"",crossorigin:"anonymous"},"Can't load Primer SDK",e)}function Xr(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()):Q("link",r,"href",{...e.attributes,rel:"stylesheet"},"Can't load Primer SDK's Stylesheet",e)}let Y;async function Z(r){return Y||(Y=Promise.all([jr("https://sdk.primer.io/web/v2.45.4/PrimerCoreSDK.min.js",{analytics:r,name:"loadPrimerScript"}),Xr("https://sdk.primer.io/web/v2.45.4/Checkout.css",{analytics:r,name:"loadPrimerCss"})]).then(()=>{const o=window.__Primer;return delete window.__Primer,o}).catch(o=>{throw Y=void 0,o}),Y)}let k={cache:new Map};typeof window<"u"&&(window.__primerCache__??(window.__primerCache__=k),k=window.__primerCache__);const N=()=>k.cache,q=1e3*60*60,zr=30,J=50;function y(){if(N().size<=zr)return;const r=Date.now();for(const[e,t]of N())t.exp<r&&N().delete(e);if(N().size>J)for(const[e]of N()){if(N().size<=J)break;N().delete(e)}}function ye({key:r,ttl:e=q},t){e?N().set(r,{promise:Promise.resolve(t),exp:Date.now()+e}):N().delete(r)}function Qr(r){if(!r)return _=>_();const{key:e,refresh:t=!1,usePrimerSessionCacheTtlHeader:o=!1,ttl:A=q}=r;return async _=>{const i=Date.now(),E=N().get(e);if(!t&&E&&E.exp>i)return E.promise;E&&N().delete(e);const n=_().then(s=>{const R=Date.now();let O=A;return o&&(O=(Number(s.headers.get("x-primer-session-cache-ttl"))||0)*1e3),O?N().set(e,{promise:Promise.resolve({...s,source:"CACHE"}),exp:R+O}):N().delete(e),y(),s},s=>{throw N().delete(e),s});return N().set(e,{promise:n,exp:i+A}),y(),n}}const rr=()=>er.randomUUID?.()||Zr(),Zr=()=>("10000000-1000-4000-8000"+-1e11).replace(/[018]/g,r=>(r^qr()>>r/4).toString(16)),qr=()=>(er.getRandomValues?.(new Uint8Array(1))[0]??Math.random()*16)&15,er=typeof crypto<"u"?crypto:{};var rt=a(476),et=a(962),v=(r=>(r.REQUEST_START="REQUEST_START",r.REQUEST_END="REQUEST_END",r))(v||{}),p=(r=>(r.START="START",r.END="END",r))(p||{});const Jr={createHeadless:"HEADLESS_LOADING",showExpressCheckout:"EXPRESS_LOADING",showUniversalCheckout:"DROP_IN_LOADING",showVaultManager:"VAULT_MANAGER_LOADING"};var d=(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))(d||{});const yr={get(r,e){let t;try{switch(r){case"PRIMER_SDK_VERSION":t="v2.45.4";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_PCI_API_URL":t=process.env.PRIMER_PCI_API_URL;break;case"PRIMER_MODULES_URL":t=process.env.PRIMER_MODULES_URL;break;case"PRIMER_BUILD_INTEGRATION_BUILDER":t=process.env.PRIMER_BUILD_INTEGRATION_BUILDER;break;case"SENTRY_DSN":t=process.env.SENTRY_DSN;break;default:break}}catch{}return t||e}};var re=(r=>(r.CHARGING="CHARGING",r.NOT_CHARGING="NOT_CHARGING",r))(re||{});async function ee(){if(typeof navigator>"u")return;const r=await navigator.getBattery?.();return{memoryFootprint:performance.memory?.usedJSHeapSize,screen:{height:screen?.height,width:screen?.width},platformVersion:navigator.platform,userAgent:navigator.userAgent,locale:navigator.language,batteryLevel:r?.level,batteryStatus:r?.charging?"CHARGING":"NOT_CHARGING"}}const te="WEB",oe=yr.get("PRIMER_SDK_VERSION");async function Ae(r,e,t){return{...t,createdAt:Date.now(),device:await ee(),eventType:r,properties:e,sdkVersion:oe,sdkType:te}}const tr="https://analytics.production.data.primer.io/sdk-logs",_e=tr==="https://analytics.sandbox.data.primer.io/playwright";let I={providers:new Map,timers:new Map,eventsQueue:new Map};typeof window<"u"&&(window.__primerAnalytics__??(window.__primerAnalytics__=I),I=window.__primerAnalytics__);const or=()=>I.providers,b=()=>I.timers,f=()=>I.eventsQueue,Ar=1024*5,Ee=500,M=new Map;function x({url:r=tr,...e}){typeof document<"u"&&document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&_r(r,!0)});const t=A=>async _=>{if(typeof navigator>"u")return;const i=await Ae(A,_,e),E=s=>se(ne(s));if(_e)return;const n=Er(i,E);ie(r,n)},o={crashEvent:t(d.CRASH_EVENT),messageEvent:t(d.MESSAGE_EVENT),networkCallEvent:t(d.NETWORK_CALL_EVENT),sdkFunctionEvent:t(d.SDK_FUNCTION_EVENT),timerStart:({id:A,..._})=>{const i=`${e.checkoutSessionId}|${A}`;return b().set(i,{start:performance?.now()}),t(d.TIMER_EVENT)({..._,id:A,timerType:p.START})},timerEnd:({id:A,..._})=>{const i=`${e.checkoutSessionId}|${A}`,{start:E=void 0}=b().get(i)??{};b().delete(i);const n=performance?.now(),s=E?n-E:void 0;return t(d.TIMER_EVENT)({..._,id:A,timerType:p.END,duration:s})},v1Event:t(d.V1_EVENT),url:r};return or().set(e.checkoutSessionId,o),o}function H(r){return new Proxy({},{get(e,t){return(or().get(r)??x({checkoutSessionId:r}))[t]}})}function _r(r,e=!1){if(M.has(r)){const A=M.get(r);clearTimeout(A),M.delete(r)}const t=()=>{const A=f().get(r);let _=!1;if(A?.length){try{_=navigator.sendBeacon(r,JSON.stringify(A))}catch(i){_=!0,console.error("Unable to access navigator",i)}_&&f().delete(r)}};if(e){t();return}const o=setTimeout(t,Ee);M.set(r,o)}function ie(r,e){f().has(r)||f().set(r,[]),f().get(r)?.push(e),_r(r)}function Er(r,e){const t=o=>typeof o=="object"&&o!==null?Er(o,e):e(o);return Array.isArray(r)?r.map(t):Object.fromEntries(Object.entries(r).map(([o,A])=>[o,t(A)]))}function se(r){return typeof r=="string"&&r.length>Ar?`${r.slice(0,Ar)}...`:r}function ne(r){return typeof r=="function"?r.name||"function":r}class F{constructor(e,t){this.type=e,this.displayName=t}get specs(){return this.constructor.specs}setOption(e,t){this.options&&(this.options[e]=t)}setupAndValidate(){return Promise.resolve(!0)}mount(){return Promise.resolve(!0)}tokenize(e){return Promise.resolve()}validate(){return Promise.resolve({valid:!0,validationErrors:[]})}setDisabled(e){return Promise.resolve()}focus(){}blur(){}getPaymentElement(){return null}getStore(){}}F.specs={key:"__none__",canVault:!1,buttonManagedByPaymentMethod:!1,hasExportedButtonOptions:!1},F.create=(r,e,t,o)=>{throw new Error("Cannot instantiate BasePaymentMethod")};class ce extends F{async tokenize(e){}}class ae{get session(){const e=this.store.getState().clientSessionInfo;if(!e)throw new Error("Client Context Session does not exist");return e}}const Ne=[Array,ce,ae,Map,Set];function Re(r){const e=new Set,t=20;let o=0;for(;o++<t&&r&&r!==Object.prototype;)Object.getOwnPropertyNames(r).forEach(A=>e.add(A)),r=Object.getPrototypeOf(r);return[...e]}function ir(r,e,t,o,A){if(!t||Ne.some(_=>t instanceof _))return t;switch(typeof t){case"function":return new Proxy(t,{apply(_,i,E=[]){const n={name:e.replace(/^bound /,""),params:E,module:A};r?.sdkFunctionEvent(n);const s=E.map((R,O)=>ir(r,`${O}`,R,o,[A,e,`${O}`].filter(Boolean).join(".")));return _.apply(i,s)}});case"object":return t===o?t:Oe(r,t,[A,e].filter(Boolean).join("."));default:return t}}function Oe(r,e,t){return Object.fromEntries(Re(e).map(o=>{const A=e?.[o],_=ir(r,o,A,A,t);return[o,_]}))}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}),sr=15e3,De=(r,e,t)=>nr(r,"get",e,t),ue=(r,e,t,o)=>nr(r,"post",e,o,JSON.stringify(t)),nr=async(r,e,t,o,A)=>{const _=rr(),i=performance?.now();let E=H(r);const n={method:e,url:t,body:A};E.networkCallEvent(G(_,n));try{const s=await fetch(t,{body:A,method:e,headers:{"content-type":"application/json","x-request-id":_,...o}});if(!s.ok){const T=new Error(`HTTP error! status: ${s.status}`);throw T.status=s.status,T}const R=await s.json();if(t.includes("client-sdk/configuration")){const{primerAccountId:T,clientSession:{clientSessionId:qe,customer:Je}}=R;E=x({checkoutSessionId:r,clientSessionId:qe,customerId:Je?.customerId,primerAccountId:T,url:E.url})}const u=performance?.now()-i;return E.networkCallEvent(G(_,n,{data:R},u)),{data:R,headers:s.headers,status:s.status,source:"NETWORK"}}catch(s){const O=performance?.now()-i;throw Object.assign(s,{isNetworkError:s instanceof TypeError}),E.networkCallEvent(G(_,n,{error:s},O)),s}},cr=(r,e)=>new Promise((t,o)=>{const A=setTimeout(()=>{const _=new Error("Request timed out");_.isNetworkError=!0,o(_)},e);r.then(t).catch(o).finally(()=>clearTimeout(A))}),Te=(r,e)=>{const{headers:t,retryConfig:o,cacheConfig:A,timeout:_=sr,checkoutSessionId:i}=e,E=H(i);return Qr(A)(()=>X(()=>cr(De(i,r,t),_),o,n=>E.messageEvent({...n,url:r})))},tt=(r,e,t)=>{const{headers:o,retryConfig:A,cacheConfig:_,timeout:i=sr,checkoutSessionId:E}=t,n=getAnalytics(E);return cacheRequest(_)(()=>retryWithExponentialBackoff(()=>cr(ue(E,r,e,o),i),A,s=>n.messageEvent({...s,url:r})))},ar="3.6.1",Pe=ar,Le=typeof atob=="function",de=typeof btoa=="function",S=typeof Buffer=="function",Nr=typeof TextDecoder=="function"?new TextDecoder:void 0,Rr=typeof TextEncoder=="function"?new TextEncoder:void 0,l=[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="],U=(r=>{let e={};return r.forEach((t,o)=>e[t]=o),e})(l),Se=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,c=String.fromCharCode.bind(String),Or=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):(r,e=t=>t)=>new Uint8Array(Array.prototype.slice.call(r,0).map(e)),Dr=r=>r.replace(/[+\/]/g,e=>e=="+"?"-":"_").replace(/=+$/m,""),ur=r=>r.replace(/[^A-Za-z0-9\+\/]/g,""),Tr=r=>{let e,t,o,A,_="";const i=r.length%3;for(let E=0;E<r.length;){if((t=r.charCodeAt(E++))>255||(o=r.charCodeAt(E++))>255||(A=r.charCodeAt(E++))>255)throw new TypeError("invalid character found");e=t<<16|o<<8|A,_+=l[e>>18&63]+l[e>>12&63]+l[e>>6&63]+l[e&63]}return i?_.slice(0,i-3)+"===".substring(i):_},K=de?r=>btoa(r):S?r=>Buffer.from(r,"binary").toString("base64"):Tr,m=S?r=>Buffer.from(r).toString("base64"):r=>{let t=[];for(let o=0,A=r.length;o<A;o+=4096)t.push(c.apply(null,r.subarray(o,o+4096)));return K(t.join(""))},B=(r,e=!1)=>e?Dr(m(r)):m(r),Ce=r=>{if(r.length<2){var e=r.charCodeAt(0);return e<128?r:e<2048?c(192|e>>>6)+c(128|e&63):c(224|e>>>12&15)+c(128|e>>>6&63)+c(128|e&63)}else{var e=65536+(r.charCodeAt(0)-55296)*1024+(r.charCodeAt(1)-56320);return c(240|e>>>18&7)+c(128|e>>>12&63)+c(128|e>>>6&63)+c(128|e&63)}},Ye=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,Pr=r=>r.replace(Ye,Ce),Lr=S?r=>Buffer.from(r,"utf8").toString("base64"):Rr?r=>m(Rr.encode(r)):r=>K(Pr(r)),C=(r,e=!1)=>e?Dr(Lr(r)):Lr(r),dr=r=>C(r,!0),Ie=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,fe=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 c((t>>>10)+55296)+c((t&1023)+56320);case 3:return c((15&r.charCodeAt(0))<<12|(63&r.charCodeAt(1))<<6|63&r.charCodeAt(2));default:return c((31&r.charCodeAt(0))<<6|63&r.charCodeAt(1))}},Sr=r=>r.replace(Ie,fe),Cr=r=>{if(r=r.replace(/\s+/g,""),!Se.test(r))throw new TypeError("malformed base64.");r+="==".slice(2-(r.length&3));let e,t="",o,A;for(let _=0;_<r.length;)e=U[r.charAt(_++)]<<18|U[r.charAt(_++)]<<12|(o=U[r.charAt(_++)])<<6|(A=U[r.charAt(_++)]),t+=o===64?c(e>>16&255):A===64?c(e>>16&255,e>>8&255):c(e>>16&255,e>>8&255,e&255);return t},V=Le?r=>atob(ur(r)):S?r=>Buffer.from(r,"base64").toString("binary"):Cr,Yr=S?r=>Or(Buffer.from(r,"base64")):r=>Or(V(r),e=>e.charCodeAt(0)),Ir=r=>Yr(fr(r)),le=S?r=>Buffer.from(r,"base64").toString("utf8"):Nr?r=>Nr.decode(Yr(r)):r=>Sr(V(r)),fr=r=>ur(r.replace(/[-_]/g,e=>e=="-"?"+":"/")),W=r=>le(fr(r)),he=r=>{if(typeof r!="string")return!1;const e=r.replace(/\s+/g,"").replace(/=+$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(e)||!/[^\s0-9a-zA-Z\-_]/.test(e)},lr=r=>({value:r,enumerable:!1,writable:!0,configurable:!0}),hr=function(){const r=(e,t)=>Object.defineProperty(String.prototype,e,lr(t));r("fromBase64",function(){return W(this)}),r("toBase64",function(e){return C(this,e)}),r("toBase64URI",function(){return C(this,!0)}),r("toBase64URL",function(){return C(this,!0)}),r("toUint8Array",function(){return Ir(this)})},Mr=function(){const r=(e,t)=>Object.defineProperty(Uint8Array.prototype,e,lr(t));r("toBase64",function(e){return B(this,e)}),r("toBase64URI",function(){return B(this,!0)}),r("toBase64URL",function(){return B(this,!0)})},Ur={version:ar,VERSION:Pe,atob:V,atobPolyfill:Cr,btoa:K,btoaPolyfill:Tr,fromBase64:W,toBase64:C,encode:C,encodeURI:dr,encodeURL:dr,utob:Pr,btou:Sr,decode:W,isValid:he,fromUint8Array:B,toUint8Array:Ir,extendString:hr,extendUint8Array:Mr,extendBuiltins:()=>{hr(),Mr()}},Me={encode:Ue,decode:Ur.decode};function Ue(r,e={}){const{urlSafe:t=!1}=e;return Ur.encode(r,t)}function Be(r){const e=ke(r),t=e.exp*1e3;if(Date.now()>t)throw new Error(`${ge}. Expiration date: ${new Date(t).toISOString()}`);return e}const Br="The provided `clientToken`",ge=`${Br} has expired`,we=`${Br} is malformed`;function ke(r){try{const[e,t]=r.split("."),o=t||e;return JSON.parse(Me.decode(o))}catch{throw new Error(we)}}const ve="v2.45.4",pe=(r,e,t)=>({"primer-client-token":r,"primer-sdk-client":"WEB","primer-sdk-version":ve,"primer-sdk-checkout-session-id":e,...t&&{"x-api-version":t}});async function be(r,e,t){const{accessToken:o,configurationUrl:A,analyticsUrlV2:_}=Be(r),i=x({checkoutSessionId:e,url:_});i.timerStart({id:"CONFIGURATION_LOADING"});try{const{data:E,source:n}=await Te(`${A}/?withDisplayMetadata=true`,{checkoutSessionId:e,headers:pe(o,e,"2.3"),retryConfig:{enabled:!0},cacheConfig:t});return i.timerEnd({id:"CONFIGURATION_LOADING",source:n}),E}catch(E){const n=E instanceof Error?E.message:"Unknown error occurred";throw new Error(`Failed to initialize client: ${n}`)}}const xe="v2.45.4",He=g("createHeadless"),Fe=g("showExpressCheckout"),Ge=g("showUniversalCheckout"),Ke=g("showVaultManager");function g(r){return async(...[e,t,...o])=>{const A=rr(),_=H(A);_.sdkFunctionEvent({name:r,params:[e,t,...o]}),_.timerStart({id:Jr[r]});const[i,E]=await Promise.all([be(e,A,t?.clientSessionCachingEnabled?{key:e,usePrimerSessionCacheTtlHeader:!0}:void 0),Z(_)]);return E[r](i,A,e,t)}}const me=()=>Z().then(()=>{});var Ve=(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))(Ve||{}),We=(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))(We||{}),$e=(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))($e||{}),gr=(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))(gr||{}),wr=(r=>(r.DEFAULT="DEFAULT",r.PREFER_VAULT="PREFER_VAULT",r))(wr||{}),je=(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))(je||{}),kr=(r=>(r.SUCCESS="AUTH_SUCCESS",r.FAILED="AUTH_FAILED",r.SKIPPED="SKIPPED",r.CHALLENGE="CHALLENGE",r))(kr||{}),vr=(r=>(r.WORLDPAY_IDEAL="WORLDPAY_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_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))(vr||{}),$=(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))($||{}),Xe=(r=>(r.PAYMENT_CARD="PAYMENT_CARD",r.ADYEN_BANCONTACT_CARD="ADYEN_BANCONTACT_CARD",r))(Xe||{}),pr=(r=>(r.SINGLE_USE="SINGLE_USE",r.MULTI_USE="MULTI_USE",r))(pr||{});const br={PAYPAL_BILLING_AGREEMENT:"PAYPAL",KLARNA_CUSTOMER_TOKEN:"KLARNA"},_t=r=>{if(Object.values($).includes(r))return r;if(br[r])return br[r]};var xr=(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))(xr||{});class Hr extends Error{static fromErrorCode(e,t,o){return new Hr(e,t,o)}constructor(e,t,o){super(t.message),this.message=t.message,this.code=e,this.diagnosticsId=t.diagnosticsId||null,this.data=t.data,this.isFromDeveloper=t.isFromDeveloper??!1,o?.messageEvent?.({message:t.message,messageType:e,severity:"ERROR",...t.diagnosticsId&&{diagnosticsId:t.diagnosticsId},...t.errorId&&{errorId:t.errorId},...t.data&&{data:t.data},...t.isFromDeveloper!==void 0&&{isFromDeveloper:String(t.isFromDeveloper)},stack:this.stack})}}const Et=r=>{throw console.error(r.message),r};var ze=a(473),Fr=(r=>(r.PAYMENT_METHOD="PAYMENT_METHOD",r.CHECK="CHECK",r))(Fr||{});const Qe=r=>"fullMandateText"in r?.mandateData;var Gr=(r=>(r.CHANGE="change",r.ERROR="error",r.FOCUS="focus",r.BLUR="blur",r.CLICK="click",r.CLOSE="close",r))(Gr||{}),Kr=(r=>(r.CARD="CARD",r.NATIVE="NATIVE",r.REDIRECT="REDIRECT",r.FORM_WITH_REDIRECT="FORM_WITH_REDIRECT",r.KLARNA="KLARNA",r.ACH="ACH",r))(Kr||{});const Ze={SDK_VERSION:xe,createHeadless:He,showExpressCheckout:Fe,showUniversalCheckout:Ge,showVaultManager:Ke}})(),w})());
|
package/dist/index.d.ts
CHANGED
|
@@ -500,7 +500,6 @@ export interface ApiConfig {
|
|
|
500
500
|
export interface RequestOptions {
|
|
501
501
|
maxAttempts?: number;
|
|
502
502
|
apiVersion?: string;
|
|
503
|
-
isAnalytics?: boolean;
|
|
504
503
|
}
|
|
505
504
|
export interface APIRequestOptions {
|
|
506
505
|
method: "get" | "post" | HttpMethod;
|
|
@@ -532,7 +531,8 @@ declare class Api {
|
|
|
532
531
|
private messageBus;
|
|
533
532
|
isReady: Promise<void>;
|
|
534
533
|
private checkoutSessionId;
|
|
535
|
-
|
|
534
|
+
private analytics;
|
|
535
|
+
constructor(messageBus: IFrameMessageBus, { analytics, accessToken, coreUrl, iframes, pciUrl, checkoutSessionId, }: ApiConfig);
|
|
536
536
|
setAccessToken(accessToken: string): void;
|
|
537
537
|
request<T>(payload: APIRequestOptions): Promise<APIResponse<T>>;
|
|
538
538
|
post<T = unknown, U = unknown>(url: string, body: T, options?: RequestOptions): Promise<APIResponse<U>>;
|