{"version":3,"file":"FormSubmitHandler.DMDPdEeB.mjs","names":["useRef"],"sources":["https:/framerusercontent.com/modules/iLmL6elWsI93tjNzob94/kY5I82cxOsGWluwhcIod/FormSubmitHandler.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{forwardRef,useEffect,useRef}from\"react\";const API_BASE_URL=\"https://webveda-be.onrender.com\";const IPAPI_URL=\"https://ipapi.co/json/?key=BCjmIMf1YZiYOTXSDzA0qZfdLRw7BXmTTJ7MWRAI3v578IUzpS\";const STRIPE_TEST_PUBLIC_KEY=\"pk_live_51NramAIh34G26BoL2MEuQMbFzUIHGYgn9SIBs7zJmkya79BMzuxJDle7NINc2BNJRtrDjTIGJrXfTDF0ph1qeCUF00bXyEZeNb\";let ipDataPromise=null;let razorpayScriptPromise=null;let stripeScriptPromise=null;let activeEmbeddedCheckout=null;let checkoutInProgress=false;const formSubmitBlockers=new WeakMap;const buttonLoadingStates=new WeakMap;function getQueryParam(param){if(typeof window===\"undefined\")return\"\";return new URL(window.location.href).searchParams.get(param)||\"\";}function getCookie(name){if(typeof document===\"undefined\")return\"\";const match=document.cookie.match(new RegExp(\"(^| )\"+name.replace(/([.$?*|{}()[\\]\\\\/+^])/g,\"\\\\$1\")+\"=([^;]+)\"));return match?decodeURIComponent(match[2]):\"\";}function getTrackingParams(){const fbc=getQueryParam(\"_fbc\")||getCookie(\"_fbc\");const fbp=getQueryParam(\"_fbp\")||getCookie(\"_fbp\");return{utmSource:getQueryParam(\"utm_source\"),utmMedium:getQueryParam(\"utm_medium\"),utmCampaign:getQueryParam(\"utm_campaign\"),utmContent:getQueryParam(\"utm_content\"),utmTerm:getQueryParam(\"utm_term\"),fbclid:getQueryParam(\"fbclid\"),_fbc:fbc,_fbp:fbp,fbc,fbp};}function blockReactEvent(e){e.preventDefault?.();e.stopPropagation?.();e.nativeEvent?.stopImmediatePropagation?.();}function blockNativeFormSubmit(form){if(!form)return()=>{};if(formSubmitBlockers.has(form))return()=>{};const blockSubmit=event=>{event.preventDefault();event.stopPropagation();event.stopImmediatePropagation();setTimeout(()=>{runNativeFormValidation(form);},0);return false;};form.addEventListener(\"submit\",blockSubmit,true);formSubmitBlockers.set(form,blockSubmit);return()=>{const savedBlocker=formSubmitBlockers.get(form);if(savedBlocker){form.removeEventListener(\"submit\",savedBlocker,true);formSubmitBlockers.delete(form);}};}function isFormElement(element){return element?.tagName?.toLowerCase?.()===\"form\";}function getSubscriptionForm(element){if(typeof document===\"undefined\")return null;return element?.closest?.(\"form\")||document.getElementById(\"detailsform\");}function findFormControl(form,names){const controls=Array.from(form.querySelectorAll(\"input, textarea, select\"));return controls.find(control=>names.includes(control.getAttribute(\"name\")||\"\"))||null;}function setNativeValidationError(control,message){if(!control)return;control.setCustomValidity(message);const clearError=()=>{control.setCustomValidity(\"\");control.removeEventListener(\"input\",clearError);control.removeEventListener(\"change\",clearError);};control.addEventListener(\"input\",clearError);control.addEventListener(\"change\",clearError);}function normalizePhoneInputForNativeValidation(form){if(!form)return;const phoneInput=findFormControl(form,[\"phone\",\"Phone\",\"mobile\"]);if(!phoneInput)return;phoneInput.setAttribute(\"type\",\"tel\");phoneInput.setAttribute(\"inputmode\",\"tel\");phoneInput.setAttribute(\"autocomplete\",\"tel\");phoneInput.removeAttribute(\"min\");phoneInput.removeAttribute(\"max\");phoneInput.removeAttribute(\"pattern\");phoneInput.setAttribute(\"maxlength\",\"20\");phoneInput.setAttribute(\"placeholder\",\"+91 9876543210\");}function clearCustomValidationErrors(form){const controls=Array.from(form.querySelectorAll(\"input, textarea, select\"));controls.forEach(control=>{control.setCustomValidity(\"\");});}function runNativeFormValidation(form){normalizePhoneInputForNativeValidation(form);clearCustomValidationErrors(form);const nameInput=findFormControl(form,[\"name\",\"Name\",\"fullName\"]);const emailInput=findFormControl(form,[\"email\",\"Email\"]);const phoneInput=findFormControl(form,[\"phone\",\"Phone\",\"mobile\"]);const name=nameInput?.value?.trim()||\"\";const email=emailInput?.value?.trim()||\"\";const phone=phoneInput?.value?.trim()||\"\";const emailRegex=/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;const phoneDigits=phone.replace(/\\D/g,\"\");if(nameInput&&!name){setNativeValidationError(nameInput,\"Please fill out this field.\");}if(emailInput&&!email){setNativeValidationError(emailInput,\"Please fill out this field.\");}else if(emailInput&&!emailRegex.test(email)){setNativeValidationError(emailInput,\"Please enter a valid email address.\");}if(phoneInput&&!phone){setNativeValidationError(phoneInput,\"Please fill out this field.\");}else if(phoneInput&&(phoneDigits.length<7||phoneDigits.length>15)){setNativeValidationError(phoneInput,\"Please enter a valid phone number.\");}return form.reportValidity();}function normalizePhoneNumber(phone){const rawPhone=(phone||\"\").toString().trim();if(!rawPhone)return\"\";const cleanedPhone=rawPhone.replace(/[^\\d+]/g,\"\");if(cleanedPhone.startsWith(\"+\"))return cleanedPhone;if(cleanedPhone.startsWith(\"00\"))return`+${cleanedPhone.slice(2)}`;return`+91${cleanedPhone}`;}async function getIpData(){if(typeof window===\"undefined\"){return{ok:false,data:null};}if(!ipDataPromise){ipDataPromise=fetch(IPAPI_URL).then(async res=>{if(!res.ok||res.status!==200){console.warn(`⚠️ IPAPI failed with status ${res.status}. Falling back to Razorpay.`);return{ok:false,status:res.status,data:null};}const data=await res.json();return{ok:true,status:res.status,data};}).catch(err=>{console.error(\"❌ Failed to fetch IP data:\",err);ipDataPromise=null;return{ok:false,data:null};});}return ipDataPromise;}function getCountryCode(ipLookup){const rawCountry=(ipLookup?.data?.country_code||ipLookup?.data?.country||\"\").toString().trim().toUpperCase();if(rawCountry===\"INDIA\"||rawCountry===\"IND\")return\"IN\";return rawCountry;}function shouldUseStripe(ipLookup){if(!ipLookup?.ok||!ipLookup?.data)return false;const countryCode=getCountryCode(ipLookup);if(!countryCode){console.warn(\"⚠️ IPAPI returned 200 but no country_code. Falling back to Razorpay.\");return false;}return countryCode!==\"IN\";}function getPayloadIpData(ipLookup){if(ipLookup?.ok&&ipLookup?.data)return ipLookup.data;return{country:\"IN\",country_code:\"IN\"};}function setCookie(name,value){document.cookie=`${name}=${encodeURIComponent(value)}; path=/; max-age=1800`;}function setLocationCookies(ip_data){if(ip_data?.city&&ip_data?.region&&ip_data?.country&&ip_data?.postal){setCookie(\"city\",ip_data.city);setCookie(\"region\",ip_data.region);setCookie(\"country\",ip_data.country);setCookie(\"postal\",ip_data.postal);}}function setInputValueSilently(input,value){const nativeInputValueSetter=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,\"value\")?.set;if(nativeInputValueSetter){nativeInputValueSetter.call(input,value);}else{input.value=value;}input.setAttribute(\"value\",value);}function setPhoneDefaultFromCallingCode(ip_data,form){const callingCode=ip_data?.country_calling_code;if(!callingCode)return;normalizePhoneInputForNativeValidation(form);const phoneField=(form||document).querySelector('[name=\"Phone\"], [name=\"phone\"], [name=\"mobile\"]');if(!phoneField)return;const currentValue=phoneField.value?.trim();if(!currentValue){setInputValueSilently(phoneField,callingCode);}}async function hydrateLocationData(form){const ipLookup=await getIpData();if(ipLookup.ok&&ipLookup.data){setLocationCookies(ipLookup.data);setPhoneDefaultFromCallingCode(ipLookup.data,form);}return ipLookup;}function getAmountInRupees(data,fallbackAmountInPaise){const amountInPaise=Number(data?.amount??data?.transactionAmount??data?.subscriptionAmount??fallbackAmountInPaise??0);if(!amountInPaise||Number.isNaN(amountInPaise))return\"\";return String(Math.floor(amountInPaise/100));}function buildFinalThankYouUrl({paymentId,amount,course,name,phone,email}){const params=new URLSearchParams({paymentId,currency:\"INR\",amount,course,name,phone_number:phone,email});return`/final-thankyou?${params.toString()}`;}function loadScript(src){return new Promise((resolve,reject)=>{const existingScript=document.querySelector(`script[src=\"${src}\"]`);if(existingScript){if(existingScript.dataset.loaded===\"true\"){resolve();return;}existingScript.addEventListener(\"load\",()=>resolve(),{once:true});existingScript.addEventListener(\"error\",()=>reject(new Error(`Failed to load script: ${src}`)),{once:true});return;}const script=document.createElement(\"script\");script.src=src;script.async=true;script.onload=()=>{script.dataset.loaded=\"true\";resolve();};script.onerror=()=>{reject(new Error(`Failed to load script: ${src}`));};document.body.appendChild(script);});}async function loadRazorpayCheckout(){if(typeof window===\"undefined\")return;if(window.Razorpay)return;if(!razorpayScriptPromise){razorpayScriptPromise=loadScript(\"https://checkout.razorpay.com/v1/checkout.js\");}await razorpayScriptPromise;if(!window.Razorpay){throw new Error(\"Razorpay checkout script loaded but Razorpay is unavailable\");}}async function loadStripeJs(){if(typeof window===\"undefined\")return;if(window.Stripe)return;if(!stripeScriptPromise){stripeScriptPromise=loadScript(\"https://js.stripe.com/v3/\");}await stripeScriptPromise;if(!window.Stripe){throw new Error(\"Stripe script loaded but Stripe is unavailable\");}}async function postJson(url,payload){const res=await fetch(url,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify(payload)});const data=await res.json().catch(()=>null);if(!res.ok){const message=data?.error||data?.errors?.[0]?.message||`Request failed with status ${res.status}`;throw new Error(message);}return data;}function cleanupStripeEmbeddedCheckout(){try{if(activeEmbeddedCheckout?.destroy){activeEmbeddedCheckout.destroy();}}catch(err){console.warn(\"⚠️ Could not destroy Stripe checkout cleanly:\",err);}activeEmbeddedCheckout=null;const checkoutElement=document.getElementById(\"checkout\");const closeButton=document.getElementById(\"closestripe\");if(checkoutElement)checkoutElement.remove();if(closeButton)closeButton.remove();document.body.style.overflow=\"\";}async function openStripeEmbeddedCheckout({stripeData,onClose}){const clientSecret=stripeData?.clientSecret;if(!clientSecret){throw new Error(\"Invalid Stripe session response: clientSecret missing\");}await loadStripeJs();cleanupStripeEmbeddedCheckout();const checkoutElement=document.createElement(\"div\");checkoutElement.id=\"checkout\";checkoutElement.style.display=\"flex\";checkoutElement.style.alignItems=\"center\";checkoutElement.style.justifyContent=\"center\";checkoutElement.style.position=\"fixed\";checkoutElement.style.top=\"0\";checkoutElement.style.left=\"0\";checkoutElement.style.width=\"100vw\";checkoutElement.style.height=\"100vh\";checkoutElement.style.backgroundColor=\"rgba(0, 0, 0, 0.8)\";checkoutElement.style.zIndex=\"9999\";checkoutElement.style.overflow=\"auto\";checkoutElement.style.padding=\"0\";checkoutElement.style.margin=\"0\";checkoutElement.style.boxSizing=\"border-box\";const checkoutMount=document.createElement(\"div\");checkoutMount.id=\"stripe-embedded-checkout-mount\";checkoutMount.style.width=\"100%\";checkoutMount.style.height=\"100%\";checkoutMount.style.position=\"relative\";checkoutMount.style.padding=\"0\";checkoutMount.style.margin=\"0\";checkoutMount.style.boxSizing=\"border-box\";checkoutElement.appendChild(checkoutMount);const closeButton=document.createElement(\"button\");closeButton.id=\"closestripe\";closeButton.type=\"button\";closeButton.innerHTML=\"✕\";closeButton.style.display=\"flex\";closeButton.style.position=\"fixed\";closeButton.style.top=\"20px\";closeButton.style.right=\"20px\";closeButton.style.zIndex=\"10000\";closeButton.style.width=\"40px\";closeButton.style.height=\"40px\";closeButton.style.backgroundColor=\"#fff\";closeButton.style.border=\"none\";closeButton.style.borderRadius=\"50%\";closeButton.style.cursor=\"pointer\";closeButton.style.fontSize=\"24px\";closeButton.style.fontWeight=\"bold\";closeButton.style.color=\"#333\";closeButton.style.boxShadow=\"0 2px 10px rgba(0,0,0,0.3)\";closeButton.style.alignItems=\"center\";closeButton.style.justifyContent=\"center\";closeButton.style.transition=\"transform 0.2s, background-color 0.2s\";closeButton.addEventListener(\"mouseenter\",()=>{closeButton.style.backgroundColor=\"#f0f0f0\";closeButton.style.transform=\"scale(1.1)\";});closeButton.addEventListener(\"mouseleave\",()=>{closeButton.style.backgroundColor=\"#fff\";closeButton.style.transform=\"scale(1)\";});closeButton.addEventListener(\"click\",()=>{cleanupStripeEmbeddedCheckout();onClose?.();});document.body.appendChild(checkoutElement);document.body.appendChild(closeButton);document.body.style.overflow=\"hidden\";const stripe=window.Stripe(STRIPE_TEST_PUBLIC_KEY);if(!stripe){cleanupStripeEmbeddedCheckout();throw new Error(\"Stripe could not be initialized\");}activeEmbeddedCheckout=await stripe.initEmbeddedCheckout({fetchClientSecret:()=>Promise.resolve(clientSecret)});activeEmbeddedCheckout.mount(\"#stripe-embedded-checkout-mount\");const styleStripeIframe=()=>{const stripeIframe=checkoutElement.querySelector(\"iframe\");if(stripeIframe){stripeIframe.style.width=\"100%\";stripeIframe.style.height=\"100%\";stripeIframe.style.border=\"none\";stripeIframe.style.position=\"absolute\";stripeIframe.style.top=\"0\";stripeIframe.style.left=\"0\";stripeIframe.style.right=\"0\";stripeIframe.style.bottom=\"0\";}else{setTimeout(styleStripeIframe,100);}};styleStripeIframe();}function getFieldValue(values,keys){for(const key of keys){if(values[key])return values[key];}return\"\";}function collectFormValues(form){const formData=new FormData(form);const values={};formData.forEach((value,key)=>{if(values[key]){values[key]=[].concat(values[key],value);}else{values[key]=value;}});console.log(\"Form entries:\",[...formData.entries()]);console.log(\"Values:\",values);return values;}function validateBaseFields({name,email,phone}){if(!name||!email||!phone){throw new Error(\"Missing required fields: name, email, phone\");}const emailRegex=/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;if(!emailRegex.test(email)){throw new Error(\"Invalid email\");}const phoneDigits=phone.toString().replace(/\\D/g,\"\");if(phoneDigits.length<7||phoneDigits.length>15){throw new Error(\"Invalid phone number\");}}function disableButton(button,label=\"Processing...\"){if(!button||typeof window===\"undefined\")return;const element=button;if(buttonLoadingStates.has(element))return;const computedStyle=window.getComputedStyle(element);const state={disabled:\"disabled\"in button?Boolean(button.disabled):undefined,opacity:element.style.opacity||\"\",pointerEvents:element.style.pointerEvents||\"\",cursor:element.style.cursor||\"\",position:element.style.position||\"\",ariaDisabled:element.getAttribute(\"aria-disabled\")};const overlay=document.createElement(\"span\");overlay.setAttribute(\"data-payment-loading-overlay\",\"true\");overlay.innerText=label;overlay.style.position=\"absolute\";overlay.style.inset=\"0\";overlay.style.display=\"flex\";overlay.style.alignItems=\"center\";overlay.style.justifyContent=\"center\";overlay.style.zIndex=\"10\";overlay.style.pointerEvents=\"none\";overlay.style.font=\"inherit\";overlay.style.fontWeight=\"inherit\";overlay.style.color=computedStyle.color;overlay.style.background=computedStyle.backgroundColor||\"rgba(0,0,0,0.08)\";overlay.style.borderRadius=computedStyle.borderRadius||\"inherit\";buttonLoadingStates.set(element,{...state,overlay});if(computedStyle.position===\"static\"){element.style.position=\"relative\";}element.style.pointerEvents=\"none\";element.style.opacity=\"0.7\";element.style.cursor=\"not-allowed\";element.setAttribute(\"aria-disabled\",\"true\");element.setAttribute(\"data-payment-processing\",\"true\");if(\"disabled\"in button){button.disabled=true;}element.appendChild(overlay);}function enableButton(button){if(!button)return;const element=button;const state=buttonLoadingStates.get(element);if(!state){element.style.pointerEvents=\"\";element.style.opacity=\"1\";element.style.cursor=\"\";element.removeAttribute(\"data-payment-processing\");element.removeAttribute(\"aria-disabled\");if(\"disabled\"in button){button.disabled=false;}return;}if(state.overlay?.parentNode){state.overlay.parentNode.removeChild(state.overlay);}element.style.opacity=state.opacity;element.style.pointerEvents=state.pointerEvents;element.style.cursor=state.cursor;element.style.position=state.position;element.removeAttribute(\"data-payment-processing\");if(state.ariaDisabled===null){element.removeAttribute(\"aria-disabled\");}else{element.setAttribute(\"aria-disabled\",state.ariaDisabled);}if(\"disabled\"in button){button.disabled=Boolean(state.disabled);}buttonLoadingStates.delete(element);}function acquireCheckoutLock(button){if(checkoutInProgress){console.warn(\"⚠️ Checkout already in progress. Duplicate click blocked.\");return false;}checkoutInProgress=true;disableButton(button);return true;}function releaseCheckoutLock(button){checkoutInProgress=false;enableButton(button);}export function withFormSubscription(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const localRef=useRef(null);const isProcessingRef=useRef(false);useEffect(()=>{const form=getSubscriptionForm(localRef.current);const cleanupSubmitBlocker=blockNativeFormSubmit(form);normalizePhoneInputForNativeValidation(form);hydrateLocationData(form);return()=>{cleanupSubmitBlocker();cleanupStripeEmbeddedCheckout();};},[]);const handleClick=async e=>{blockReactEvent(e);const submitBtn=e.currentTarget;if(isFormElement(submitBtn)){console.warn(\"⚠️ Payment override should be applied to the submit/payment button, not the form wrapper.\");return;}if(isProcessingRef.current||checkoutInProgress){console.warn(\"⚠️ Duplicate checkout click blocked.\");return;}const form=getSubscriptionForm(submitBtn);if(!form){console.error(\"❌ No form found. Could not find closest form or #detailsform\");return;}blockNativeFormSubmit(form);if(!runNativeFormValidation(form)){isProcessingRef.current=false;return;}if(!acquireCheckoutLock(submitBtn))return;isProcessingRef.current=true;try{const ipLookup=await hydrateLocationData(form);const ip_data=getPayloadIpData(ipLookup);const useStripe=shouldUseStripe(ipLookup);const trackingParams=getTrackingParams();const values=collectFormValues(form);const name=getFieldValue(values,[\"name\",\"Name\",\"fullName\"]);const email=getFieldValue(values,[\"email\",\"Email\"]);const rawPhone=getFieldValue(values,[\"phone\",\"Phone\",\"mobile\"]);const phone=normalizePhoneNumber(rawPhone);const affiliate=getQueryParam(\"affiliate\");validateBaseFields({name,email,phone});const basePayload={name,email,phone,...trackingParams,coupon:getFieldValue(values,[\"coupon\",\"Coupon\"])||\"\",ip_data,...affiliate?{affiliate}:{}};if(useStripe){console.log(\"🌍 Non-IN user detected. Opening embedded Stripe checkout.\",{countryCode:getCountryCode(ipLookup),trackingParams});const stripeData=await postJson(`${API_BASE_URL}/v2/stripe/create-subscription-session`,basePayload);await openStripeEmbeddedCheckout({stripeData,onClose:()=>{isProcessingRef.current=false;releaseCheckoutLock(submitBtn);}});return;}console.log(\"🇮🇳 IN user or IPAPI fallback. Opening Razorpay checkout.\",trackingParams);const payload={...basePayload,customer_notify:true,eventId:\"\",ipAddress:\"\",userAgent:navigator.userAgent};const data=await postJson(`${API_BASE_URL}/v2/razorpay/generate-subscription`,payload);console.log(\"API response:\",data);if(!data?.subscriptionId||!data?.keyId){throw new Error(\"Invalid Razorpay subscription response\");}await loadRazorpayCheckout();const options={key:data.keyId,currency:\"INR\",name:\"Zaan WebVeda Pvt. Ltd.\",description:\"TagMango Subscription (₹1999)\",subscription_id:data.subscriptionId,prefill:{name,email,contact:phone},handler:function(response){console.log(\"✅ Payment success:\",response);const paymentId=response.razorpay_payment_id||response.razorpay_subscription_id||data.subscriptionId;const amount=getAmountInRupees(data,199900);window.location.href=buildFinalThankYouUrl({paymentId,amount,course:\"Webveda_Subscription\",name,phone,email});},modal:{ondismiss:()=>{console.log(\"❌ Payment cancelled\");isProcessingRef.current=false;releaseCheckoutLock(submitBtn);}},theme:{color:\"#3399cc\"}};const rzp=new window.Razorpay(options);rzp.open();}catch(err){console.error(\"❌ Error:\",err);isProcessingRef.current=false;releaseCheckoutLock(submitBtn);}};return /*#__PURE__*/_jsx(Component,{ref:node=>{localRef.current=node;if(typeof ref===\"function\"){ref(node);}else if(ref){ref.current=node;}},...props,type:\"button\",onClick:handleClick});});}export function withSingleOrderPayment(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const localRef=useRef(null);const isProcessingRef=useRef(false);useEffect(()=>{const form=localRef.current?.closest?.(\"form\")||null;const cleanupSubmitBlocker=blockNativeFormSubmit(form);normalizePhoneInputForNativeValidation(form);hydrateLocationData(form);return()=>{cleanupSubmitBlocker();cleanupStripeEmbeddedCheckout();};},[]);const handleClick=async e=>{blockReactEvent(e);const submitBtn=e.currentTarget;if(isFormElement(submitBtn)){console.warn(\"⚠️ Payment override should be applied to the submit/payment button, not the form wrapper.\");return;}if(isProcessingRef.current||checkoutInProgress){console.warn(\"⚠️ Duplicate checkout click blocked.\");return;}const form=submitBtn.closest(\"form\");if(!form){console.error(\"❌ No form found\");return;}blockNativeFormSubmit(form);if(!runNativeFormValidation(form)){isProcessingRef.current=false;return;}if(!acquireCheckoutLock(submitBtn))return;isProcessingRef.current=true;try{const ipLookup=await hydrateLocationData(form);const ip_data=getPayloadIpData(ipLookup);const useStripe=shouldUseStripe(ipLookup);const trackingParams=getTrackingParams();const values=collectFormValues(form);const name=getFieldValue(values,[\"name\",\"Name\",\"fullName\"]);const email=getFieldValue(values,[\"email\",\"Email\"]);const rawPhone=getFieldValue(values,[\"phone\",\"Phone\",\"mobile\"]);const phone=normalizePhoneNumber(rawPhone);const courseParam=getQueryParam(\"course\");const rawCourseCode=getFieldValue(values,[\"courseCode\",\"course\",\"Course\"])||courseParam;const courseCode=rawCourseCode?rawCourseCode.toString().replace(/_/g,\"-\"):\"\";validateBaseFields({name,email,phone});if(!courseCode){throw new Error(\"Missing required field: courseCode\");}const basePayload={name,email,phone,courseCode,...trackingParams,coupon:getFieldValue(values,[\"coupon\",\"Coupon\"])||\"\",ip_data};if(useStripe){console.log(\"🌍 Non-IN user detected. Opening embedded Stripe checkout.\",{countryCode:getCountryCode(ipLookup),trackingParams});const stripeData=await postJson(`${API_BASE_URL}/v2/stripe/create-one-time-session`,basePayload);await openStripeEmbeddedCheckout({stripeData,onClose:()=>{isProcessingRef.current=false;releaseCheckoutLock(submitBtn);}});return;}console.log(\"🇮🇳 IN user or IPAPI fallback. Opening Razorpay checkout.\",trackingParams);const payload={...basePayload,eventId:\"\",ipAddress:\"\",userAgent:navigator.userAgent};const data=await postJson(`${API_BASE_URL}/v2/razorpay/create-order`,payload);console.log(\"Order response:\",data);if(!data?.orderId||!data?.keyId){throw new Error(\"Invalid Razorpay order response\");}await loadRazorpayCheckout();const options={key:data.keyId,amount:data.amount,currency:\"INR\",name:\"Zaan WebVeda Pvt. Ltd.\",description:\"Course Purchase\",order_id:data.orderId,prefill:{name,email,contact:phone},handler:function(response){console.log(\"✅ Payment success:\",response);const paymentId=response.razorpay_payment_id||response.razorpay_order_id||data.orderId;const amount=getAmountInRupees(data);window.location.href=buildFinalThankYouUrl({paymentId,amount,course:courseParam||courseCode,name,phone,email});},modal:{ondismiss:()=>{console.log(\"❌ Payment cancelled\");isProcessingRef.current=false;releaseCheckoutLock(submitBtn);}},theme:{color:\"#3399cc\"}};const rzp=new window.Razorpay(options);rzp.open();}catch(err){console.error(\"❌ Error:\",err);isProcessingRef.current=false;releaseCheckoutLock(submitBtn);}};return /*#__PURE__*/_jsx(Component,{ref:node=>{localRef.current=node;if(typeof ref===\"function\"){ref(node);}else if(ref){ref.current=node;}},...props,type:\"button\",onClick:handleClick});});}\nexport const __FramerMetadata__ = {\"exports\":{\"withFormSubscription\":{\"type\":\"reactHoc\",\"name\":\"withFormSubscription\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withSingleOrderPayment\":{\"type\":\"reactHoc\",\"name\":\"withSingleOrderPayment\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FormSubmitHandler.map"],"mappings":"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"}