PageSourceSearch

https://seven48.com/cdn/shopifycloud/checkout-web/assets/c1/d08a6c7d.CjXYCwoA.js

js seven48.com collected 2026-10-09 21:47:59 UTC 75,509 bytes, 1 lines download raw bytes

1import{a4 as e,a5 as t,T as a,q as o,w as r,n,k as i,y as s,h as l}from"./2c1ab0fe.qpvfywqb.js";import{b as d,gc as p,gb as c,gk as u,aA as y,aw as m,dg as h,aX as v,e as _,aa as A,gd as g,c7 as P,hk as f,fc as b,fb as E,hl as S,bS as C,gS as T,gE as N,bb as w,S as I,hm as M,de as R,df as D,hn as L,ge as O,gf as B,aW as k,ho as Y,hp as x,fA as U,hq as F,ab as V,a as H,d0 as q,hr as z,hs as j,ht as G,gh as Q,hu as $,hv as Z,hw as W}from"./4b4bc88f.DkycdxSK.js";import{a as J,b as K,c as X,W as ee}from"./78ab3dd0.DsAxQUAi.js";import{u as te}from"./app.DH8n-1bp.js";import{a as ae,I as oe,W as re,b as ne}from"./d4ea2faa.Bh5JwQU0.js";import{a as ie}from"./f67abd2c.CNaB0QaR.js";import{f as se,g as le,s as de,r as pe,B as ce,P as ue,U as ye,a as me,w as he,x as ve,i as _e,N as Ae,E as ge,h as Pe,y as fe,z as be,A as Ee,C as Se,F as Ce,G as Te,l as Ne,H as we,J as Ie,K as Me,L as Re,M as De,j as Le,T as Oe,O as Be,Q as ke,D as Ye,V as xe,I as Ue,R as Fe,u as Ve,m as He,n as qe,o as ze,W as je,p as Ge,q as Qe,t as $e,v as Ze}from"./13b13169.Cb1_vpIS.js";import{a as We,g as Je,i as Ke}from"./e12db40c.DhbHW8sF.js";import{fH as Xe,gC as et,gD as tt,gE as at,bF as ot,A as rt,gF as nt,cq as it,v as st,k as lt,fL as dt,ga as pt,fI as ct,gm as ut,gG as yt,g9 as mt,dQ as ht,cD as vt,g as _t}from"./164ad2e3.DcJn775M.js";import{b as At,s as gt,a as Pt,c as ft}from"./d02f7b10.DVcRILKJ.js";import{b as bt,c as Et,u as St,a as Ct}from"./ed9f2238.Brwxl8Yi.js";import{u as Tt,a as Nt,g as wt}from"./33464469.-7QSUaH-.js";import{d as It}from"./b8733b27.DmG2FsdC.js";import{u as Mt}from"./a9fa9fda.BO9gwssW.js";import{d as Rt}from"./7fc410e0.Bp5sUnag.js";import{b as Dt}from"./89e2d30a.C7YQuTRu.js";import{u as Lt}from"./ec391382.CmRYZq9D.js";import"./22345fd4.Bc95vVsB.js";import"./cdfd59e6.C61oFvbb.js";import"./d0bb51ec.CWfbNPnY.js";import"./9dba8418.4R19B40l.js";import"./60a453ce.DBFo6PRx.js";import"./ca3e798e.XLlup-KR.js";import"./24773686.NjNSWG1C.js";const Ot={id:"1501fe0af4559751b078e255872e602b9742658e6ef2d8b73091b38649adb321",type:"query",name:"ApplePayPaymentSession",source:""};class Bt{constructor(e){this.reason=e}}class kt extends Error{constructor(){super(...arguments),this.name="ApplePaySessionCreationResponseError"}}const Yt=async({graphql:a,sourceId:o,validationUrl:r,asPaymentMethod:n,signal:i,observability:s,isPrefetch:l,domain:d})=>{const p=(({sourceId:e,isPrefetch:t})=>t?`${e}-prefetch-${te()}`:`${e}-${te()}`)({sourceId:o,isPrefetch:l}),c=async e=>{const{data:t,error:o}=await a.staticQuery(Ot,{cache:!1,variables:e?{pendingTask:{taskId:e}}:{applePaySessionCreate:{resourceId:p,validationUrl:r,domain:d,walletInstrumentation:{expressWalletInCheckout:!n}}}});if(o)throw s.leaveErrorBreadcrumb("[ApplePay] session creation query returned GraphQL error",{error:o}),new kt("session creation query returned GraphQL error");return t||(s.counter({name:"apple_pay_session_query_error",value:1,attributes:{reason:"no_data"}}),s.log("apple_pay_api_query","ApplePaySession: No data returned"),void s.leaveErrorBreadcrumb("[ApplePay] session creation query returned no data"))};function u({result:e,pollingCount:t}){s.histogram({name:"apple_pay_session_creation",value:performance.now()-h,attributes:{result:e,pollingCount:t,isPrefetch:l}})}let y="",m=0;const h=performance.now();try{for(;;){if(i.aborted)throw new ae("Apple pay signal aborted",{groupingHash:"AbortedSessionError::createPaymentSession::SignalAborted"});const a=performance.now(),r=await c(y);if(!r)return;const n=r.applePaySession;switch(n.__typename){case"ApplePaySessionCreationSuccess":return u({result:"success",pollingCount:m}),n;case"ApplePaySessionCreationFailed":if(u({result:"failed",pollingCount:m}),s.log("apple_pay_api_session_cancelled","Apply Pay session creation failed",{pollingCount:m,error:n?.code,resourceId:p}),"FAILURE_RESPONSE_FROM_WALLET_PROVIDER"===n.code)throw new re(`ApplePaySession Query error: fail to create apple pay session with ${n.code}`);if("NO_PENDING_TASK"===n.code)return s.counter({name:"apple_pay_no_pending_task_error",value:1,attributes:{pollingCount:m,sourceId:o,isPrefetch:l}}),s.log("apple_pay_api_session_cancelled","Apply Pay session has no pending task",{pollingCount:m,sourceId:o,isPrefetch:l}),void s.leaveErrorBreadcrumb("[ApplePay] session creation failed with NO_PENDING_TASK",{pollingCount:m,sourceId:o,isPrefetch:l});if(l)return;throw new ne(`ApplePaySession Query error: fail to create apple pay session with ${n.code}`,{groupingHash:"ApplePayAPIError::QueryError::FailToCreateSession"});case"PendingTask":if(!y){const e=600-(performance.now()-a);e>0&&await t(e)}if(y=n.taskId,m++,m>=9)throw s.log("apple_pay_api_session_cancelled","Apple Pay polling session reached maximum amount of polls",{pollingCount:m,flightDelay:performance.now()-a}
1),new oe("ApplePaySession Query error: reached maximum amount of polls");if(m<=5)break;await t(n.pollDelay);break;default:e(n)}}}catch(v){if(v instanceof kt||v instanceof re)return s.counter({name:"apple_pay_session_query_error",value:1,attributes:{reason:v.name}}),new Bt(`${v.name}: ${v.message}`);throw v}},xt={EG:"EG",AE:"AE"};function Ut({subtotal:e,duties:t,taxes:a,deliveryNext:o,discountLines:r,paymentLines:n,tipLines:i,shopPromotion:s,lineItemsLabels:l,deliveryOptionGroupTypeLabels:d,deliveryMethodTitlePrefixes:p,formattedRecurringTotals:y,formattedRecurringTotalTooltip:m,merchandiseLines:v}){const _=[];v?.lines&&v.lines.forEach(e=>{_.push({label:le(e),amount:se(e.totalPrice.amount)})});const A=void 0===e?[]:[{label:l.subtotal,amount:e?se(e.amount):void 0}],g=function({deliveryNext:e,deliveryOptionGroupTypeLabels:t,deliveryMethodTitlePrefixes:a}){const o=u(e);return o?o.map(({totalCost:e})=>({label:a.SHIPPING,amount:se(e.amount)})):h(e).map(({line:e,method:o},r,n)=>({label:Ft(e,o,1===n.length,t,a),amount:se(o.cost.amount)}))}({deliveryNext:o,deliveryOptionGroupTypeLabels:d,deliveryMethodTitlePrefixes:p}),P=t&&"available_total"===t?.status&&0!==t?.totalDuty.amount?[{label:l.duties,amount:se(t.totalDuty.amount)}]:[],f=a&&"available_total"===a.status&&0!==a.totalTax.amount?[{label:l.taxes,amount:se(a.totalTax.amount)}]:[],b=r&&r.lines.map(e=>{if(ie(e)){const t=e.amount?.amount;if(t)return{label:e.title,amount:c(se(t))}}}).filter(e=>void 0!==e)||[],E={SHOP_DISCOUNT_OFFER:l.shopDiscountOffer,SHOP_CASH_BALANCE:l.shopCashBalance,SHOP_PROMOTION:l.shopPromotion},S=new Map("filled"===s?.status?s.promotions.map(({promotionId:e,type:t})=>[e,t]):[]),C=n?.lines.filter(e=>"redeemable"===e.method.type&&"SHOP_CASH"===e.method.redemptionSource).flatMap(e=>e.method.redemptionContent?.details??[]).flatMap(e=>{const t=e.promotionType??(null==e.redemptionId?void 0:S.get(e.redemptionId)),a="SHOP_PROMOTION"===e.redemptionType&&"DOORBUSTER"===t?l.flashDeal:E[e.redemptionType],o=Number(e.destinationAmount.amount);return a&&0!==o?[{label:a,amount:c(se(o))}]:[]})??[],T=n?.lines.filter(e=>"giftCard"===e.method.type).map(e=>e.cost?{label:l.giftCards,amount:c(se(e.cost.amount))}:void 0).filter(e=>void 0!==e)||[],N=i&&i[0],w=N&&N.amount.amount>0?[{label:l.tip,amount:se(N.amount.amount)}]:[],I=y?y.map(e=>({label:e,amount:"0.00",type:"pending"})):[],M=I.length>0&&m?[{label:m,amount:"0.00",type:"pending"}]:[];return[..._,...A,...g,...P,...f,...b,...C,...T,...w,...I,...M]}function Ft(e,t,a,o,r){const n=r[t.methodType];return a?n:`${n} (${o[e.type]})`}function Vt({deliveryMethodTitlePrefixes:e,connectTwoShippingTitles:t,deliveryNext:a}){const o=u(a);if(o)return o.map(({totalTitle:e,totalCostAfterDiscounts:t,deliveryMethodHandles:a,deliveryPromisePresentmentTitle:o})=>({label:e,amount:se(t.amount),detail:o?.short??"",identifier:JSON.stringify(a)}));const r=y(a).filter(m).map(We),n=function(e,t){if(!e||"filled"!==e.status||!v(e))return t;const a=new Set(e.lines.reduce((e,t)=>("available"===t.status&&t.selectedDeliveryMethodHandle&&e.add(t.selectedDeliveryMethodHandle),e),new Set)),o=t.find(e=>e.every(e=>a.has(e.handle)));return o?[o,...t.filter(e=>e!==o)]:t}(a,Je(r).filter(e=>e.length>0));return n.map(a=>({label:zt(a,e,t),amount:jt(a),detail:Qt(a,t),identifier:de(a)}))}const Ht=", ";function qt(e,t){const[a,...o]=e;if(void 0===a)return"";const r=o.pop();return void 0===r?a:t([a,...o].join(Ht),r)}function zt(e,t,a){const o=e.find(e=>"ONE_TIME_PURCHASE"===e.deliveryLine.type);let r="";o&&(r="PICK_UP"===o.methodType?t[o.methodType]:o.title);const n=e.find(e=>"SUBSCRIPTION"===e.deliveryLine.type);let i="";if(n){if("PICK_UP"===n.methodType||"LOCAL"===n.methodType)return n.title;i=n.title,r=o?.title??""}return qt([...new Set([r,i])].filter(Boolean),a)}function jt(e){return se(e.reduce((e,t)=>e+t.costAfterDiscounts.amount,0))}function Gt(e,t){return e.add(t),e}function Qt(e,t){return qt([...e.map(e=>{const{methodType:t,pickupLocation:a,deliveryPromisePresentmentTitle:o,description:r}=e;return"PICK_UP"===t||"PICKUP_POINT"===t?function(e){if(e){const{address1:t="",address2:a="",city:o="",company:r="",zoneCode:n="",countryCode:i=""}=e;
1return[r,[t,a].filter(Boolean).join(" "),o,n,i].filter(Boolean).join(", ")}}(a?.address)??"":o?o.short:r||""}).reduce(Gt,new Set)],t)}function $t(e,t){return{label:e,amount:se(t.amount)}}function Zt(e){const t=e.countryCode?.toUpperCase(),a={firstName:e.givenName||void 0,lastName:e.familyName||void 0,address1:e?.addressLines?.[0],address2:e?.addressLines?.[1]||void 0,city:e.locality||void 0,postalCode:e.postalCode||void 0,zoneCode:e.administrativeArea||e.subLocality||void 0,countryCode:Wt(e.countryCode),phone:e.phoneNumber||void 0};return"HK"===a.countryCode&&(a.postalCode=void 0,a.zoneCode=e.postalCode),a.countryCode&&p.includes(a.countryCode)&&(a.zoneCode=a.countryCode,a.countryCode="US"),t&&Object.keys(xt).includes(t)&&(a.zoneCode=e.locality||void 0,a.city=e.administrativeArea||e.subLocality||void 0),a.lastName||(a.lastName=a.firstName),a}function Wt(e){if(!e)return"ZZ";const t=e.toUpperCase();if(d(t))return t;return{UK:"GB",JA:"JP"}[t]||(p.includes(t)?t:"ZZ")}function Jt({embed:e,isCrossOriginIframeEnabled:t}){if(t&&"undefined"!=typeof window&&window.self!==window.top)return e?.client?.embedderHostname}const Kt=new Set(["HUF","RSD"]);function Xt(e){return void 0!==e&&function(e){return Kt.has(e)}(e)}function ea(e){const t=Number(e);return Number.isFinite(t)?Math.ceil(Number(t.toFixed(2))).toFixed(2):e}function ta(e){return{...e,amount:ea(e.amount)}}function aa(e){return{...e,amount:ea(e.amount)}}function oa(e){const{newLineItems:t,newShippingMethods:a}=e;return{...e,newTotal:ta(e.newTotal),...t&&{newLineItems:t.map(ta)},...a&&{newShippingMethods:a.map(aa)}}}function ra(){const{i18n:e,shop:t}=_(),{name:o}=t,r=e.translate("order_summary.recurring_total_tooltip"),n=a(()=>({total:o,subtotal:e.translate("order_summary.subtotal_label"),duties:e.translate("order_summary.duties_label"),taxes:e.translate("order_summary.estimated_taxes_label"),shopDiscountOffer:e.translate("order_summary.exclusive_deal"),shopCashBalance:e.translate("order_summary.shop_cash_title"),shopPromotion:e.translate("order_summary.shop_promotion"),flashDeal:e.translate("order_summary.flash_deal"),giftCards:e.translate("order_summary.gift_card_label"),tip:e.translate("order_summary.tip_label")}),[o,e]),i=a(()=>({ONE_TIME_PURCHASE:e.translate("shipping.shipping_method_one_time_purchase_group_title"),SUBSCRIPTION:e.translate("shipping.shipping_method_subscription_group_title")}),[e]),s=a(()=>({SHIPPING:e.translate("wallets.shipping_line_label"),LOCAL:e.translate("shipping.local_delivery"),PICK_UP:e.translate("delivery_options.pick_up"),PICKUP_POINT:e.translate("delivery_options.pickup_point_method_definition"),RETAIL:e.translate("delivery_options.retail_method_definition"),NONE:e.translate("delivery_options.none_method_definition")}),[e]),l=a(()=>(t,a)=>e.translate("wallets.connect_shipping_methods",{method1:t,method2:a}),[e]);return a(()=>({formattedRecurringTotalTooltip:r,lineItemsLabels:n,deliveryOptionGroupTypeLabels:i,deliveryMethodTitlePrefixes:s,connectTwoShippingTitles:l}),[r,n,i,s,l])}const na=({asPaymentMethod:e,phoneRequired:t,shouldRequestPhoneOnRetry:a,shopPayOptInExists:o})=>e?o:t||a,ia=({asPaymentMethod:e,emailRequired:t,shopPayOptInExists:a,proposedEmailExists:o})=>e?!o&&a:t,sa=["BR","KW","PA","PE","PH"];function la(e){return e.hasFlagEnabled(f)}function da(e,t){if(!t)return{};const a={district:void 0,line2:void 0,subdistrict:void 0},o=e.countryCode?.toUpperCase();return o&&sa.includes(o)?(e.subLocality&&(a.district=e.subLocality),e.addressLines?.[1]&&(a.line2=e.addressLines[1]),e.subAdministrativeArea&&(a.subdistrict=e.subAdministrativeArea),a):a}const pa=["countryCode","address1","address2","streetName","streetNumber","line2","district","subdistrict","city","postalCode","zoneCode"],ca={billing:"billingAddressForm",shipping:"shippingAddressForm"};const ua=["streetName","streetNumber","address2","line2","district","subdistrict"],ya={billing:"billing.billing_address_title",shipping:"shipping.shipping_address_title"},ma={streetName:"contact.street_name_label",streetNumber:"contact.street_number_label",address2:"contact.address2_label",line2:"contact.address2_label",district:"contact.district_label",subdistrict:"contact.subdistrict_label"};function ha(){const{observability:e}=_(),t=Et(J.ApplePay),{trackComplete:a}=Tt(J.ApplePay);return o(({status:o,walletType:r,endsAuthorization:n=!0})=>{if(e.counter({name:"apple_pay_payment_status",value:1,attributes:{status:o,wallet_type:r}}),t(o,r),o===X.Attempt)return;if(!n)return void At.remove("apple-pay-authorization");const i=o===X.Success?"success":"failed";At.endAndRun("apple-pay-authorization",t=>{a({result:i,durationMs:t,walletType:r,attributes:{walletType:r}}),e.log("apple_pay_payment_status_updated","Apple Pay payment authorization status update received",{result:i,status:o,walletType:r})})},[e,t,a])}function va(){const e=at(),t=ha(),{inMemoryApplePayParts:{asPaymentMethod:a}}=A();return o(()=>{const o=a.value?K.PaymentMethod:K.Express;e(),t({status:X.Failure,walletType:o})},[t,e,a])}function _a(){const e=bt(J.ApplePay),t=Et(J.ApplePay),{trackComplete:a}=Tt(J.ApplePay),{checkout:{wallets:r},observability:n}=_(),{inMemoryApplePayParts:i}=A(),s=at();return o(({session:o,isProcessing:l=!1,isMessagingHandledElsewhere:d=!1,error:p,isAborted:c})=>{if(p instanceof ae)return;At.remove("apple-pay-sheet-load");const u=i.asPaymentMethod.value?K.PaymentMethod:K.Express;n.counter({name:"apple_pay_session_terminated",value:1,attributes:{error_type:p.name,wallet_type:u}}),n.log("apple_pay_terminate_session_session","Apple Pay session terminated",{wallet_type:u,error_type:p.name,error_message:p.message,error_cause:p.cause,error_stack:p.stack}),At.exists("apple-pay-authorization")?(t(X.Failure,u),a({result:"failed",durationMs:At.end("apple-pay-authorization"),walletType:u})):(e(X.Failure,u),n.counter({name:"wallet_sheet_failed",value:1,attributes:{instrument:J.ApplePay}})),l||d||(i.paymentSheetError.value={type:"session_terminated"});const{actionable:y}=It(p);if(p instanceof oe?n.leaveErrorBreadcrumb(`IgnoredApplePayAPIError: ${p.message}`):y?n.error(p,{severity:"error",errorClass:nt.Api}):n.leaveErrorBreadcrumb("[ApplePay] Unactionable error",{error:p}),r.setHasActiveApplePaySubscriptionReview(!1),c||"APPLE_PAY"!==r.activeSession.value?.wallet?n.leaveErrorBreadcrumb("[ApplePay] clearActiveSession skipped",{activeSession:r.activeSession.value?.wallet,isAborted:c}):r.clearActiveSession({invokingWallet:"APPLE_PAY"}),o)try{o.abort()}catch{}finally{s()}},[i.asPaymentMethod,i.paymentSheetError,s,n,t,a,e,r])}const Aa=[w.InvalidExtensionState,w.InvalidCaptcha,w.SubmittedForCompletion];class ga extends ce{constructor(e,t,a,o,r){super(),this.observability=e,this.translations=t,this.inMemoryApplePayParts=a,this.persistedApplePaySignal=o,this.reportAddressRequirementMismatch=r}get negotiationResultMapper(){return new ue({success:({result:e,violationActions:t,defaultMapper:a})=>{if(!("errors"in e))return a();const{firstPaymentSheetAction:o}=this.getMergedPaymentSheetAction({resultViolations:e.errors,violationActions:t});return o||a()},invalid:({result:e})=>
1(this.notifyInvalidResult(e,"negotiation"),this.generateAbortAction("exceptional_negotiation_status")),stale:()=>(this.observability.error(new ne("Intercepted negotiation returned stale",{groupingHash:"ApplePayAPIError::InterceptedNegotiationReturned::Stale"}),{severity:"error"}),this.generateAbortAction("exceptional_negotiation_status")),denied:()=>({action:"abort"}),throttled:()=>({action:"abort"}),tooManyRequests:()=>({action:"abort"})},()=>this.mapUnhandledNegotiation(),e=>this.getNegotiationViolationActions(e))}get completionResultMapper(){return new ue({success:({result:e,defaultMapper:t})=>"receipt"in e?{action:"submit"}:t(),failed:({result:e})=>(this.observability.log("apple_pay_payment_sheet_action_generator_failed","Apple Pay completion failed",{reason:e.reason}),this.generateAbortAction("exceptional_completion_status")),rejected:({result:e,violationActions:t,options:a})=>{this.getUnhandledErrors(e.violations,t).forEach(e=>{this.observability.error(new ne(`violation not handled: ${e.code}`,{groupingHash:`ApplePayAPIError::ViolationNotHandled::${e.code}`}),{severity:"error",errorClass:nt.Api})});const{generatePrioritizedPaymentSheetAction:o}=this.getMergedPaymentSheetAction({resultViolations:e.violations,violationActions:t}),{action:r,violationCode:n}=o();return n&&this.observability.counter({name:"wallet_action_generator_handled_error",value:1,attributes:{violationCode:n,WalletName:J.ApplePay,action:r?.action??"abort",asPaymentMethod:Boolean(a?.asPaymentMethod)}}),this.reportAddressRequirementMismatch({violationCode:n,wallet:J.ApplePay,asPaymentMethod:this.inMemoryApplePayParts.asPaymentMethod.value,outcome:r?.action??"abort"}),r?("decelerate"===r.action&&(this.persistedApplePaySignal.value={...this.persistedApplePaySignal.value,recoveryViolation:n},this.observability.log("apple_pay_authorization_decelerated","Apple Pay authorization decelerated during payment completion",{asPaymentMethod:Boolean(a?.asPaymentMethod),layout:a?.layout,violationCode:n,violations:e.violations.map(e=>e.code).join(",")})),r):{action:"abort"}},invalid:({result:e,options:t})=>{const a=Boolean(t?.applePayRecoveryFlowEnabled)&&e.reasons.length>0&&e.reasons.every(e=>N.includes(e)),o=a?"decelerate":"abort";if(this.notifyInvalidResult(e,"completion",o),a){const a=e.reasons.at(0)??"unknown";return this.persistedApplePaySignal.value={...this.persistedApplePaySignal.value,recoveryViolation:a},this.observability.counter({name:"wallet_action_generator_handled_error",value:1,attributes:{violationCode:a,WalletName:J.ApplePay,action:"decelerate",asPaymentMethod:Boolean(t?.asPaymentMethod)}}),this.observability.log("apple_pay_authorization_decelerated","Apple Pay authorization decelerated during payment completion",{asPaymentMethod:Boolean(t?.asPaymentMethod),layout:t?.layout,violationCode:a,violations:e.reasons.join(",")}),this.generateDecelerateAction()}return{action:o,effects:[()=>{this.inMemoryApplePayParts.paymentSheetError.value={type:e.reasons.includes(w.InvalidCaptcha)?"captcha_required":"exceptional_completion_status"}}]}},stale:()=>(this.observability.error(new ne("Intercepted negotiation returned stale",{groupingHash:"ApplePayAPIError::InterceptedNegotiationReturned::Stale"}),{severity:"error"}),this.generateAbortAction("exceptional_completion_status")),fetch_failed:()=>this.generateAbortAction("exceptional_completion_status"),alreadyCompleted:()=>({action:"abort"}),denied:()=>({action:"abort"}),throttled:()=>({action:"abort"}),tooManyRequests:()=>({action:"abort"})},e=>this.mapUnhandledCompletion(e),(e,t)=>this.getCompletionViolationActions(e,t))}validateBilling(e){const{billingContact:t}=e;return t?{shouldPersist:!0}:{shouldPersist:!1,paymentSheetAction:{action:"abort"}}}validateShipping(e,t,a,o,r){const{shippingContact:n}=e;if(!t)return{shouldPersist:!1};if(!n)return{shouldPersist:!1,paymentSheetAction:{action:"abort"}};const i=Zt(n),s=[];return a&&!i.address2&&s.push(new ApplePayError("shippingContactInvalid","addressLines",this.translations.addressLine2Blank)),o&&!i.firstName&&s.push(new ApplePayError("shippingContactInvalid","name",this.translations.firstNameBlank)),r&&!i.phone&&s.push(new ApplePayError("shippingContactInvalid","phoneNumber",this.translations.phoneBlank)),s.length>0?{shouldPersist:!1,paymentSheetAction:{action:"show_error",errors:s}}:{shouldPersist:!0}}getCompletionViolationActions(e,t){return[{violations:[...I,"MERCHANDISE_NOT_APPLICABLE",...ye,...M,...me,he,ve],generateAction:()=>({action:"abort"})},{violations:_e,generateAction:()=>this.generateAbortAction("session_terminated")},{violations:Ae,generateAction:()=>this.generateAbortAction("shipping_options_changed")},{violations:ge,generateAction:()=>fa("emailAddress",this.translations.emailInvalidError)},{violations:["BUYER_IDENTITY_CONTACT_INFO_DOES_NOT_MATCH_CUSTOMER_PROFILE"],generateAction:()=>this.generateAbortAction("unhandled_completion_status")},{violations:Pe,generateAction:()=>fa("phoneNumber",this.translations.phoneInvalidError)},{violations:["BUYER_IDENTITY_MISSING_CONTACT_METHOD","BUYER_IDENTITY_EMAIL_REQUIRED"],generateAction:()=>fa("emailAddress",this.translations.contactInfoBlank)},...this.getCompletionDeceleratedViolationActions(e),{violations:[...fe],generateAction:()=>fa("phoneNumber",this.translations.phoneInvalidError)},{violations:["PAYMENTS_PHONE_NUMBER_DOES_NOT_MATCH_EXPECTED_PATTERN"],generateAction:()=>Pa("phoneNumber",this.translations.phoneInvalidError)},...this.getCompletionShippingAddressViolationActions(e,t),{violations:[...be,"PAYMENTS_METHOD_REQUIRED"],generateAction:()=>({action:"show_error",errors:[new ApplePayError("unknown",void 0,void 0)]})},...this.getCompletionBillingAddressViolationActions(e)]}getCompletionBillingAddressViolationActions(e){return Boolean(e?.options?.applePayRecoveryFlowEnabled)?[{violations:Ee,generateAction:()=>this.generateDecelerateAction()}]:[{violations:Se,generateAction:()=>Pa("name",this.translations.nameContainsEmojisError)},{violations:Ce,generateAction:()=>Pa("name",this.translations.firstNameTooLongError)},{violations:["PAYMENTS_ADDRESS1_CONTAINS_HTML_TAGS","PAYMENTS_ADDRESS1_CONTAINS_EMOJIS","PAYMENTS_ADDRESS1_CONTAINS_MATHEMATICAL_SYMBOLS","PAYMENTS_ADDRESS2_CONTAINS_EMOJIS","PAYMENTS_ADDRESS2_CONTAINS_MATHEMATICAL_SYMBOLS","PAYMENTS_COMPANY_CONTAINS_EMOJIS",...R],generateAction:()=>Pa("addressLines",this.translations.invalidBillingAddressError)},{violations:["PAYMENTS_LAST_NAME_CONTAINS_HTML_TAGS","PAYMENTS_LAST_NAME_CONTAINS_URL"],generateAction:()=>Pa("name",this.translations.invalidBillingAddressError)},{violations:Te,generateAction:()=>Pa("name",this.translations.lastNameTooLongError)},{violations:["PAYMENTS_ADDRESS1_TOO_LONG","PAYMENTS_ADDRESS2_TOO_LONG"],generateAction:()=>Pa("addressLines",this.translations.addressLineTooLongError)},{violations:[Ne],generateAction:()=>({action:"show_error",errors:[this.createApplePayZoneError(this.translations.zoneNotFoundError,"billingContactInvalid",e?.billingCountryCode)]})},{violations:["PAYMENTS_INVALID_POSTAL_CODE_FOR_COUNTRY","PAYMENTS_INVALID_POSTAL_CODE_FOR_ZONE"],generateAction:()=>Pa("postalCode",this.translations.postalCodeInvalidError)},{violations:we,generateAction:()=>Pa("postalCode",this.translations.postalCodeEmojiError)},{violations:Ie,generateAction:()=>Pa("postalCode",this.translations.postalCodeNotSupportedError)},{violations:["PAYMENTS_FIRST_NAME_REQUIRED"],generateAction:()=>Pa("name",this.translations.firstNameBlank)},{violations:["PAYMENTS_LAST_NAME_REQUIRED"],generateAction:()=>Pa("name",this.translations.lastNameBlank)},{violations:["PAYMENTS_ADDRESS1_REQUIRED"],generateAction:()=>Pa("addressLines",this.translations.addressLine1Blank)},{violations:["PAYMENTS_CITY_REQUIRED"],generateAction:()=>Pa("locality",this.translations.cityBlank)},{violations:["PAYMENTS_CITY_TOO_LONG","PAYMENTS_CITY_CONTAINS_MATHEMATICAL_SYMBOLS","PAYMENTS_CITY_CONTAINS_EMOJIS","PAYMENTS_CITY_CONTAINS_HTML_TAGS"],generateAction:()=>Pa("locality",this.translations.invalidBillingAddressError)},{violations:["PAYMENTS_POSTAL_CODE_REQUIRED"],generateAction:()=>Pa("postalCode",this.translations.postalCodeBlank)},{violations:["PAYMENTS_COUNTRY_REQUIRED"],generateAction:()=>Pa("country",this.translations.countryBlank)},{violations:["PAYMENTS_ZONE_REQUIRED_FOR_COUNTRY"],generateAction:()=>({action:"show_error",errors:[this.createApplePayZoneError(this.translations.deliveryZoneBlank,"billingContactInvalid",e?.billingCountryCode)]})},{violations:["PAYMENTS_SHIPPING_MUST_MATCH_BILLING"],generateAction:()=>Pa("postalAddress",this.translations.billingMustMatchShipping)},{violations:["PAYMENTS_PHONE_NUMBER_REQUIRED"],generateAction:()=>({action:"abort",effects:[()=>{this.inMemoryApplePayParts.paymentSheetError.value={type:"exceptional_completion_status"},this.inMemoryApplePayParts.requireBillingPhoneOnNextAttempt.value=!0}]})}]}getCompletionShippingAddressViolationActions(e,t){return Boolean(e?.options?.applePayRecoveryFlowEnabled)?[{violations:["DELIVERY_ZONE_NOT_FOUND","DELIVERY_COMPANY_REQUIRED",...Me,...Re],generateAction:()=>this.generateDecelerateAction()}]:[{violations:["DELIVERY_FIRST_NAME_REQUIRED"],generateAction:()=>fa("name",this.translations.firstNameBlank)},{violations:["DELIVERY_LAST_NAME_REQUIRED"],generateAction:()=>fa("name",this.translations.lastNameBlank)},{violations:["DELIVERY_ADDRESS1_REQUIRED"],generateAction:()=>fa("addressLines",this.translations.addressLine1Blank)},{violations:["DELIVERY_ADDRESS2_REQUIRED"],generateAction:()=>fa("addressLines",this.translations.addressLine2Blank)},{violations:["DELIVERY_CITY_REQUIRED"],generateAction:()=>fa("locality",this.translations.cityBlank)},{violations:["DELIVERY_ZONE_REQUIRED_FOR_COUNTRY"],generateAction:()=>({action:"show_error",errors:[this.createApplePayZoneError(this.translations.deliveryZoneBlank,"shippingContactInvalid",e?.shippingCountryCode)]})},{violations:["DELIVERY_COUNTRY_REQUIRED"],generateAction:()=>
1fa("country",this.translations.countryBlank)},{violations:["DELIVERY_POSTAL_CODE_REQUIRED"],generateAction:()=>fa("postalCode",this.translations.postalCodeBlank)},{violations:["DELIVERY_ZONE_NOT_FOUND"],generateAction:()=>{const{shippingZone:a,shippingCountry:o}=Le(t);return{action:"show_error",errors:[this.createApplePayZoneError(this.translations.zoneNotFoundError,"shippingContactInvalid",e?.shippingCountryCode)],effects:[()=>{this.observability.log("apple_pay_payment_completion_failed","Delivery zone issue",{reason:"DELIVERY_ZONE_NOT_FOUND",shippingZone:a,shippingCountry:o})}]}}},{violations:["DELIVERY_INVALID_POSTAL_CODE_FOR_COUNTRY","DELIVERY_INVALID_POSTAL_CODE_FOR_ZONE","DELIVERY_POSTAL_CODE_NOT_SUPPORTED"],generateAction:()=>fa("postalCode",this.translations.postalCodeInvalidError)},{violations:["DELIVERY_LAST_NAME_CONTAINS_HTML_TAGS","DELIVERY_FIRST_NAME_CONTAINS_HTML_TAGS","DELIVERY_LAST_NAME_CONTAINS_URL","DELIVERY_FIRST_NAME_CONTAINS_URL"],generateAction:()=>fa("name",this.translations.invalidShippingAddressError)},{violations:["DELIVERY_ADDRESS1_CONTAINS_HTML_TAGS","DELIVERY_ADDRESS2_CONTAINS_HTML_TAGS","DELIVERY_ADDRESS1_CONTAINS_EMOJIS","DELIVERY_ADDRESS2_CONTAINS_EMOJIS","DELIVERY_ADDRESS2_CONTAINS_MATHEMATICAL_SYMBOLS",...D],generateAction:()=>fa("addressLines",this.translations.invalidShippingAddressError)},{violations:["DELIVERY_CITY_CONTAINS_HTML_TAGS"],generateAction:()=>fa("locality",this.translations.invalidShippingAddressError)},{violations:["DELIVERY_ADDRESS1_TOO_LONG"],generateAction:()=>fa("addressLines",this.translations.addressLineTooLongError)},{violations:["DELIVERY_FIRST_NAME_TOO_LONG"],generateAction:()=>fa("name",this.translations.firstNameTooLongError)},{violations:["DELIVERY_LAST_NAME_TOO_LONG"],generateAction:()=>fa("name",this.translations.lastNameTooLongError)},{violations:De,generateAction:()=>fa("name",this.translations.nameContainsEmojisError)},{violations:Me,generateAction:()=>({action:"abort",effects:[()=>{this.inMemoryApplePayParts.paymentSheetError.value={type:"exceptional_completion_status"},this.inMemoryApplePayParts.requirePhoneOnNextAttempt.value=!0}]})}]}getCompletionDeceleratedViolationActions(e){return e?.options?.applePayRecoveryFlowEnabled?[{violations:Oe,generateAction:()=>this.generateDecelerateAction({paymentSheetError:{type:"new_tax_must_be_accepted",tone:"warning"}})},{violations:[...L,O,...Be,...ke,...B,...Ye,"DELIVERY_WRONG_NUMBER_OF_DELIVERY_LINES",...xe,...Ue],generateAction:()=>this.generateDecelerateAction()}]:this.getCompletionAbortViolationActions()}getCompletionAbortViolationActions(){return[{violations:[...Oe,O,...Be,...B,"DELIVERY_COMPANY_REQUIRED"],generateAction:()=>({action:"abort"})},{violations:ke,generateAction:()=>this.generateAbortAction("session_terminated")},{violations:Ye,generateAction:()=>this.generateAbortAction("unusable_partial_address")},{violations:["DELIVERY_WRONG_NUMBER_OF_DELIVERY_LINES",...xe],generateAction:()=>this.generateAbortAction("unhandled_completion_status")},{violations:Ue,generateAction:()=>this.generateAbortAction("ineligible_discount")}]}mapUnhandledCompletion(e){return this.observability.error(new ne(`Intercepted completion returned unhandled status: ${e.status}`,{groupingHash:`ApplePayAPIError::InterceptedCompletionReturned::Unhandled::${e.status}`}),{severity:"error",errorClass:nt.Api}),this.generateAbortAction("unhandled_completion_status")}getNegotiationViolationActions(e){return[{violations:["MERCHANDISE_CART_AND_CURRENCY_UPDATED_BASED_ON_COUNTRY","MERCHANDISE_CART_UPDATED_BASED_ON_COUNTRY",O,...I,...M,he,ve],generateAction:()=>({action:"abort"})},{violations:Ae,generateAction:()=>({action:"update",errors:[new ApplePayError("addressUnserviceable")]})},...this.getNegotiationShippingAddressViolationActions(e),{violations:[Ne],generateAction:()=>({action:"update",errors:[this.createApplePayZoneError(this.translations.zoneNotFoundError,"billingContactInvalid",e?.billingCountryCode)]})},{violations:["PAYMENTS_INVALID_POSTAL_CODE_FOR_COUNTRY","PAYMENTS_INVALID_POSTAL_CODE_FOR_ZONE"],generateAction:()=>({action:"update",errors:[new ApplePayError("billingContactInvalid","postalCode",this.translations.postalCodeInvalidError)]})}]}getNegotiationShippingAddressViolationActions(e){return Boolean(e?.options?.applePayRecoveryFlowEnabled)?[{violations:[...Fe,"DELIVERY_INVALID_POSTAL_CODE_FOR_COUNTRY","DELIVERY_INVALID_POSTAL_CODE_FOR_ZONE"],generateAction:()=>({action:"no-op"})}]:[{violations:Fe,generateAction:()=>({action:"update",errors:[this.createApplePayZoneError(this.translations.zoneNotFoundError,"shippingContactInvalid",e?.shippingCountryCode)]})},{violations:["DELIVERY_INVALID_POSTAL_CODE_FOR_COUNTRY"],generateAction:()=>this.createInvalidPostalCodeViolationAction(e?.shippingCountryCode)},{violations:["DELIVERY_INVALID_POSTAL_CODE_FOR_ZONE"],generateAction:()=>({action:"update",errors:[new ApplePayError("shippingContactInvalid","postalCode",this.translations.postalCodeInvalidError)]})}]}createInvalidPostalCodeViolationAction(e){return"CA"===e||"GB"===e?{action:"no-op"}:{action:"update",errors:[new ApplePayError("shippingContactInvalid","postalCode",this.translations.postalCodeInvalidError)]}}mapUnhandledNegotiation(){return{action:"update",errors:[]}}createApplePayZoneError(e,t,a){return new ApplePayError(t,"AE"===a?"subLocality":"administrativeArea","AE"===a&&e===this.translations.zoneNotFoundError?this.translations.emirateNotFoundError:e)}generateAbortAction(e){return{action:"abort",effects:[()=>{this.inMemoryApplePayParts.paymentSheetError.value={type:e}}]}}generateDecelerateAction({paymentSheetError:e={type:"recovery_notice"}}={}){return{action:"decelerate",effects:[()=>{this.inMemoryApplePayParts.paymentSheetError.value=e}]}}
1notifyInvalidResult(e,t,a){const{expectedReasons:o,unexpectedReasons:r}=[...new Set(e.reasons)].reduce((e,t)=>(Aa.includes(t)?e.expectedReasons.push(t):e.unexpectedReasons.push(t),e),{expectedReasons:[],unexpectedReasons:[]});o.length>0&&(this.observability.log("apple_pay_payment_sheet_action_generator_negotiation_rejected","wallet_rejected_negotiation",{wallet:"apple_pay",reason:"invalid",stage:t,expectedReasons:o.sort(),unexpectedReasons:r.sort(),action:a}),this.observability.counter({name:"wallet_rejected_negotiation",value:1,attributes:{wallet:"apple_pay",reason:"invalid",stage:t,expectedReasons:o.sort().join(","),hasUnexpectedReasons:Boolean(r.length),action:a}}));for(const n of r.sort())this.observability.error(new ne(`Intercepted ${t} returned invalid: ${n}`,{groupingHash:`ApplePayAPIError::InterceptedNegotiationReturned::Invalid::${n}`}),{severity:"error"})}}function Pa(e,t){return{action:"show_error",errors:[new ApplePayError("billingContactInvalid",e,t)]}}function fa(e,t){return{action:"show_error",errors:[new ApplePayError("shippingContactInvalid",e,t)]}}function ba(){const{i18n:e,observability:t}=_(),{inMemoryApplePayParts:r,persistedApplePaySignal:n}=A(),i=Ve(),s=a(()=>({postalCodeNotSupportedError:e.translate("wallets.errors.unsupported.postal_code"),billingMustMatchShipping:e.translate("wallets.errors.invalid.billing_must_match_shipping"),invalidShippingAddressError:e.translate("wallets.errors.invalid.shipping_address"),invalidBillingAddressError:e.translate("wallets.errors.invalid.billing_address"),firstNameTooLongError:e.translate("wallets.errors.formatting.first_name_too_long"),lastNameTooLongError:e.translate("wallets.errors.formatting.last_name_too_long"),nameContainsEmojisError:e.translate("wallets.errors.formatting.name_contains_emojis"),addressLineTooLongError:e.translate("wallets.errors.formatting.address_too_long"),postalCodeInvalidError:e.translate("wallets.errors.invalid.postal_code"),postalCodeEmojiError:e.translate("wallets.errors.formatting.postal_code_contains_emoji"),zoneNotFoundError:e.translate("wallets.errors.invalid.zone"),emirateNotFoundError:e.translate("wallets.errors.invalid.emirate"),emailInvalidError:e.translate("wallets.errors.invalid.email"),phoneInvalidError:e.translate("wallets.errors.invalid.phone"),firstNameBlank:e.translate("wallets.errors.missing.first_name"),lastNameBlank:e.translate("wallets.errors.missing.last_name"),addressLine1Blank:e.translate("wallets.errors.missing.address1"),addressLine2Blank:e.translate("wallets.errors.missing.address2"),cityBlank:e.translate("wallets.errors.missing.city"),postalCodeBlank:e.translate("wallets.errors.missing.zip"),countryBlank:e.translate("wallets.errors.missing.country"),deliveryZoneBlank:e.translate("wallets.errors.missing.province"),phoneBlank:e.translate("wallets.errors.missing.phone"),contactInfoBlank:e.translate("wallets.errors.missing.contact_info")}),[e]);return o(()=>new ga(t,s,r,n,i),[s,r,n,t,i])}function Ea({canDecelerate:e,checkout:t}){return e.value&&k({checkout:t})}const Sa=class extends U{};Sa.type="wallet:address-replace";let Ca=Sa;function Ta({methodName:e,abortSignal:t,wallets:a,observability:o},r){if(!t?.aborted&&a.activeSession.value)try{r()}catch(n){if(n instanceof Error&&"InvalidAccessError"===n.name)return void Na({observability:o},{errorName:"InvalidAccessError",methodName:e});throw n}else Na({observability:o},{errorName:"SessionAlreadyTerminated",methodName:e})}function Na({observability:e},t){e.counter({name:"apple_pay_session_error",value:1,attributes:t}),e.log("apple_pay_with_active_session","Apple Pay active session error",t),e.leaveErrorBreadcrumb("[Apple Pay] Error while calling ApplePaySession method",t,"error")}function wa(){const e=_a(),t=F(),{progress:a,completing:s}=st(),l=lt(),d=dt(),p=et(),c=V(),u=pt(),y=ct("APPLE_PAY"),{inMemoryApplePayParts:{asPaymentMethod:m,requirePhoneOnNextAttempt:h,requireBillingPhoneOnNextAttempt:v,paymentSheetError:f,expiresAt:N,preCompletionHandler:w,subscriptionReviewTransition:I},persistedApplePaySignal:M,walletUsedForSubmissionSignal:R}=A(),D=ba(),L=function(){const e=ba();return o((t,a)=>{const{completionResultMapper:o}=e();if(!o)throw new ne("CompletionResultMapper not set up correctly",{groupingHash:"ApplePayAPIError::CompletionResultMapper"});return o.mapResultToPaymentSheetAction(t,a)},[e])}(),B=va(),k=ha(),{source:{checkoutSessionIdentifier:U},observability:Z,checkout:{wallets:W,address:te,validation:{billingAddressErrors:ae},configuration:oe,negotiator:re},shop:ie,events:se,client:le,i18n:de}=_(),pe=re.current.fields.buyerIdentity.value?.customerProfile,{countryDetails:ce,extendedAddressMode:ue}=te,{formatAddress:ye}=Mt(),me=la(ie),he=oe.addressSettings.nonBillingAddressSettings,ve=oe.layout.isOnePage,_e=oe.layout.baseName,Ae=St(J.ApplePay),{trackAttempt:ge}=Tt(J.ApplePay),Pe=ut(m),fe=re.current.fields,be=fe.buyerIdentity.value?.purchasingCompany,Ee=fe.availableDeliveryAddresses?.value,Se=fe.mustSelectProvidedAddress?.value,Ce=g({availableDeliveryAddresses:Ee,mustSelectProvidedAddress:Se}),{email:Te,shippingAddress:Ne,billingAddress:we,paymentLines:Ie,deliveryLines:Me}=re.parts,Re=He(),De=yt({shouldPersist:!0}),Le=Nt({flag:P,onAbort:De,onError:e=>{throw e}}),Oe=function({canDecelerate:e,asPaymentMethod:t}){const a=function({canDecelerate:e}){const t=Y(),{checkout:a}=_();return i(()=>Ea({canDecelerate:e,checkout:a})&&t.value)}({canDecelerate:e}),{checkout:o}=_(),r=it();return i(()=>{const n=null!==r,i=Ea({canDecelerate:e,checkout:o});return t.value?{shouldDecelerate:!1,isABTestActive:n,isCaliforniaDeceleration:!1,hasSubscription:i}:a.value?{shouldDecelerate:!0,isABTestActive:n,isCaliforniaDeceleration:!0,hasSubscription:i}:n?x(r)?{shouldDecelerate:i,isABTestActive:!0,isCaliforniaDeceleration:!1,hasSubscription:i}:{shouldDecelerate:!1,isABTestActive:!0,isCaliforniaDeceleration:!1,hasSubscription:i}:{shouldDecelerate:!1,isABTestActive:!1,isCaliforniaDeceleration:!1,hasSubscription:i}})}({canDecelerate:Pe,asPaymentMethod:m}),Be=function(){const{negotiate:e}=st(),{checkout:{wallets:t},observability:a}=_();return o(async(o,r)=>{let n,i,s=!1;try{await e({runListenersOnError:!0,fieldsToResolve:["deliveryNext"],onComplete:e=>{"success"!==e.status&&"error"!==e.status&&"invalid"!==e.status?n=e.status:s=!0}})}catch(c){s||(i=c)}const l=o.aborted||!t.activeSession.value;if(s&&!l)return!0;let d="rejected";l?d="session_ended":n&&(d="unsettled_status");const p={result:"failed",reason:d,status:n??"none"};return a.counter({name:"apple_pay_pre_deceleration_negotiation_attempt",value:1,attributes:p}),a.log("apple_pay_pre_deceleration_negotiation_attempt","[ApplePay] Pre-deceleration negotiation aborted",{...p,error:String(i)}),r(),!1},[e,t,a])}();return o(async(o,i,_,A,g,P)=>{let Y=!1;const x=[];let F=new Set;const V=D(),fe=m.value,Ee=Pe.value,Se=fe?K.PaymentMethod:K.Express,De={};function ke(){try{Ta({methodName:"completePayment",abortSignal:A,wallets:W,observability:Z},()=>i.completePayment(ApplePaySession.STATUS_FAILURE)),Z.leaveErrorBreadcrumb("[ApplePay] Completion flow - clearing activeSession (abort path)"),W.clearActiveSession({invokingWallet:"APPLE_PAY"}),Z.log("apple_pay_authorization_aborted","Apple Pay authorization aborted during payment completion",{}),B()}catch(a){e({session:i,error:a})}finally{fe||t()}}if(ge({walletType:Se}),At.start("apple-pay-authorization"),k({status:X.Attempt,walletType:Se}),!A.aborted&&W.activeSession.value&&g?.())return Z.leaveErrorBreadcrumb("ApplePay: authorization blocked by payment method reconciliation"),f.value={type:"session_terminated"},void ke();
1function Ye(t,a){switch(a.effects?.forEach(e=>e()),a.action){case"submit":{const a=y.value,r=U&&a?.walletOrderTypeIdentifier&&a?.walletServiceUrl&&a?.walletAuthenticationToken?{status:ApplePaySession.STATUS_SUCCESS,orderDetails:{orderTypeIdentifier:a.walletOrderTypeIdentifier,orderIdentifier:U,webServiceURL:a.walletServiceUrl,authenticationToken:a.walletAuthenticationToken}}:ApplePaySession.STATUS_SUCCESS;let n=!1;try{Ta({methodName:"completePayment",abortSignal:A,wallets:W,observability:Z},()=>{t.completePayment(r),n=!0})}catch(o){e({session:t,error:o,isProcessing:!0})}finally{Z.leaveErrorBreadcrumb("[ApplePay] payment completed successfully",{walletType:Se}),W.clearActiveSession({invokingWallet:"APPLE_PAY"})}return n&&k({status:X.Success,walletType:Se}),R.value="APPLE_PAY",n}case"show_error":{const r=je(a),n={status:ApplePaySession.STATUS_FAILURE,errors:r};Z.log("apple_pay_authorization_has_errors","apple_pay_authorization_has_errors",{errors:r});try{Ta({methodName:"completePayment",abortSignal:A,wallets:W,observability:Z},()=>t.completePayment(n)),A.aborted||0===n.errors.length?(Z.leaveErrorBreadcrumb("[ApplePay] payment failed with no errors or abort action, sheet will close"),W.clearActiveSession({invokingWallet:"APPLE_PAY"}),B()):(Z.leaveErrorBreadcrumb("[ApplePay] payment failed with handled errors, sheet will remain open for retry"),B())}catch(o){return e({session:t,error:o}),!1}return!0}case"abort":return ke(),!1;case"decelerate":{if(!Ee)return ke(),!1;const i=a.completePaymentStatus??ApplePaySession.STATUS_FAILURE;try{if(Ta({methodName:"completePayment",abortSignal:A,wallets:W,observability:Z},()=>t.completePayment(i)),W.clearActiveSession({invokingWallet:"APPLE_PAY"}),k({status:X.Failure,walletType:Se,endsAuthorization:!1}),Ae({event:ee.RecoveryFlowInitiated,walletType:Se}),ve.value&&(W.setEscalatedWallet("APPLE_PAY"),"review"===l.value.currentPage?.id&&d("payment-methods",{replace:!0})),M.value={...M.value,receiptIdForPaymentFailure:void 0,recoverySubmissionAttemptCount:0},ve.value){const e=()=>se.dispatchEvent(new Ca),t=x.filter(e=>function({addressType:e,contact:t,written:a},{shop:o,extendedAddressMode:r,violationCodes:n}){if("billing"===e){if(o.hasFlagEnabled(S))return!1;if(![...n].some(e=>C.has(e)))return!1}const i=Wt(t.countryCode);return function(e,t){return e.hasFlagEnabled(b)&&E.has(t)}(o,i)&&"dedicated"===r.get(i)&&(!a.streetName||!a.streetNumber)}(e,{shop:ie,extendedAddressMode:ue,violationCodes:F}));0===t.length?e():async function(e,{formatAddress:t,checkoutAddress:a,addressSettings:o,checkoutCompleting:i,applePayCompletionInProgress:s,i18n:l,observability:d}){let p=!1;const c=r(()=>{i.value&&!s.value&&(p=!0)});try{const i=await Promise.all(e.map(e=>{const i=Wt(e.contact.countryCode);return async function({addressType:e,contact:t,address:a,written:o,fieldErrors:i},{formatAddress:s,renderedFields:l,hasBuyerStartedPaying:d,observability:p}){let c=!1;const u=r(()=>{const e=a.value;pa.some(t=>e[t]!==o[t])&&(c=!0)});let y;try{y=await async function(e,t,a){const{address1:o,address2:r,city:n,countryCode:i,postalCode:s,zoneCode:l}=Zt(e),{district:d,subdistrict:p}=da(e,!0),c=await gt({address1:o,address2:r,city:n,countryCode:i,provinceCode:l,zip:s,...d&&{district:d},...p&&{subdistrict:p}},t);if("trusted"!==c.outcome)return{outcome:c.outcome};const u={streetName:c.fields.streetName,streetNumber:c.fields.streetNumber,address2:c.fields.address2,line2:c.fields.line2,district:c.fields.district,subdistrict:c.fields.subdistrict};return Pt(u,a)?{outcome:"trusted",fields:u}:{outcome:"untrusted"}}(t,s,l)}finally{u()}const m=c||d()||function(e,t){const a=document.activeElement;if(!(a instanceof HTMLInputElement&&a.closest(`#${ca[e]}`)))return!1;const o=ua.find(e=>e===a.name);return void 0!==o&&a.value!==(t.fields[o].value??"")}(e,a),h=Wt(t.countryCode);if(p.counter({name:"apple_pay_address_split",value:1,attributes:{outcome:"trusted"===y.outcome&&m?"discarded":y.outcome,countryCode:h,addressType:e}}),"trusted"!==y.outcome||m)return;const v=y.fields;return n(()=>{a.value=v;for(const e of ua)v[e]&&!o[e]&&(i[e].value=void 0)}),{addressType:e,filled:v}}(e,{formatAddress:t,renderedFields:T({country:a.countryDetails.get(i),editFormat:a.extendedAddressMode.getFormat(i),addressSettings:o[e.addressType]}),hasBuyerStartedPaying:()=>p,observability:d}).catch(()=>{d.leaveErrorBreadcrumb("[ApplePay] address split for review failed",{addressType:e.addressType})})}));!function(e,t){if(0===e.length)return;const a=e.map(({addressType:e,filled:a})=>{const o=ua.filter(e=>a[e]).map(e=>`${t.translate(ma[e])}: ${a[e]}`);return`${t.translate(ya[e])}: ${o.join(", ")}`}).join(". ");rt({content:a})}(i.filter(e=>void 0!==e),l)}finally{c()}return{buyerStartedPaying:p}}(t,{formatAddress:ye,checkoutAddress:te,addressSettings:{shipping:he.value,billing:oe.addressSettings.billingAddressSettings.value},checkoutCompleting:s,applePayCompletionInProgress:_,i18n:de,observability:Z}).catch(()=>(Z.leaveErrorBreadcrumb("[ApplePay] address review after deceleration failed"),{buyerStartedPaying:!1})).then(({buyerStartedPaying:t})=>{t||e()}).catch(()=>{Z.leaveErrorBreadcrumb("[ApplePay] renegotiation after deceleration failed")})}else Y=!0}catch(o){return e({session:t,error:o}),!1}return!0}default:return e({session:t,error:new ne(`Missing handler for payment sheet action "${a.action}"`,{groupingHash:"ApplePayAPIError::MissingHandlerPaymentSheetAction"})}),!1}}const xe=he.value.isRequired("address2"),Ue=he.value.isRequired("firstName"),{token:
1Fe,billingContact:Ve,shippingContact:He}=o.payment,Ge=he.value.isRequired("phone",{countryCode:Wt(He?.countryCode)}),Qe=V.validateBilling(o.payment);if(Qe.shouldPersist&&Ve&&!be){const e=!p.value&&Ge||v.value?He?.phoneNumber:void 0;v.value&&He?.phoneNumber&&Z.counter({name:"apple_pay_billing_phone_provided_after_retry",value:1,attributes:{asPaymentMethod:fe}});const t={...Ve,phoneNumber:e};me&&await ce.fetch(Wt(t.countryCode)),Ia(we,t,me),De.billing=t.addressLines?.[0],x.push({addressType:"billing",contact:t,address:we,fieldErrors:ae,written:we.value})}if(Qe.paymentSheetAction)return void Ye(i,Qe.paymentSheetAction);if(Z.log("wallets_shipping_address_update","onPaymentAuthorized: decision state before shipping address update",{asPaymentMethod:fe,shippingContactDefined:Boolean(He),isShippingContactPostalCodePadded:H(He?.postalCode,Wt(He?.countryCode)),isCurrentProposedPostalCodePadded:H(Ne.value?.postalCode,Ne.value?.countryCode),shippingRequired:p.value}),!fe&&!Ce){const e=V.validateShipping(o.payment,p.value,xe&&!Ee,Ue,Ge&&!Ee);if(e.shouldPersist&&He){u({postalCode:He.postalCode,countryCode:Wt(He.countryCode),city:He.locality,zoneCode:He.administrativeArea||He.subLocality},"APPLE_PAY"),me&&await ce.fetch(Wt(He.countryCode));const e={...Zt(He),...da(He,me)};Z.log("wallets_shipping_address_update","onPaymentAuthorized: update with complete shipping address from shippingContact",{isPostalCodePadded:H(e.postalCode,e.countryCode),countryCode:e.countryCode}),Ia(Ne,He,me),De.shipping=He.addressLines?.[0],x.push({addressType:"shipping",contact:He,address:Ne,fieldErrors:re.context.deliveryMethodsAddressErrors,written:Ne.value})}if(e.paymentSheetAction)return void Ye(i,e.paymentSheetAction)}if(!fe){const e=pe?.email??He?.emailAddress;e&&(Te.value=e)}He?.phoneNumber&&Me.value.forEach(e=>{e.value={...e.value,deliveryMethodOptions:{...e.value.deliveryMethodOptions,phone:He.phoneNumber}}}),h.value&&He?.phoneNumber&&Z.counter({name:"apple_pay_phone_provided_after_retry",value:1,attributes:{asPaymentMethod:fe}}),fe?Re({phone:He?.phoneNumber,email:He?.emailAddress,firstName:Ve?.givenName}):Re();const $e=re.current.fields.paymentDue.value;if($e&&$e.amount>0||c.value){const e=Ie.value,{brand:t,lastFourDigits:a}=function(e){const t={brand:"",lastFourDigits:""};if(!e)return t;const a=e.split(" ");if(2!==a.length)return t;const[o,r]=a;if(void 0===o||void 0===r)return t;for(const n of o.toLowerCase())if(n<"a"||n>"z")return t;return Number.isNaN(Number(r))?t:{brand:o,lastFourDigits:r}}(Fe.paymentMethod.displayName);Ie.value=q(e,{method:{type:"wallet",name:"APPLE_PAY",walletContent:{...Fe.paymentData,lastDigits:a,cardNetworkBrand:t,paymentMethodIdentifier:y.value?.paymentMethodIdentifier,...Ee&&{expiresAt:N.value}}}})}const Ze=Oe.value,We=c.value,Je=We?z(le.unstable_getSerialization("experiments")):null,Ke=void 0!==P&&P===$(Je),Xe=W.activeSession.value,et=Ze.isCaliforniaDeceleration&&Ze.hasSubscription&&!fe&&!A.aborted&&"APPLE_PAY"===Xe?.wallet&&!Xe.asPaymentMethod&&Ze.isABTestActive&&Ke,tt={...Ze,shouldDecelerate:Ze.shouldDecelerate&&!et};if(We){const e=null!==Je,t=function(e){return e.shouldDecelerate?e.isCaliforniaDeceleration?"california":"decelerated":"none"}(tt);Z.counter({name:"apple_pay_subscriptions_deceleration_variant",value:1,attributes:{variant:Je??j.Control,complete_payment_status:"success",is_ab_test_active:ie.hasFlagEnabled(G),is_california_excluded:tt.isCaliforniaDeceleration,has_caution_banner:!1,deceleration_scope:t,is_enrolled:e,as_payment_method:fe}})}if(tt.shouldDecelerate){if(ve.value&&!(await Be(A,ke)))return;if(W.setEscalatedWallet("APPLE_PAY"),W.setIsDecelerating(!0),!Ye(i,{action:"decelerate",completePaymentStatus:ApplePaySession.STATUS_SUCCESS,effects:[]}))return W.setEscalatedWallet(null),W.setIsDecelerating(!1),W.setHasActiveApplePaySubscriptionReview(!1),void(I.value=void 0);if(I.value="in_app_deceleration",W.setHasActiveApplePaySubscriptionReview(!0),Y)try{await Le({wallet:"APPLE_PAY",reason:"subscriptions",asPaymentMethod:fe})}catch(dt){I.value=void 0,dt instanceof Error&&e({session:i,error:dt})}return}const at=w?.value;if(at&&!(await at()))return Z.leaveErrorBreadcrumb("ApplePay: Pre-completion handler failed",{asPaymentMethod:fe}),void ke();_.value=!0;let ot=0,nt="",it="unexpected error",st=[];const lt=qe(re.current.fields.deliveryNext?.value);try{Z.leaveErrorBreadcrumb("ApplePay: Payment authorized negotiation",{retryCount:ot});const e=Ne.value;for(;;){let t=!1;if(A.aborted)break;if(await a("apple-pay-payment-authorized",a=>{const o=a;F=new Set("rejected"===o.status?o.violations.map(e=>e.code):[]),"rejected"===o.status&&(st=o.violations.map(e=>e.code),o.violations.some(e=>"BUYER_IDENTITY_MISSING_CONTACT_METHOD"===e.code)&&Z.log("apple_pay_on_payment_authorized","Apple Pay is missing contact method",{asPaymentMethod:m.value,proposedEmail:Te.value||"",customerProfileEmail:pe?.email||"",shippingContactEmail:He?.emailAddress||"",hasShippingContact:Boolean(He),shippingContactPhone:He?.phoneNumber||"",allViolationCodes:o.violations.map(e=>e.code).join(","),isPhoneRequired:Ge}));const r="rejected"===o.status&&o.violations.some(e=>e.code===O),{shouldRetry:n,retryReason:s,updatedDeliveryMethodHandles:l}=Ma(o,{retryCount:ot,negotiated:re,originalSelectedDeliveryMethods:lt});if(n&&!r)return l&&(mt(Me,l),Se===K.Express&&(Z.log("wallets_shipping_address_update","onPaymentAuthorized: restoring address snapshot on retry",{isSnapshotPostalCodePadded:H(e?.postalCode,e?.countryCode),countryCode:e?.countryCode,retryCount:ot}),Ce||(Ne.value=e))),Z.leaveErrorBreadcrumb(`ApplePay: retrying due to ${s}`,{retryCount:ot}),ot++,nt=s,void(t=!A.aborted);Z.leaveErrorBreadcrumb("ApplePay: completed negotiation",{action:"paymentAuthorized",status:a.status,retryCount:ot,retryReason:nt});const d=L(o,{shippingCountryCode:Wt(He?.countryCode),billingCountryCode:Wt(Ve?.countryCode),...Ee&&{options:{applePayRecoveryFlowEnabled:Ee,asPaymentMethod:m.value,layout:_e}}});Ye(i,d),it=a.status},{skipToCompletion:!0,customizeCompletion:Se===K.Express?ze:void 0,walletStreetLines:ie.hasFlagEnabled(Q)?De:void 0}),!t)break}Y&&await Le({wallet:"APPLE_PAY",reason:"submitForCompletion",asPaymentMethod:fe})}catch(dt){dt instanceof Error&&e({session:i,error:dt})}finally{_.value=!1,ot>0&&(Z.counter({name:"wallet_submit_for_completion_retry",value:1,attributes:{retry_reason:nt||"unknown",retry_count:ot,status:it,instrument:J.ApplePay}}),Z.log("wallet_submit_for_completion_retry_details","[ApplePay] SubmitForCompletion retry details",{retryReason:nt,retryCount:ot,status:it,instrument:J.ApplePay,asPaymentMethod:fe,lastRejectionViolationCodes:st}))}},[m,he,D,h,v,f,re,c,y,U,R,e,ge,k,B,t,be,we,p,pe?.email,u,Ne,Te,Me,Ie,a,Be,L,Re,W,Z,M,Pe,Le,ve,_e,se,N,w,I,Ae,Ce,Oe,ce,ue,te,oe,ae,ye,s,de,me,le,ie,l,d])}function Ia(e,t,a){const o=da(t,a),r=e.fields.line2;e.value={...Zt(t),...o},r&&"line2"in o&&(r.value=o.line2)}function Ma(e,{retryCount:t,negotiated:a,originalSelectedDeliveryMethods:o}){const r={shouldRetry:!1,retryReason:"",updatedDeliveryMethodHandles:void 0};if("rejected"!==e.status||t>=1)return r;const n=Ge(e,a.current.fields.deliveryNext?.peek(),o);return n?{shouldRetry:!0,retryReason:"delivery_option_mismatch",updatedDeliveryMethodHandles:n}:r}function Ra(){const e=ba();return o((t,a)=>{const{negotiationResultMapper:o}=e();if(!o)throw new ne("NegotiationResultMapper not set up correctly",{groupingHash:"ApplePayAPIError::NegotiationResultMapper"});return o.mapResultToPaymentSheetAction(t,a)},[e])}function Da(){const e=va(),t=_(),{checkout:{wallets:a},observability:r}=t;return o(({session:t,paymentSheetAction:o,onProceed:n,abortSignal:i})=>{switch(o.action){case"abort":Ta({methodName:"abort",abortSignal:i,wallets:a,observability:r},()=>t.abort()),a.clearActiveSession({invokingWallet:"APPLE_PAY"}),e();break;case"update":n(o.errors);break;case"no-op":n();break;default:throw new ne(`Missing handler for payment sheet action "${o.action}"`,{groupingHash:"ApplePayAPIError::MissingHandlerPaymentSheetAction"})}},[e,a,r])}function La(){const e=_a(),t=bt(J.ApplePay),{inMemoryApplePayParts:{asPaymentMethod:a,paymentSheetError:r,prefetchPaymentSession:n}}=A(),{shop:i,source:{sourceId:l},observability:d,embed:p,graphql:{coreGraphql:c},checkout:{negotiator:u}}=_(),{countryCode:y}=i,m=Jt({embed:p,isCrossOriginIframeEnabled:i.hasFlagEnabled(Z)}),h=function(){const{checkout:e,observability:t}=_(),a=e.configuration.addressSettings.nonBillingAddressSettings.value,r=Xe(),n=a.isRequired("phone",{countryCode:Wt(e.negotiator.current.fields.buyerIdentity.value?.countryCode)}
1),i=et(),{value:s}=e.negotiator.current.fields.deliveryNext,l=e.negotiator,d=tt(),{paymentDue:p,recurringTotals:c,...u}=pe(l),y=ra(),{deliveryMethodTitlePrefixes:m,connectTwoShippingTitles:h}=y,v=e.negotiator.current.fields.availableDeliveryAddresses?.value,P=e.negotiator.current.fields.mustSelectProvidedAddress?.value,{inMemoryApplePayParts:{asPaymentMethod:f,requirePhoneOnNextAttempt:b,requireBillingPhoneOnNextAttempt:E}}=A();return o((a,o)=>{const l=f.value,_=b.value||E.value,A=Boolean(e.negotiator.parts.shopPayArtifact.value?.optIn),S=Boolean(e.negotiator.parts.email.value);_&&t.counter({name:"apple_pay_phone_retry_requested",value:1,attributes:{addressSettingsPhoneRequired:n,asPaymentMethod:l}});const C=g({availableDeliveryAddresses:v,mustSelectProvidedAddress:P}),T=l||C,{requiredShippingContactFields:N,requiredBillingContactFields:w}=function({phoneRequired:e,emailRequired:t,shippingRequired:a}){const o=["name","postalAddress"],r=[...e?["phone"]:[],...t?["email"]:[]];return{requiredShippingContactFields:a?[...o,...r]:r,requiredBillingContactFields:o}}({phoneRequired:na({asPaymentMethod:l,phoneRequired:n,shouldRequestPhoneOnRetry:_,shopPayOptInExists:A}),emailRequired:ia({asPaymentMethod:l,emailRequired:r.value,shopPayOptInExists:A,proposedEmailExists:S}),shippingRequired:!T&&i.value}),I=$t(y.lineItemsLabels.total,p),M=Ut({...u,formattedRecurringTotals:d(c),...y}),R=T?[]:Vt({deliveryMethodTitlePrefixes:m,connectTwoShippingTitles:h,deliveryNext:s}),D={total:I,currencyCode:p.currencyCode,countryCode:o,lineItems:M,shippingMethods:R,shippingType:"shipping",merchantCapabilities:["supports3DS"],supportedNetworks:a,requiredShippingContactFields:N,requiredBillingContactFields:w};return Xt(p.currencyCode)?function(e){const{lineItems:t,shippingMethods:a}=e;return{...e,total:ta(e.total),...t&&{lineItems:t.map(ta)},...a&&{shippingMethods:a.map(aa)}}}(D):D},[f,b,E,h,m,s,r,v,d,y,P,u,p,n,c,i,t,e.negotiator.parts])}(),v=function(){const e="apple-pay-gateway.apple.com/paymentservices/startSession";return"CN"===vt().geolocation.country.code?`https://cn-${e}`:`https://${e}`}(),f=function(){const e=bt(J.ApplePay),{trackComplete:t}=Tt(J.ApplePay),a=at(),{inMemoryApplePayParts:r}=A(),{checkout:n,observability:i,shop:s}=_(),l=ot();return o((o,d)=>{o.abort(),r.prefetchPaymentSession.value=void 0;const p=d.value,c=r.asPaymentMethod.value,u=c?K.PaymentMethod:K.Express;At.remove("apple-pay-sheet-load"),At.exists("apple-pay-authorization")&&t({result:"failed",durationMs:At.end("apple-pay-authorization"),walletType:u}),i.counter({name:"apple_pay_on_cancel",value:1,attributes:{completion_in_progress:p.toString(),wallet_type:u}}),i.counter({name:"wallet_sheet_cancelled",value:1,attributes:{instrument:J.ApplePay}}),i.log("apple_pay_use_on_cancel_sheet_cancelled","Apple Pay sheet cancelled",{completionInProgress:p,walletType:u}),r.requirePhoneOnNextAttempt.value&&i.counter({name:"apple_pay_cancelled_after_phone_retry",value:1,attributes:{asPaymentMethod:c}});const y=s.hasFlagEnabled(P),m=void 0!==r.subscriptionReviewTransition.value&&Ke({applePayThreePageVaultedReviewEnabled:y,isOnePageCheckout:n.configuration.layout.isOnePage.value}),h=l.value||m;if(p)i.log("apple_pay_on_cancel_completion_in_progress","Apple Pay cancelled during completion - activeSession NOT cleared, expecting completion flow to handle cleanup",{asPaymentMethod:c,inRecoveryFlow:h}),r.paymentSheetError.value={type:"payment_cancelled_while_processing"};else{if(i.log("apple_pay_on_cancel_normal_path","Apple Pay cancelled - clearing activeSession",{asPaymentMethod:c,inRecoveryFlow:h}),"APPLE_PAY"===n.wallets.activeSession.value?.wallet&&n.wallets.clearActiveSession({invokingWallet:"APPLE_PAY"}),h)return;a()}e(X.Cancelled)},[a,r.asPaymentMethod,r.paymentSheetError,r.subscriptionReviewTransition,r.requirePhoneOnNextAttempt,r.prefetchPaymentSession,t,e,i,s,n,l])}(),b=function(){const e=bt(J.ApplePay),t=_a(),{shop:a,source:{sourceId:r},observability:n,checkout:{wallets:i},embed:s,graphql:{coreGraphql:l}}=_(),d=Jt({embed:s,isCrossOriginIframeEnabled:a.hasFlagEnabled(Z)}),{inMemoryApplePayParts:{prefetchPaymentSession:p}}=A(),c=Dt(J.ApplePay);return o((a,o,s,u)=>{const y=u===p.value?.prefetchUrl;n.histogram({name:"apple_pay_prefetch_session",value:At.end("apple-pay-session-begin"),attributes:{prefetch:y?"success":"retried"}}),async function(){if(p.value)try{const e=await p.value.prefetchPromise;if(y&&e)return e;
1y&&!e?n.leaveErrorBreadcrumb("[ApplePay] session query prefetch returned no data - starting new validation query",{validationUrl:u,prefetchUrl:p.value?.prefetchUrl}):y||n.leaveErrorBreadcrumb("[ApplePay] session query prefetch URL mismatch - starting new validation query",{validationUrl:u,prefetchUrl:p.value?.prefetchUrl})}catch(e){if(e instanceof ae)return;n.log("apple_pay_on_validate_merchant","Apple Pay prefetch session error",{error:e,prefetchValidationUrl:p.value?.prefetchUrl,validationUrl:u})}return n.leaveErrorBreadcrumb("[ApplePay] starting new session query",{hadPrefetch:Boolean(p.value),validationUrl:u}),Yt({graphql:l,sourceId:r,validationUrl:u,asPaymentMethod:o,signal:s,observability:n,isPrefetch:!1,domain:d})}().then(r=>{if(p.value=void 0,r instanceof Bt)return n.leaveErrorBreadcrumb("[ApplePay] Validation query returned failed response",{reason:r.reason}),n.log("apple_pay_on_validate_merchant","Apple Pay session creation failed",{reason:r.reason}),void t({session:a,error:new oe(r.reason)});if(!r){const e=s.aborted,r="APPLE_PAY"===i.activeSession.value?.wallet;n.leaveErrorBreadcrumb("[ApplePay] Validation query returned no data",{asPaymentMethod:o,isAborted:e,isActiveApplePaySession:r});
1const l=e||!r?new oe("Apple Pay session query returned no data after session was cancelled"):new ne("session query returned no data");return void t({session:a,error:l,isAborted:e})}e(X.Success,o?K.PaymentMethod:K.Express),o||c(),Ta({methodName:"completeMerchantValidation",abortSignal:s,wallets:i,observability:n},()=>a.completeMerchantValidation(JSON.parse(r.body)))}).catch(e=>{t({error:e,session:a,isAborted:s.aborted})})},[l,r,n,e,c,t,p,i,d])}(),E=function(){const{observability:e,checkout:{wallets:t,address:{countryDetails:a,extendedAddressMode:r},negotiator:n},checkout:i,shop:s}=_(),l=la(s),d=_a(),p=va(),c=Ra(),u=tt(),y=St(J.ApplePay),m=Qe(),{formattedRecurringTotalTooltip:h,lineItemsLabels:v,deliveryOptionGroupTypeLabels:A,deliveryMethodTitlePrefixes:g}=ra();return o(async(o,s,_,P)=>{const{billingContact:f}=o.paymentMethod;if(!i.isShippingRequired.value&&f){e.leaveErrorBreadcrumb("ApplePay: Payment method selected negotiation");try{l&&await a.fetch(Wt(f.countryCode)),await m({abortSignal:_,fieldsToResolve:["duties","taxes"],customizeNegotiation:e=>((e,t,{deliveryAddressOptions:a,extendedAddressFieldsEnabled:o=!1}={})=>function(e,t,{interfaceFlow:a,isConstrainedAddress:o=!1,deliveryAddressOptions:r}={}){return o?e:{...e,delivery:{...e.delivery,interfaceFlow:a,useProgressiveRates:!1,deliveryLines:(e.delivery?.deliveryLines??[]).map(e=>({...e,destination:{partialStreetAddress:Rt(t,r)}}))}}}(e,{...Zt(t),...da(t,o)},{interfaceFlow:"APPLE_PAY",deliveryAddressOptions:a}))(e,f,{deliveryAddressOptions:{extendedAddressMode:r},extendedAddressFieldsEnabled:l}),observability:e,onComplete:function(a){if(t.activeSession.value&&!_.aborted&&(e.leaveErrorBreadcrumb("ApplePay: completed negotiation",{action:"paymentMethodSelected",status:a.status}),f)){const o=c(a,{billingCountryCode:Wt(f.countryCode)});o.effects?.forEach(e=>e()),"abort"===o.action&&(e.log("apple_pay_on_payment_method_selected","[ApplePayButton.session.onpaymentmethodselected] session aborted due to blocking error",{errors:o.errors,session:s}),Ta({methodName:"abort",abortSignal:_,wallets:t,observability:e},()=>s.abort()),t.clearActiveSession({invokingWallet:"APPLE_PAY"}),p())}},walletName:J.ApplePay,logPrefix:"ApplePay::useOnPaymentMethodSelected"})}catch(b){b instanceof Error&&d({session:s,error:b})}}if(s&&t.activeSession.value){if(P&&!(await async function(a){let o=!1;try{o=await a(_)}catch(b){return b instanceof Error&&d({session:s,error:b}),!1}return _.aborted||!t.activeSession.value?(e.leaveErrorBreadcrumb("ApplePay: session ended while waiting for totals to settle"),!1):(o||(e.leaveErrorBreadcrumb("ApplePay: totals did not settle before payment method selection"),d({session:s,error:new ne("Payment method selection reconciliation timed out",{groupingHash:"ApplePayAPIError::PaymentMethodSelectionReconciliationTimeout"})})),o)}(P)))return;!function(){const{paymentDue:a,recurringTotals:o,...r}=pe(n);if(null==a)return d({session:s,error:new ne("Missing negotiated payment due",{groupingHash:"ApplePayAPIError::MissingNegotiatedPaymentDue"})});const i=Xt(a.currencyCode);try{Ta({methodName:"completePaymentMethodSelection",abortSignal:_,wallets:t,observability:e},()=>{const e={newTotal:$t(v.total,a),newLineItems:Ut({...r,formattedRecurringTotals:u(o),formattedRecurringTotalTooltip:h,lineItemsLabels:v,deliveryOptionGroupTypeLabels:A,deliveryMethodTitlePrefixes:g})};s.completePaymentMethodSelection(i?oa(e):e)})}catch(b){b instanceof Error&&d({error:b,session:s})}}()}i.isShippingRequired.value||At.endAndRun("apple-pay-sheet-load",t=>{y({event:ee.SheetLoaded,ttl:t}),e.histogram({name:"wallet_sheet_loaded",value:t,attributes:{instrument:J.ApplePay}})})},[t,p,g,A,u,h,c,v,n,i.isShippingRequired,e,d,y,m,r,a,l])}(),S=function(){const e=_a(),t=tt(),a=Ra(),r=ht(),{observability:n,checkout:{wallets:i,address:{countryDetails:s,extendedAddressMode:l},negotiator:d},shop:p}=_(),c=la(p),{inMemoryApplePayParts:{initialDeliveryIdentifier:u}}=A(),{deliveryLines:y,shippingAddress:m}=d.parts,h=St(J.ApplePay),v=Qe(),P=d.current.fields,f=P.availableDeliveryAddresses?.value,b=P.mustSelectProvidedAddress?.value,E=P.deliveryNext?.value,S=g({availableDeliveryAddresses:f,mustSelectProvidedAddress:b}),{formattedRecurringTotalTooltip:C,lineItemsLabels:T,deliveryOptionGroupTypeLabels:N,deliveryMethodTitlePrefixes:w}=ra(),I=Da();return o(async(o,p,_)=>{const A=u.value;u.value=void 0;const g=o.shippingMethod.identifier===A;n.counter({name:"apple_pay_skip_initial_delivery_negotiation",value:1,attributes:{skippedNegotiation:g}}),!g&&A&&n.log("apple_pay_on_shipping_method_selected","Apple Pay failed to skip initial delivery negotiation",{expectedHandle:A,actualHandle:o.shippingMethod.identifier});const P=t=>{try{return Ze(t)}catch(a){return e({session:p,error:new ne("Invalid shipping method identifier",{groupingHash:"ApplePayAPIError::InvalidShippingMethodIdentifier",cause:a,metadata:{identifier:t}})}),null}};if(g){const e=P(A);if(null==e)return;return mt(y,e),void R(p)}const b=m.value,M=P(o.shippingMethod.identifier);if(null!=M){mt(y,M),n.leaveErrorBreadcrumb("ApplePay: Shipping method selected negotiation",{handles:JSON.stringify(M),identifier:o.shippingMethod.identifier});try{c&&await s.fetch(b.countryCode),await v({abortSignal:_,fieldsToResolve:["deliveryNext","duties","taxes"],customizeNegotiation:e=>$e(e,b,{interfaceFlow:"APPLE_PAY",isPickupSelected:r.value,isConstrainedAddress:S,availableDeliveryAddresses:f,negotiatedDelivery:E,deliveryAddressOptions:{extendedAddressMode:l}}),observability:n,walletName:J.ApplePay,onComplete:function(t){if(i.activeSession.value&&!_.aborted){n.leaveErrorBreadcrumb("ApplePay: completed negotiation",{action:"shippingMethodSelected",status:t.status});try{const e=a(t,{shippingCountryCode:b.countryCode});
1e.effects?.forEach(e=>e()),n.leaveErrorBreadcrumb("ApplePay: Payment sheet action",{action:"shippingMethodSelected",paymentSheetAction:e.action}),I({session:p,paymentSheetAction:e,onProceed:()=>R(p),abortSignal:_})}catch(o){o instanceof Error&&e({error:o,session:p})}}},logPrefix:"ApplePay::useOnShippingMethodSelected"})}catch(D){e({session:p,error:D})}}function R(a){const{paymentDue:o,recurringTotals:r,...s}=pe(d);if(null==o)return e({session:a,error:new ne("Missing negotiated payment due",{groupingHash:"ApplePayAPIError::MissingNegotiatedPaymentDue"})});const l=Xt(o.currencyCode);try{Ta({methodName:"completeShippingMethodSelection",abortSignal:_,wallets:i,observability:n},()=>{const e={newTotal:$t(T.total,o),newLineItems:Ut({...s,formattedRecurringTotals:t(r),formattedRecurringTotalTooltip:C,lineItemsLabels:T,deliveryOptionGroupTypeLabels:N,deliveryMethodTitlePrefixes:w})};a.completeShippingMethodSelection(l?oa(e):e)}),At.endAndRun("apple-pay-sheet-load",e=>{h({event:ee.SheetLoaded,ttl:e}),n.histogram({name:"wallet_sheet_loaded",value:e,attributes:{instrument:J.ApplePay}})})}catch(D){D instanceof Error&&e({error:D,session:a})}}},[i,w,N,t,C,a,I,r,T,d,y,m,e,n,h,u,v,S,f,E,s,c,l])}(),C=function(){const e=_a(),t=tt(),a=Ra(),r=ht(),{inMemoryApplePayParts:{initialDeliveryIdentifier:n,asPaymentMethod:i}}=A(),s=_(),{deliveryLines:l,shippingAddress:d}=s.checkout.negotiator.parts,p=Qe(),c=s.checkout.negotiator.current.fields.availableDeliveryAddresses?.value,u=s.checkout.negotiator.current.fields.mustSelectProvidedAddress?.value,y=s.checkout.negotiator.current.fields.deliveryNext?.value,m=g({availableDeliveryAddresses:c,mustSelectProvidedAddress:u}),h=s.checkout.negotiator,{checkout:{wallets:v,address:P},observability:f}=s,{countryDetails:b,extendedAddressMode:E}=P,S=la(s.shop),{formattedRecurringTotalTooltip:C,lineItemsLabels:T,deliveryOptionGroupTypeLabels:N,deliveryMethodTitlePrefixes:w,connectTwoShippingTitles:I}=ra(),M=Da(),{shouldGateCrossBorder:R,crossBorderGate:D}=Ct(),L=ut(i);return o(async(o,i,s)=>{const u={...Zt(o.shippingContact),...da(o.shippingContact,S)};f.log("wallets_shipping_address_update","onShippingContactSelected: update with partial shipping address",{countryCode:u.countryCode,isPostalCodePadded:H(u.postalCode,u.countryCode)});const _=o.shippingContact.countryCode?Wt(o.shippingContact.countryCode):void 0;if(mt(l,void 0),n.value=void 0,R(_)){f.log("apple_pay_cross_border_gate","Apple Pay shipping country creates a cross-border split. Closing the payment sheet and opening the consolidation modal.",{shippingCountryCode:_});try{e({session:i,isMessagingHandledElsewhere:!0,error:new oe("Session terminated due to cross-border shipping country change")})}catch(g){f.leaveErrorBreadcrumb("ApplePay: failed to abort session for cross-border gate",{errorName:g instanceof Error?g.name:"Unknown",errorMessage:g instanceof Error?g.message:String(g)})}D(()=>{d.fields.zoneCode.value=void 0,d.fields.coordinates.value=void 0,d.fields.countryCode.value=_})}else if(m)A(i);else{d.value=u,f.leaveErrorBreadcrumb("ApplePay: Shipping contact selected negotiation",{countryCode:u.countryCode,isPostalCodePadded:H(u.postalCode,u.countryCode)});try{S&&await b.fetch(u.countryCode),await p({abortSignal:s,fieldsToResolve:["deliveryNext","duties","taxes"],customizeNegotiation:e=>$e(e,u,{interfaceFlow:"APPLE_PAY",isPickupSelected:r.value,isConstrainedAddress:m,availableDeliveryAddresses:c,negotiatedDelivery:y,deliveryAddressOptions:{extendedAddressMode:E}}),observability:f,walletName:J.ApplePay,onComplete:function(e){const t=L.value;if(!v.activeSession.value)return;if(s.aborted)return;f.leaveErrorBreadcrumb("ApplePay: completed negotiation",{action:"shippingContactSelected",status:e.status});const r=a(e,{shippingCountryCode:Wt(o.shippingContact.countryCode),...t&&{options:{applePayRecoveryFlowEnabled:t}}});r.effects?.forEach(e=>e()),f.leaveErrorBreadcrumb("ApplePay: Payment sheet action",{action:"shippingContactSelected",paymentSheetAction:r.action}),M({session:i,paymentSheetAction:r,onProceed:e=>A(i,e),abortSignal:s})},logPrefix:"ApplePay::useOnShippingContactSelected"})}catch(g){g instanceof Error&&e({session:i,error:g})}}function A(a,o){const{paymentDue:r,recurringTotals:i,deliveryNext:l,...d}=pe(h);if(null==r)return e({session:a,error:new ne("Missing negotiated payment due",{groupingHash:"ApplePayAPIError::MissingNegotiatedPaymentDue"})});const p=Xt(r.currencyCode);try{const e={newTotal:$t(T.total,r),newLineItems:Ut({...d,formattedRecurringTotals:t(i),formattedRecurringTotalTooltip:C,lineItemsLabels:T,deliveryOptionGroupTypeLabels:N,deliveryMethodTitlePrefixes:w})},c=Vt({deliveryMethodTitlePrefixes:w,connectTwoShippingTitles:I,deliveryNext:l}),u={...e,newShippingMethods:c};Ta({methodName:"completeShippingContactSelection",abortSignal:s,wallets:v,observability:f},()=>a.completeShippingContactSelection({errors:o,...p?oa(u):u}));try{const e=function(e,t){if(t?.length||!e)return;if("filled"!==e.status||!e.lines?.length)return;const a=e.lines.reduce((e,t)=>
1("available"===t.status&&t.selectedDeliveryMethodHandle&&e.push(t.selectedDeliveryMethodHandle),e),[]);return a.length<e.lines.length?void 0:a}(l,o);if(!e)return;const t=c.find(t=>e.every(e=>t.identifier.includes(e)))?.identifier;t&&(n.value=t)}catch(g){f.error(g)}}catch(g){g instanceof Error&&e({error:g,session:a})}}},[l,d,r,a,M,h,e,T,t,C,N,w,I,n,p,v,f,L,m,c,y,R,D,S,b,E])}(),T=wa();return o(({asPaymentMethod:o=!1,supportedNetworks:i,waitForTotalsToSettle:p,isPaymentAuthorizationBlocked:_,subscriptionConsent:A})=>{At.start("apple-pay-session-begin"),r.value=void 0,a.value=o;const g=s(!1),P=new AbortController,{paymentDue:N}=pe(u);if(!N)return t(X.Failure,o?K.PaymentMethod:K.Express),r.value={type:"session_terminated"},d.error(new ne("Missing paymentDue",{groupingHash:"ApplePayAPIError::MissingPaymentDue"}),{severity:"error",errorClass:nt.Api}),{session:void 0,error:"no_payment_due"};let w;n.value||(n.value={prefetchPromise:(async()=>(await Promise.resolve(),Yt({graphql:c,sourceId:l,validationUrl:v,asPaymentMethod:o,signal:P.signal,observability:d,isPrefetch:!0,domain:m})))(),prefetchUrl:v});const I=h(i,y);try{w=new ApplePaySession(W,I)}catch(M){return M instanceof Error&&e({error:M}),{session:void 0,error:"session_creation_failed"}}return w.oncancel=()=>f(P,g),w.onvalidatemerchant=e=>b(w,o,P.signal,e.validationURL),w.onpaymentmethodselected=e=>E(e,w,P.signal,p),w.onshippingmethodselected=e=>S(e,w,P.signal),w.onshippingcontactselected=e=>C(e,w,P.signal),w.onpaymentauthorized=e=>T(e,w,g,P.signal,_,A),{session:w,error:void 0}},[a,h,u,r,f,T,E,C,S,b,y,e,t,n,v,c,d,l,m])}function Oa(){const{inMemoryApplePayParts:{asPaymentMethod:e,expiresAt:t}}=A(),{observability:a,checkout:{wallets:r}}=_(),n=ut(e);return o(o=>{if(o){At.start("apple-pay-sheet-load"),a.counter({name:"apple_pay_button_click",value:1,attributes:{wallet_type:e.value?K.PaymentMethod:K.Express}}),a.counter({name:"wallet_sheet_clicked",value:1,attributes:{instrument:J.ApplePay}});try{o.begin()}catch(i){if(i instanceof Error&&"InvalidAccessError"===i.name)return void a.log("apple_pay_session_begin_error","Apple Pay session.begin() failed from insecure context",{errorName:"InvalidAccessError"});throw i}n.value&&(t.value=new Date(Date.now()+3e5).toISOString()),r.setActiveSession({newValue:"APPLE_PAY",asPaymentMethod:e.value})}},[e,a,r,n,t])}const Ba=new Set(L);function ka(){const{applePaySessionHandler:e,inMemoryApplePayParts:t}=A(),a=_t(function(){const{negotiate:e}=st(),t=lt(),{observability:a,shopPay:r,checkout:{wallets:n,identity:i,negotiator:s,proposal:l}}=_(),d="shopPay"===i.current.value,{inMemoryApplePayParts:{isLoadingPaymentSheet:p,paymentSheetError:c}}=A(),u=d?J.ShopPayApplePay:J.ApplePay,y=La(),m=bt(u),h=Lt(),v=ot(),{shopOfferReconciliationPending:g}=r,P=Oa(),f=s.current.fields.paymentMethods?.value,b=f?.find(e=>"wallet"===e.type&&"APPLE_PAY"===e.name),E=b?.supportedNetworks,S=o(async(o,r)=>{p.value=!0;try{if(d){if(!o||!o())return r?.log("skipped",{reason:"shop_pay_form_guard"}),!1;h()}r?.log("started");const n=await new Promise((a,o)=>{e({runListenersOnError:!0,negotiationStage:"completion",silenceViolations:wt({journey:t.value,negotiated:l.negotiated.value,fieldsToValidate:["deliveryNext"]}),...r&&{walletValidationAttemptId:r.attemptId},onComplete:a}).catch(o)});r?.log("result_received",{result:n});const i=v.value&&"error"===n.status&&n.violations.length>0&&n.violations.every(({code:e})=>Ba.has(e));return i&&(a.counter({name:"apple_pay_silenced_violations_requiring_new_token",value:1}),a.log("apple_pay_silenced_violations","PayWithApplePayButton: silenced violations",{violations:n.violations})),r?.log("decision",{acceptedByWallet:"success"===n.status||i}),"success"===n.status||i}catch(n){return r?.log("exception",{location:"validation",error:n}),c.value={type:"failed_to_create_session"},!1}finally{p.value=!1}},[v,p,d,t,e,a,c,l,h]),C=o(e=>{if(!g.value)return Promise.resolve(!0);a.counter({name:"apple_pay_shop_offer_reconciliation_wait",value:1});const t=Date.now();return function(e,t){return t.aborted?Promise.resolve(!1):e.value?new Promise(a=>{let o=!1,r=()=>{};const n=e=>{o||(o=!0,r(),t.removeEventListener("abort",i),clearTimeout(s),a(e))},i=()=>n(!1);t.addEventListener("abort",i,{once:!0});const s=setTimeout(i,5e3);r=e.subscribe(e=>{e||n(!0)}),o&&r(),t.aborted&&i()}):Promise.resolve(!0)}(g,e).then(e=>(a.histogram({name:"apple_pay_shop_offer_reconciliation_wait_duration",value:Date.now()-t,attributes:{reconciled:e}}),e))},[a,g]);return o(async({disabled:e=!1,isMountedRef:t,validateButtonPress:o})=>{const r=ft(a,"apple_pay","payment_method");if(r?.log("entered"),e)r?.log("skipped",{reason:"disabled"});else{m(X.Clicked,K.PaymentMethod);try{const e=y({asPaymentMethod:!0,supportedNetworks:E||[],waitForTotalsToSettle:C,isPaymentAuthorizationBlocked:()=>g.value}),a=await S(o,r),i=!t||t.current;if(!a)return void r?.log("open_skipped",{reason:"validation_failed"});if(n.activeSession.value||!i)return void r?.log("open_skipped",{reason:i?"active_wallet":"unmounted"});if(!e.session)return void r?.log("open_skipped",{reason:"session_unavailable"});P(e.session)}catch(i){r?.log("exception",{location:"session_or_opening",error:i}),a.leaveErrorBreadcrumb("Failed to create Apple Pay session",{error:i,shopPay:d}),c.value={type:"failed_to_create_session"},"APPLE_PAY"===n.activeSession.value?.wallet&&n.clearActiveSession({invokingWallet:"APPLE_PAY"})}}},[y,d,a,P,c,g,E,m,S,C,n])}()),r=_t(La()),n=_t(Oa());return l(()=>{if(t.sessionLoadFailed.value)return;const o={onClickHandler:(...e)=>a.current(...e),createSession:(...e)=>r.current(...e),showApplePayPaymentSheet:(...e)=>n.current(...e)};return e.value=o,()=>{e.value=void 0}},[e,a,r,n,t]),null}export{ka as ApplePaySessionLoader};

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.