PageSourceSearch

https://foxlabs.com/cdn/shopifycloud/checkout-web/assets/c1/component-PayPalButton.CVEw0kWw.js

js foxlabs.com collected 2026-09-26 18:22:27 UTC 27,571 bytes, 5 lines download raw bytes

1import{U as Ct,V as kt,f as na,T as Ye,q as S,e as oe,A as se,u as H,h as ce,g as ra,S as oa}from"./esnext-vendor.B9Da21W6.js";import{fx as de,fy as He,fz as sa,d as la,fA as It,ch as ia,fB as ca,f as ua,n as da,fC as pa,cU as ma,fD as fa,eW as ga,fl as va,fc as ya,fE as D,s as ha,cM as ba,fd as Aa,V as _a,bX as Ea,fe as Sa,fF as Pa,fG as Ca}from"./hydrate.DZ4YTm7p.js";import{S as Y,T as qe,a4 as Z,l as Re,ae as Tt,ck as ka,fK as wt,v as Ia,fL as Ta,aI as wa,fM as Ra,da as f,fN as Ba,bv as La,fO as xa,fP as Ma,fQ as bt,fR as Na,an as Oa,b5 as Da,fS as Va,fT as Fa,cQ as Ua,fU as Wa}from"./addresses-is-address-empty.Bn2lNY_L.js";import{b as At}from"./PaymentButtons.MV6WHZES.js";import{S as ee}from"./app.DbSrjjlA.js";import{a as Be,b as Le,u as Ga,c as z}from"./cross-border-hooks.xPE4TSQ5.js";import{u as Rt,a as za}from"./hooks-useWalletsThreePageVaultedReviewEscalation.DI1pRNwr.js";import{e as Ha}from"./stopwatch.CfKlh48v.js";import{f as Ya}from"./hooks-useWalletsTimeout.CS-oFfve.js";import{S as ue}from"./hooks-useStableHostMethodsReferences.DObnt9s8.js";import{u as $a,W as qa}from"./WalletsSandbox-WalletSandbox.Bnd2Qnah.js";import{a as Xa}from"./PayButton-helpers.Cc_ffyKs.js";import"./graphql-PaymentSessionMutation.CAXCwUvV.js";import"./hooks-useShopPayExternalAppContext.DWwMuRnz.js";import"./hooks-useReplaceShopPayInHistory.DPpLejwu.js";import"./amazon-pay-useAmazonPayPaymentLine.Ju006AId.js";import"./shared-buyer-consent.B_gDyRCR.js";function Bt(t,n){return t?!!n?.some(e=>e.value===t):!1}class pe extends ee{constructor(){super(...arguments),this.name="PaypalExpressError"}}const Ka={id:"adb798e617f80f912a3489ae4fddf2cd23943ab846448fe0ce07617a2c587cbb",type:"query",name:"PaypalDetails",source:""},ja={id:"7721b62b97e359c797bda1224aa91b0808a50e27ac8036db558d8b2e4ea6607f",type:"query",name:"PaypalToken",source:""},Lt=5;class xt extends ee{constructor(){super(...arguments),this.name="PayPalAPIError"}}class Mt extends ee{constructor(){super(...arguments),this.name="UnactionablePayPalAPIError",this.unactionable=!0}}const Qa=async({graphql:t,countryCode:n,email:e,venmoPayment:a,getNegotiationVariables:d,isPayWithPayPalFlow:p,observability:s,isBillingAgreement:_,isVaultWithPurchaseOrder:l})=>{const g=await d(),v=async b=>{const{data:r,error:u}=await t.staticQuery(ja,{cache:!1,variables:b?{pendingTask:{taskId:b}}:{paypalTokenCreate:{merchandiseSource:{proposal:g},countryCode:n,email:e,venmoPayment:a,paymentMethodFlow:p,billingAgreement:_||l,isVaultWithPurchaseOrder:l}}});if(u!=null)throw h({code:"GENERIC_ERROR",unactionable:!0,error:u});if(r==null)throw h({code:"NO_DATA",unactionable:!1});return r};let y=0,B="";do{const{paypalToken:b}=await v(B);switch(b.__typename){case"PaypalTokenCreationFailed":throw h({code:b.code,unactionable:!0});case"PaypalTokenCreationSuccess":return{token:b.token,...b.authAssertionContext&&{authAssertionContext:b.authAssertionContext}};case"PendingTask":{if(B=b.taskId,y+=1,y>=Lt)throw h({code:"REACHED_MAX_POLLING",unactionable:!0});await kt(b.pollDelay);break}default:Ct(b)}}while(!0);function h({code:b,unactionable:r,error:u}){s.counter({name:"paypal_token_create_error",value:1,attributes:{code:b}}),s.log("paypal_api_create_paypal_token_failed","createPayPalToken failed",{attributes:{code:b}});const I=`createPayPalToken failed with code: ${b}${u?`, ${u.name}: ${u.message}`:""}`;return r?new Mt(I,{cause:u}):new xt(I,{cause:u})}},Ja=async({graphql:t,paypalToken:n,authAssertionContext:e,observability:a})=>{const d=async(l,g)=>{const{data:v,error:y}=await t.staticQuery(Ka,{cache:!1,variables:g?{pendingTask:{taskId:g}}:{paypalDetailsInput:{token:l,authAssertionContext:e}}});if(y!=null)throw _({code:"GENERIC_ERROR",unactionable:!0,error:y});if(v==null)throw _({code:"NO_DATA",unactionable:!1});return v};let p=0,s="";do{const{paypalDetails:l}=await d(n,s);switch(l.__typename){case"PaypalDetailsFetchFailed":throw _({code:l.code,unactionable:!0});case"PaypalDetailsFetchSuccess":return l;case"PendingTask":{if(s=l.taskId,p+=1,p>=Lt)throw _({code:"REACHED_MAX_POLLING",unactionable:!0});await kt(l.pollDelay);break}default:Ct(l)}}while(!0);function _({code:l,unactionable:g,error:v}){a.counter({name:"paypal_fetch_details_error",value:1,attributes:{code:l}}
1),a.log("paypal_api_fetch_paypal_details_failed","fetchPayPalDetails failed",{attributes:{code:l,errorName:v?.name,errorMessage:v?.message}});const y=`fetchPayPalDetails failed with code: ${l}${v?`, ${v.name}: ${v.message}`:""}`;return g?new Mt(y,{cause:v}):new xt(y,{cause:v})}},Za=({isPayWithPayPalFlow:t=!1})=>{const{shop:n,checkout:e}=Y(),{billingAddressOption:a}=qe(),{buyerIdentity:d,paymentMethods:p}=Z();return na(()=>d.value?.purchasingCompany||t?!1:!Re({shop:n,checkout:e,paymentMethods:p.value})&&a.value==="shipping"?!0:!e.isShippingRequired.value)},en=({isPayWithPayPalFlow:t=!1})=>{const{checkout:n}=Y();return Z().buyerIdentity.value?.purchasingCompany||!n.isShippingRequired.value?!1:!t};function tn({fundingSource:t,isVaultWithPurchaseOrder:n=!1,isLegacyBillingAgreementWithoutPurchase:e=!1,isPayWithPayPalFlow:a=!1,onSuccess:d,onError:p}){const s=an({isPayWithPayPalFlow:a}),_=nn({fundingSource:t,isVaultWithPurchaseOrder:n,isPayWithPayPalFlow:a}),{inMemoryPayPalParts:{accountStatus:l},persistedPayPalSignal:g}=Tt(),v=ka().value?.currencyCode,{observability:y,graphql:{coreGraphql:B}}=Y(),h=t==="paypal"?Be.PayPalV6:Be.Venmo,{trackAttempt:b}=Rt(h),r=Z().paymentMethods?.value;return async function(u){b({walletType:a?Le.PaymentMethod:Le.Express}),de.start("paypal_authorization"),l.value={status:"loading"};try{const I=await Ja({graphql:B,paypalToken:wt(r)&&!n&&u.billingToken||u.orderId,authAssertionContext:u.authAssertionContext,observability:y}),T=s(I);if(!T)throw new pe("PayPal returned invalid data");const F=I.remoteOrderId||u.orderId,L=F===u.orderId?u.authAssertionContext:void 0;_({address:T.address,email:T.email,payerId:u.payerId,orderId:F,expiresAt:T.expiresAt,billingAddress:T.billingAddress??void 0,payerApprovedAmount:T.payerApprovedAmount??void 0,currencyCode:v,authAssertionContext:L}),e&&I.remoteOrderId?.startsWith("B-")&&y.counter({name:"paypal_zero_due_billing_agreement_created",value:1}),g.value={isVenmo:t==="venmo",receiptIdForClearedToken:g.peek()?.receiptIdForClearedToken,billingAgreementStatus:T.billingAgreementStatus},l.value={status:"connected",email:T.email,token:F},d?.()}catch(I){throw p?.(I),I}}}function an({isPayWithPayPalFlow:t}){const{observability:n}=Y(),e=Z().buyerIdentity.value?.purchasingCompany;return function(d){const{prefillingDestinationAddress:p,email:s,expiresAt:_,billingAgreementStatus:l,prefillingBillingAddress:g,payerApprovedAmount:v}=d;return e?{email:s,expiresAt:_,billingAgreementStatus:l,payerApprovedAmount:v}:p==null&&!t?(n.error(new pe("No address returned by PayPal"),{errorClass:He.Api}),!1):p&&p.__typename!=="StreetAddress"&&p.__typename!=="InvalidWalletPrefillingAddress"?(n.error(new pe(`Unsupported PayPal address type: ${p.__typename}`),{errorClass:He.Api}),!1):g&&g.__typename!=="StreetAddress"&&g.__typename!=="InvalidWalletPrefillingAddress"?(n.error(new pe(`Unsupported PayPal address type: ${g.__typename}`),{errorClass:He.Api}),!1):{email:s,address:p,expiresAt:_,billingAddress:g,billingAgreementStatus:l,payerApprovedAmount:v}}}function nn({fundingSource:t,isVaultWithPurchaseOrder:n,isPayWithPayPalFlow:e}){const{checkout:a,observability:d,shop:p}=Y(),{shippingCountries:s}=p,_=a.configuration.addressSettings.nonBillingAddressSettings.value,{email:l,paymentLines:g,shippingAddress:v,billingAddress:y,acceptPaymentVaulting:B}=qe(),h=sa(),{value:b}=Z().contactInfo,r=Z().paymentMethods?.value,u=a.identity.current.value,I=la(),T=It("PAYPAL_EXPRESS"),F=Za({isPayWithPayPalFlow:e}),L=en({isPayWithPayPalFlow:e}),{shouldGateCrossBorder:me,crossBorderGate:fe}=Ga(),ge=!Re({shop:p,checkout:a,paymentMethods:r}),le=h.value&&(!b?.email||!e);function $(U,A){for(const[C,q]of Object.entries(A)){if(C==="__typename"||A.__typename==="InvalidWalletPrefillingAddress"&&!_.isVisible(C))continue;const W=U.fields[C];W&&(W.value=q||void 0)}}function ve(U){const A=U.countryCode;!!A&&!Bt(A,s)?$(v,{__typename:"InvalidWalletPrefillingAddress",countryCode:A,validationErrors:[]}):$(v,U)}return function(A){if(le&&(l.value=A.email),A.address){const W=A.address;if(L){const ye=W.countryCode;me(ye)?(d.log("paypal_cross_border_gate","PayPal shipping country creates a cross-border split. Opening the consolidation modal before filling the shipping address.",{shippingCountryCode:ye}),fe(()=>ve(W))):ve(W)}}A.billingAddress&&(u!=="payPal"||!I.value.billing)&&!ge?$(y,A.billingAddress):F.value&&A.address&&$(y,A.address);const C={method:{type:"wallet",name:"PAYPAL_EXPRESS",walletContent:{authAssertionContext:A.authAssertionContext,payerId:A.payerId,token:A.orderId,email:A.email,paymentMethodIdentifier:T.value?.paymentMethodIdentifier??"",expiresAt:A.expiresAt,merchantId:T.value?.merchantId,payerApprovedAmount:A.payerApprovedAmount,currencyCode:A.currencyCode,...n?{isVaultWithPurchaseOrder:n}:{},isVenmo:t==="venmo"}}},q=g.peek();g.value=Ia(q,C),e||(B.value=!1)}}function rn(){return{ar:"ar-EG",bg:"en-BG",cs:"cs-CZ",da:"da-DK",de:"de-DE",el:"el-GR",en:"en-US",es:"es-ES",fi:"fi-FI",fr:"fr-FR",he:"he-IL",hi:"en-IN",hr:"en-HR",hu:"hu-HU",id:"id-ID",it:"it-IT",ja:"ja-JP",ka:"en-GE",ko:"ko-KR",lt:"en-LT",ms:"en-MY",nb:"no-NO",nl:"nl-NL",pl:"pl-PL","pt-BR":"pt-BR","pt-PT":"pt-PT",ro:"en-RO",ru:"ru-RU",sk:"sk-SK",sl:"en-SI",sr:"en-RS",sv:"sv-SE",th:"th-TH",tr:"tr-TR",vi:"en-VN","zh-CN":"zh-CN","zh-TW":"zh-TW"}}function on(){const{locale:t}=Y().i18n;return Ye(()=>{const n=rn(),e=n[t];if(e!==void 0)return e;const a=t.indexOf("-"),d=a===-1?t:t.slice(0,a);return n[d]||"en-US"},[t])}function sn(){return!!window.navigator.userAgent.match(/FBAN|FB_IAB|FBAV|Instagram/)}function ln(){const t=window.navigator.userAgent,n=!!t.match(/iPhone|iPad|iPod/),e=!!t.match(/\bSafari\/[\d.]+/);return!!t.match(/IABMV/i)&&(!n||e)}function cn(){return!!window.navigator.userAgent.match(/musical_ly|BytedanceWebview/)}function un(){return!!window.navigator.userAgent.match(/\bGSA\/[\d.]+/)}function dn(){return!!window.navigator.userAgent.match(/ShopifyCheckoutSDK|ShopifyCheckoutKit/)}function pn(){return!!window.popupBridge}function mn(){return Ta()||cn()||un()||dn()||pn()?!1:sn()?ln():!wa()}const fn=()=>{const{observability:t}=Y();return S(({message:n,attributes:e={}})=>{t.log("sandbox_log_handled",n,e)},[t])},$e="disable-view-transitions-for-wallet-pci";function gn(){if(document.getElementById($e))return;const t=document.createElement("style");t.setAttribute("id",$e),t.textContent=`
2    * {
3      view-transition-name: none !important;
4    }
5  `,document.head.appendChild(t)}function vn(){document.getElementById($e)?.remove()}function yn({onExpand:t,onCollapse:n}={}){const e=oe(!1),a=se({onExpand:t,onCollapse:n});a.current={onExpand:t,onCollapse:n};const d=S(()=>{gn(),e.value=!0,a.current.onExpand?.()},[e]),p=S(()=>
5{e.value&&(a.current.onCollapse?.(),vn(),e.value=!1)},[e]);return{isFullScreen:e,expandIFrame:d,collapseIFrame:p}}const hn="3px",bn="0px",_t=4,Et={display:"flex","align-items":"center","justify-content":"center",width:"100%",height:"100%"},An={display:"block","inline-size":"100%","block-size":"100%"};function _n(t){return{"background-color":t.backgroundColor,color:t.textColor,border:"none","box-shadow":`inset 0 0 0 ${t.borderWidth} ${t.borderColor}`,"border-radius":t.borderRadius,padding:`${t.blockPadding} ${t.inlinePadding}`,"font-family":t.fontFamily,"font-size":t.fontSize,"font-weight":t.fontWeight,"line-height":t.lineHeight??"","letter-spacing":t.letterSpacing,"text-transform":t.textTransform}}function En(t){return{display:"flex","align-items":"center","justify-content":"center","inline-size":t?.logoWidth??"","block-size":t?.logoHeight??""}}function Sn(t,n){const e=n.startsWith("var(")?n.slice(4,-1):n,a=e.indexOf(","),d=(a===-1?e:e.slice(0,a)).trim();return getComputedStyle(t).getPropertyValue(d).trim()}function Pn(){const t=[];for(const n of document.styleSheets)try{for(const e of n.cssRules)e.cssText.startsWith("@font-face")&&t.push(e.cssText)}catch{}return t}function Cn({label:t,disabled:n,loading:e,size:a,scopeElement:d,sizingElement:p}){const s=(...y)=>{for(const B of y){const h=Sn(d,B);if(h)return h.endsWith("rem")?`${Ra(h)}px`:h}return""},_=getComputedStyle(d),l=p?getComputedStyle(p):null,g=s(f.color.default.primaryButton.hover.background),v=g?{backgroundColor:g,textColor:s(f.color.default.primaryButton.hover.text),borderColor:s(f.color.default.primaryButton.hover.border)}:void 0;return{label:t,disabled:n,loading:e,size:a,fontFaces:Pn(),buttonStyle:{backgroundColor:s(f.color.default.primaryButton.background),backgroundColorDisabled:s(f.color.default.primaryButton.backgroundSubdued),textColor:s(f.color.default.primaryButton.text),borderColor:s(f.color.default.primaryButton.border),borderWidth:s(f.button.primary.borderWidth),borderRadius:s(f.button.primary.borderRadius,f.global.borderRadius,f.borderRadius.base),blockPadding:l?.paddingBlockStart??s(f.button.primary.blockPadding),inlinePadding:l?.paddingInlineStart??s(f.button.primary.inlinePadding),fontFamily:l?.fontFamily??(s(f.button.primary.fontFamily)||_.fontFamily),fontSize:l?.fontSize??(s(f.button.primary.fontSize,f.fontSize.medium)||_.fontSize),fontWeight:l?.fontWeight??s(f.button.primary.fontWeight,f.typography.primary.fontWeight.bold),lineHeight:l?.lineHeight,letterSpacing:l?.letterSpacing??s(f.button.primary.letterSpacing,f.global.letterSpacing),textTransform:l?.textTransform??(s(f.button.primary.textTransform)||_.textTransform),opacityDisabled:s(f.opacity.disabled),hover:v,focusRing:{width:s(f.ring.width)||hn,offset:s(f.ring.offset)||bn,c
5olor:s(f.ring.color,f.color.default.accent)}}}}function kn(t){const n=document.createElement("span");if(n.classList.add("standard-wallet-button-content"),!t.content?.hideLabel){const e=document.createElement("span");e.classList.add("standard-wallet-button-label"),e.textContent=t.label,n.appendChild(e)}if(t.content?.logoSvg){const e=document.createElement("span");e.classList.add("standard-wallet-button-logo"),e.setAttribute("aria-hidden","true");const a=new DOMParser().parseFromString(t.content.logoSvg,"image/svg+xml").documentElement;a.namespaceURI==="http://www.w3.org/2000/svg"&&(a.setAttribute("focusable","false"),e.appendChild(document.importNode(a,!0))),n.appendChild(e)}return n}function Te(t,n){for(const[e,a]of Object.entries(n))a&&t.style.setProperty(e,a)}function In(t,n){Te(t,{...Et,"box-sizing":"border-box",..._n(n.buttonStyle)});const e=t.querySelector(".standard-wallet-button-content");e&&Te(e,Et);const a=t.querySelector(".standard-wallet-button-logo");a&&Te(a,En(n.content));const d=a?.querySelector("svg");d&&Te(d,An)}const Tn="GJTW5",wn={gutter:Tn};function Rn({config:t}){const n=S(e=>{e&&(e.replaceChildren(kn(t)),In(e,t))},[t]);return H("div",{className:wn.gutter,"aria-hidden":"true",children:H("div",{ref:n})})}const Bn="PAYPAL_EXPRESS",Ln="PAY_WITH_PAYPAL",xn="VENMO",Mn={BILLING_AGREEMENT:"TOKENIZE"},Nn="MlVcW",On="AhtQv",St={StandardButtonOverlay:Nn,standardButtonWrapper:On};class Dn extends ee{constructor(){super(...arguments),this.name="PayPalPaymentFlowError"}}class Vn extends ee{constructor(){super(...arguments),this.name="UnactionablePayPalPaymentFlowError",this.unactionable=!0}}const Fn=new Set(Wa),we="PAYPAL_EXPRESS",Pt="VENMO";function nr({buttonLabel:t="paypal",progressToNextPage:n=!1,isPayWithPayPalFlow:e=!1,fundingSource:a="paypal",isDisabled:d=!1,sizingButtonRef:p}){const s=ia().geolocation.country.code,_=on(),{email:l,billingAddressOption:g,acceptPaymentVaulting:v,shippingAddress:y}=qe(),B=ca(),{checkout:h,i18n:b,observability:r,shop:u,graphql:{coreGraphql:I}}=Y(),T=Ba(),{progress:F,negotiate:L}=ua(),me=da(),fe=pa(),ge=za({flag:bt,onError:c=>{throw c}}),{markAsLoaded:le}=Ha(),$=Z().paymentMethods?.value,ve=ma().value,U=Ya(),C=It(a==="venmo"?Pt:we).value,q=C?.clientToken,W=C?.paymentIntent,ye=La(),Nt=wt($),Ot=C?.name===we&&C.gatewayType==="CONNECTED",Dt=C?.name===we&&C.gatewayType==="MANAGED",xe=W===Mn.BILLING_AGREEMENT||e&&ve&&v.value&&Nt,Vt=u.hasFlagEnabled(xa),Ft=u.hasFlagEnabled(Ma),Xe=Ot&&Vt||Dt&&Ft,Ke=(ye.value?.amount??0)>0,Ut=a==="paypal"&&xe&&!Ke&&Xe,he=a==="paypal"&&xe&&Ke&&Xe,R=xe&&!he,P=a==="paypal"?Be.PayPalV6:Be.Venmo,be=a==="venmo"?Pt:we,je=fa(),Me=Xa(P),{trackComplete:te}=Rt(P),Qe=ga(P),Je=va(P),x=oe(null),Ae=oe(null),{isScrimOpen:G,closePopupWindowsAndScrim:Ze}=ya({endpoint:x,invokingWallet:"PAYPAL_EXPRESS"}),{isFullScreen:Ne,expandIFrame:et,collapseIFrame:_e}=yn({onCollapse:()=>x.value?.call.cleanup()}),tt=D(d),M=D(Me),Ee=D($),at=se(R),nt=se(0),Se=se(),Oe=se(!1),ae=oe(null),{inMemoryPayPalParts:{isLoadingPaymentSheet:N,accountStatus:Pe,isApproving:Ce,paymentSheetError:rt},inMemoryVenmoParts:{buttonStatus:De}}=Tt(),Ve=ha({isPayWithPayPalButton:e}),Fe=se(null),ot=ba(),st=Aa(),Wt=u.hasFlagEnabled(bt),Gt=u.hasFlagEnabled(Na),{wallets:k}=h,ke=S(()=>{k.setEscalatedWallet(be),me.value.currentPage?.id==="review"&&fe("payment-methods",{replace:!0})},[be,me,fe,k]),X=h.configuration.layout.isOnePage,{checkoutProtocolModalEventSignal:ne}=Oa(),zt=h.extensibility.ui.hasAtRiskPlacement.value,lt=Wt&&!zt&&!X.value&&!e,it=X.value&&Gt&&!n,w=e?Le.PaymentMethod:Le.Express,Ht=a==="venmo"?b.translate("brand.venmo"):b.translate("brand.paypal"),ct=b.translate("general.pay_now_button_label"),Ie=oe(!1);_a({active:Ce.value&&Ie.value&&e});const ut=Ea(),re=oe(!1);ce(()=>{!G.value&&re.value&&(ut(),re.value=!1)},[G.value,ut,re.value,re]);const ie=S(c=>{de.exists("paypal_authorization")?te({result:"failed",durationMs:de.end("paypal_authorization"),walletType:w}):r.counter({name:"wallet_sheet_failed",value:1,attributes:{instrument:P}}),M.current(z.Failure,w),r.error(c),Pe.value={status:"error"}},[M,Pe,r,P,te,w]),K=S((c,o)=>{o==="venmo"?De.value={status:c}:Ve.value={status:c}},[De,Ve]),Yt=S(async c=>{const o=Fe.current,i=Sa(o),E=e&&o?Cn({label:ct,disabled:d,loading:N.value,size:X.value?"base":"large",scopeElement:o,sizingElement:p?.current}):void 0;if(Ae.value=E??null,a==="venmo"&&R){K("not_eligible",a),le();return}x.value=c;const O=mn(),m=await c.call.configure({clientToken:q,locale:_,fundingSource:a,isBillingAgreement:R,buttonLabel:t,isPayWithPayPal:e,browserSupportsPopupFlow:O,style:{borderRadius:i},sandboxTestMode:C?.sandboxTestMode??!1,useStandardButton:e,standardButtonConfig:E});le(),m.status===ue.Success?(K("rendered",a),r.counter({name:"checkout_wallet_button_rendered",value:1,attributes:{wallet_name:P,status:"success",isPaymentMethodFlow:e}})):(m.status===ue.ScriptLoadError&&(r.log("paypal_button_script_load_failed","[PayPalButton] script load error",{errorMessage:m.message}),r.counter({name:"checkout_wallet_button_rendered",value:1,attributes:{wallet_name:P,status:"error",reason:"script_load_error",isPaymentMethodFlow:e}})),m.status===ue.Error&&(r.leaveErrorBreadcrumb("[PayPalButton] sandbox error",{message:m.message,type:m.type,errorLocation:m.errorLocation}),r.error(new pe(m.message,{groupingHash:"PayPalExpressError::SandboxError"})),r.counter({name:"checkout_wallet_button_rendered",value:1,attributes:{wallet_name:P,status:"error",reason:"sandbox_error",isPaymentMethodFlow:e}})),m.status===ue.UnsupportedBrowser&&r.counter({name:"paypal_unsupported_browser",value:1,attributes:{payWithPayPal:e,fundingSource:a,reason:"unsupported_browser"}}),M.current(z.Failure),Pe.value={status:"error"},K("error",a))},[a,x,Ae,q,_,R,t,e,C?.sandboxTestMode,le,K,M,Pe,r,P,ct,p,d,N,X]);ce(()=>{(async()=>
5{if(at.current!==R&&x.value){if(at.current=R,a==="venmo"&&R){K("not_eligible",a);return}const o=await x.value.call.setBillingAgreementRequirement(R);r.counter({name:"checkout_wallet_button_rendered",value:1,attributes:{wallet_name:P,isPaymentMethodFlow:e,billingAgreementUpdate:!0,status:o.status===ue.Success?"success":"error"}})}})()},[R,a,x,e,P,r,K]);const j=S(c=>{G.value=c,(c||k.activeSession.value?.wallet==="PAYPAL_EXPRESS")&&(c?k.setActiveSession({newValue:"PAYPAL_EXPRESS",asPaymentMethod:e}):k.clearActiveSession({invokingWallet:"PAYPAL_EXPRESS"})),e||(ne.value=c?"paypal":"none"),c||_e()},[ne,G,_e,e,k]),V=S(()=>{j(!1),N.value=!1},[j,N]),$t=tn({fundingSource:a,isVaultWithPurchaseOrder:he,isLegacyBillingAgreementWithoutPurchase:Ut,isPayWithPayPalFlow:e,onSuccess:async()=>{Ce.value=!0,Ie.value=!0,M.current(z.Success,w),r.counter({name:"paypal_approved",value:1,attributes:{payWithPayPal:e,fundingSource:a}}),j(!1)}}),Ue=D($t),qt=S(({errorUnactionable:c,errorMessage:o,errorName:i,stack:E})=>{if(r.leaveErrorBreadcrumb("[PayPalButton] paymentFlowError",{errorMessage:o,stack:E}),V(),Oe.current){r.leaveErrorBreadcrumb("[PayPalButton] paymentFlowError suppressed after stock re-negotiation",{errorMessage:o});return}const O=`${i?`${i}: `:""}${o}`;if(c||i?.includes("Unactionable")){const m=new Vn(O);m.stack=E,ie(m)}else{const m=new Dn(O,{groupingHash:"PayPalPaymentFlowError::UnexpectedError"});m.stack=E,ie(m)}},[V,ie,r]),Q=D(qt),Xt=S(async()=>{if(st(Fe),Oe.current=!1,tt.current||k.activeSession.value)return j(!1),!1;if(N.value=!0,M.current(z.Clicked,w),r.counter({name:"wallet_sheet_clicked",value:1,attributes:{instrument:P}}),G.value=!0,!e){M.current(z.Initialized,w),j(!0);return}const o=Re({shop:u,checkout:h,paymentMethods:Ee.current});try{const i=await new Promise((m,J)=>{L({runListenersOnError:!0,negotiationStage:"completion",include:!o&&g.value==="custom"?["billingAddress"]:[],onComplete:m}).catch(J)}),E=()=>{M.current(z.Initialized,w),ot.current?j(!0):r.leaveErrorBreadcrumb("PayPalButton: Skipping setModalScrimOpen - component unmounted")},O=i.status==="error"&&i.violations.length>0&&i.violations.every(({code:m})=>Fn.has(m));return i.status==="success"?(E(),!0):O?(r.counter({name:"paypal_silenced_violations_requiring_new_token",value:1}),r.log("paypal_silenced_violations","PayPalButton: silenced violations",{violations:i.violations}),E(),!0):(V(),re.value=!0,r.log("paypal_button_popup_closed_negotiation_errors","PayPalButton: closing popup because of negotiation errors",{result:{status:i.status,...i.status==="error"&&{errorCodes:i.errors.map(({code:m})=>m),violationCodes:i.violations.map(({code:m})=>m)}}}),!1)}catch(i){return V(),Q.current({errorMessage:`negotiation threw unexpectedly when validating guest checkout for PayPal: ${i instanceof Error?`[${i.name}] ${i.message}`:i?.toString()}`,errorName:i instanceof Error?i.name:void 0,errorUnactionable:i instanceof ee&&i.isUnactionable()}),!1}},[st,tt,N,M,w,G,e,u,h,j,V,L,Ee,g,r,P,Q,ot,re,k]),dt=D(Xt),Kt=S(()=>{V(),M.current(z.Cancelled),r.counter({name:"wallet_sheet_cancelled",value:1,attributes:{instrument:P}})},[V,M,r,P]),pt=D(Kt),jt=S(async c=>{_e();try{if(Ue.current){ae.value={countryCode:y.value.countryCode,zoneCode:y.value.zoneCode};const o=Se.current?.orderId===c.orderId?Se.current.value:void 0;return await Ue.current({...c,...o&&{authAssertionContext:o}}),!0}else return Q.current({errorMessage:"onApproveRef is not set",errorName:void 0,errorUnactionable:!1}),!1}catch(o){const i=o;return Q.current({errorMessage:`onApprove handler failed: ${String(i)}`,stack:i?.stack,errorName:i?.name,errorUnactionable:i instanceof ee&&i.isUnactionable()}),!1}},[_e,Ue,Q,y,ae]),mt=D(jt),We=S(()=>{de.endAndRun("paypal_authorization",c=>{te({result:"failed",durationMs:c,walletType:w})})},[te,w]),Qt=S(async c=>{if(c.paymentSessionState!=="approved"){We();return}await h.crossBorderConfirmState.value?.modalPromise;try{if(!e&&h.isShippingRequired.value&&!Bt(y.value.countryCode,u.shippingCountries)){B({shouldResetCustomerInfo:!0}),y.value=Da({countryCode:ae.value?.countryCode,zoneCode:ae.value?.zoneCode}),ae.value=null,rt.value={type:Va},V();return}if(lt)await ge({wallet:be,reason:"paypalApproval",asPaymentMethod:e});else if(it){k.setIsDecelerating(!0);try{await L({runListenersOnError:!0,fieldsToResolve:["deliveryNext"],onComplete:o=>{if(o.status!=="success"&&o.status!=="error"&&o.status!=="invalid"){k.setIsDecelerating(!1);return}ke()}})}catch(o){throw k.setIsDecelerating(!1),o}}else n?await F("paypal-payment-approved",o=>
5{if(!(Re({shop:u,checkout:h,paymentMethods:Ee.current})&&(o.status==="rejected"||u.confirmationPageEnabled)))return;"violations"in o&&o.violations?.some(E=>E.code!=="BUYER_IDENTITY_MISSING_CONTACT_METHOD"&&Fa.has(E.code))&&(r.log("paypal_payment_method_vaulted_state","[PayPalButton] Entering vaulted state in payment method flow due to billing address violations",{violations:o.violations}),r.counter({name:"paypal_payment_method_vaulted_state",value:1}),ke())},{skipToCompletion:U.value}):X.value?(ke(),je?.dispatch("addressReplaced")):await L({runListenersOnError:!0});Me(z.Success,w),de.endAndRun("paypal_authorization",o=>{te({result:"success",durationMs:o,walletType:w})})}catch(o){ie(o)}finally{Ce.value=!1,Ie.value=!1,We()}},[We,lt,it,X,n,Me,w,k,L,ge,be,F,U,e,Ee,u,r,je,ie,te,Ce,Ie,h,y,ae,B,rt,V,ke]),ft=D(Qt),Jt=S(async()=>{const c=a==="venmo",o=l.value,i=++nt.current;Qe();let E;Se.current=void 0;try{E=await Qa({graphql:I,countryCode:s,email:o,venmoPayment:c,getNegotiationVariables:T,isPayWithPayPalFlow:e,observability:r,isBillingAgreement:R,isVaultWithPurchaseOrder:he}),i===nt.current&&(Se.current=E.authAssertionContext?{orderId:E.token,value:E.authAssertionContext}:void 0)}catch(O){let m=!1;throw await L({silenceViolations:["non-stock"],runListenersOnError:!0,force:!0,onComplete:J=>{(J.status==="success"||J.status==="error")&&(m=Ua(J.violations))}}).catch(J=>{r.error(J)}),m&&(Oe.current=!0),O}return e||Je(),N.value=!1,R?{billingToken:E.token}:{orderId:E.token}}
5,[a,l,Qe,I,s,T,e,r,N,R,he,Je,L]),gt=D(Jt),vt=$a(),yt=fn(),Zt=Ye(()=>({clicked:()=>dt.current(),cancelled:()=>pt.current(),createOrder:()=>gt.current(),paymentFlowError:({errorMessage:o,errorName:i,errorUnactionable:E,stack:O})=>Q.current({errorMessage:o,errorName:i,errorUnactionable:E,stack:O}),paymentApproved:o=>mt.current(o),expandIFrame:et,telemetry:vt,logger:yt,onComplete:o=>ft.current(o)}),[dt,pt,gt,Q,mt,et,vt,yt,ft]);ce(()=>()=>{const c=a==="venmo"?De.value.status:Ve.value.status;c!=="error"&&c!=="not_eligible"&&K("not_rendered",a),k.activeSession.value?.wallet==="PAYPAL_EXPRESS"?k.clearActiveSession({invokingWallet:"PAYPAL_EXPRESS"}):r.leaveErrorBreadcrumb("[PayPalButton] cleanup: NOT resetting activeSession (not in PayPal context)",{activeSession:k.activeSession.value}),ne.value==="paypal"?ne.value="none":ne.value!=="none"&&r.leaveErrorBreadcrumb("[PayPalButton] cleanup: NOT resetting checkoutProtocolModalEventSignal - unexpected value",{currentValue:ne.value}),N.value=!1},[]);const ea=X.value?At.base.blockSize:At.large.blockSize,ta=Ye(()=>a==="venmo"?xn:e?Ln:Bn,[a,e]),Ge=G.value&&!Ne.value;if(ce(()=>{e&&x.value&&x.value.call.updateStandardButtonState({disabled:d,loading:N.value})},[e,d,N.value,x.value]),ce(()=>{Ge&&r.leaveErrorBreadcrumb("[PayPalButton] Showing PayPal scrim content",void 0,"log")},[Ge,r]),!q)return r.counter({name:"paypal_missing_client_token",value:1,attributes:{payWithPayPal:e,fundingSource:a}}),null;const ze=e&&!!p,aa=ze?"100%":`calc(${ea} + ${_t*2}px)`,ht=H(qa,{wallet:ta,onConnect:Yt,onTerminate:()=>x.value=null,hostMethods:Zt,fillSlot:ze,height:e?aa:void 0,isFullScreen:Ne.value,placeholder:Ae.value?H(Rn,{config:Ae.value}):void 0,ref:Fe});return H(oa,{children:[e?H("div",{className:ra(St.standardButtonWrapper,{[St.StandardButtonOverlay]:ze}),style:{"--standard-button-focus-gutter":`${_t}px`},children:ht}):ht,H(Pa,{isOpen:G,isInvisible:Ne,onClick:Ze,children:Ge&&H(Ca,{walletName:Ht,handleClose:Ze})})]})}export{Dn as PayPalPaymentFlowError,Vn as UnactionablePayPalPaymentFlowError,nr as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.