| 1 |
"use strict";(globalThis.webpackChunkbooktics=globalThis.webpackChunkbooktics||[]).push([[1258,2439,2655,3680],{2439:(e,t,r)=>{r.r(t),r.d(t,{default:()=>d});var n=r(51609),o=r(22926),i=r(82655),s=r(27723);const{PrimaryOutlinedButton:a,Text:c,Space:l,Spin:u}=window?.booktics?.components||{},d=()=>{const{handleSubmit:e,errorMessage:t,disabled:r,loading:d}=(0,i.default)();return(0,n.createElement)("form",{onSubmit:e},(0,n.createElement)(u,{spinning:r},(0,n.createElement)(l,{size:10,direction:"vertical",className:"bkt-w-100"},(0,n.createElement)(o.PaymentElement,null),(0,n.createElement)(a,{htmlType:"submit",text:(0,s.__)("Pay","booktics"),disabled:r,loading:d,size:"middle"}),(0,n.createElement)(c,{type:"danger",text:t}))))}},23680:(e,t,r)=>{r.r(t),r.d(t,{default:()=>j});var n,o=r(51609),i=r(47143),s=r(22926),a="basil",c="https://js.stripe.com",l="".concat(c,"/").concat(a,"/stripe.js"),u=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/,d=/^https:\/\/js\.stripe\.com\/(v3|[a-z]+)\/stripe\.js(\?.*)?$/,p="loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used",m=function(e){return u.test(e)||d.test(e)},f=function(e){var t=e&&!e.advancedFraudSignals?"?advancedFraudSignals=false":"",r=document.createElement("script");r.src="".concat(l).concat(t);var n=document.head||document.body;if(!n)throw new Error("Expected document.body not to be null. Stripe.js requires a <body> element.");return n.appendChild(r),r},w=null,h=null,v=null,b=!1,S=function(){return n||(n=(e=null,null!==w?w:(w=new Promise(function(t,r){if("undefined"!=typeof window&&"undefined"!=typeof document)if(window.Stripe&&e&&console.warn(p),window.Stripe)t(window.Stripe);else try{var n=function(){for(var e=document.querySelectorAll('script[src^="'.concat(c,'"]')),t=0;t<e.length;t++){var r=e[t];if(m(r.src))return r}return null}();if(n&&e)console.warn(p);else if(n){if(n&&null!==v&&null!==h){var o;n.removeEventListener("load",v),n.removeEventListener("error",h),null===(o=n.parentNode)||void 0===o||o.removeChild(n),n=f(e)}}else n=f(e);v=function(e,t){return function(){window.Stripe?e(window.Stripe):t(new Error("Stripe.js not available"))}}(t,r),h=function(e){return function(t){e(new Error("Failed to load Stripe.js",{cause:t}))}}(r),n.addEventListener("load",v),n.addEventListener("error",h)}catch(e){return void r(e)}else t(null)})).catch(function(e){return w=null,Promise.reject(e)})).catch(function(e){return n=null,Promise.reject(e)}));var e};Promise.resolve().then(function(){return S()}).catch(function(e){b||console.warn(e)});var g=r(60532),y=r(2439),k=r(27723);const{wrapWithTheme:_,Alert:E}=window?.booktics?.components||{},j=_(()=>{const{bookingResponse:e,settings:t}=(0,i.useSelect)(e=>e(g.H).getFrontendState(),[]),{client_secret:r,payment_intent_id:n,total:c}=e||{};if(!r||!n)return(0,o.createElement)(E,{message:(0,k.__)("Something went wrong. Please try again later.","booktics"),type:"error"});const l=t?.stripe_publishable_key,u=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];b=!0;var n=Date.now();return S().then(function(e){return function(e,t,r){if(null===e)return null;var n=t[0].match(/^pk_test/),o=function(e){return 3===e?"v3":e}(e.version),i=a;n&&o!==i&&console.warn("Stripe.js@".concat(o," was loaded on the page, but @stripe/stripe-js@").concat("7.5.0"," expected Stripe.js@").concat(i,". This may result in unexpected behavior. For more information, see https://docs.stripe.com/sdks/stripejs-versioning"));var s=e.apply(void 0,t);return function(e,t){e&&e._registerWrapper&&e._registerWrapper({name:"stripe-js",version:"7.5.0",startTime:t})}(s,r),s}(e,t,n)})}(l),d={clientSecret:r};return(0,o.createElement)(s.Elements,{stripe:u,options:d},(0,o.createElement)(y.default,null))})},82655:(e,t,r)=>{r.r(t),r.d(t,{default:()=>c});var n=r(47143),o=r(86087),i=r(22926),s=r(11534),a=r(60532);const c=()=>{const{bookingResponse:e,frontendStepsOrder:t}=(0,n.useSelect)(e=>e(a.H).getFrontendState(),[]),r=(0,i.useStripe)(),c=(0,i.useElements)(),[l,u]=(0,o.useState)(null),[d,p]=(0,o.useState)(!1),{setFrontendState:m}=(0,n.useDispatch)(a.H),f=e?.id;return{handleSubmit:async n=>{try{if(n.preventDefault(),p(!0),null==c)return;const{error:o}=await c.submit();if(o)return void u(o.message);const i=await r.confirmPayment({elements:c,clientSecret:e?.client_secret,confirmParams:{return_url:window.location.href},redirect:"if_required"}),{error:a}=i||{};if(a)u(a?.message);else{const r=e?.order_key;if(f&&r){try{sessionStorage.setItem(`booktics_order_key_${f}`,r)}catch(e){}try{await s.A.orders.makePayment(f,{order_id:parseInt(f,10),payment_method:"stripe"},{order_key:r})}catch(e){console.error("Payment status update failed:",e)}}m({currentStep:t.length-1,invoiceId:f})}}catch(e){console.log(e)}finally{p(!1)}},errorMessage:l,disabled:!r||!c,loading:d}}},91258:(e,t,r)=>{r.r(t);var n=r(51609),o=r(23680);window.wp?.hooks.addFilter("booktics_stripe_payment","booktics",(e,t)=>(0,n.createElement)(o.default,{...t}),10)}}]); |