uawdijnntqw1x1x1
IP : 216.73.216.109
Hostname : premium160.web-hosting.com
Kernel : Linux premium160.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
home
/
batcwwjx
/
www
/
wp-content
/
plugins
/
charitable
/
assets
/
.
/
js
/
square
/
charitable-square.min.js
/
/
CHARITABLE=window.CHARITABLE||{};(function($){var $body=$("body");const clientId=CHARITABLE_SQUARE_VARS.client_id;const locationId=CHARITABLE_SQUARE_VARS.location_id;const loadingSVG=`\x3c!-- By Sam Herbert (@sherb), for everyone. More @ http://goo.gl/7AJzbL --\x3e\n <svg width="40" height="10" viewBox="0 0 120 30" xmlns="http://www.w3.org/2000/svg" fill="#f89d35">\n <circle cx="15" cy="15" r="15">\n <animate attributeName="r" from="15" to="15"\n begin="0s" dur="0.8s"\n values="15;9;15" calcMode="linear"\n repeatCount="indefinite" />\n <animate attributeName="fill-opacity" from="1" to="1"\n begin="0s" dur="0.8s"\n values="1;.5;1" calcMode="linear"\n repeatCount="indefinite" />\n </circle>\n <circle cx="60" cy="15" r="9" fill-opacity="0.3">\n <animate attributeName="r" from="9" to="9"\n begin="0s" dur="0.8s"\n values="9;15;9" calcMode="linear"\n repeatCount="indefinite" />\n <animate attributeName="fill-opacity" from="0.5" to="0.5"\n begin="0s" dur="0.8s"\n values=".5;1;.5" calcMode="linear"\n repeatCount="indefinite" />\n </circle>\n <circle cx="105" cy="15" r="15">\n <animate attributeName="r" from="15" to="15"\n begin="0s" dur="0.8s"\n values="15;9;15" calcMode="linear"\n repeatCount="indefinite" />\n <animate attributeName="fill-opacity" from="1" to="1"\n begin="0s" dur="0.8s"\n values="1;.5;1" calcMode="linear"\n repeatCount="indefinite" />\n </circle>\n </svg>\n `;$("#square-card-container").html(loadingSVG);function isSafari(){const userAgent=navigator.userAgent;return/Safari/.test(userAgent)&&!/Chrome/.test(userAgent)}var google_pay_enabled=false,apple_pay_enabled=false,google_pay_button=$("#google-pay-button"),apple_pay_button=$("#apple-pay-button"),show_google_pay_button=google_pay_enabled&&google_pay_button.length>0,show_apple_pay_button=apple_pay_enabled&&apple_pay_button.length>0;const wallets={};let isRecurring=false;let amountBeingInitialized=1;async function initializeCard(payments){const card=await payments.card();$("#square-card-container").html("");await card.attach("#square-card-container");return card}function showWalletProcessing(helper){$("#charitable-gateway-fields").addClass("square-wallet-processing");helper.show_processing()}function cancelWalletProcessing(helper){helper.cancel_processing();$("#charitable-gateway-fields").removeClass("square-wallet-processing")}function setRecurringSupportClass(helper){var squareGatewayFields=$('[id^="charitable-gateway-fields-square"]');if(helper.is_recurring_donation()){squareGatewayFields.addClass("needs-recurring-support")}else{squareGatewayFields.removeClass("needs-recurring-support")}}async function handleWalletPayEvent(event){event.preventDefault();const helper=event.currentTarget.helper;const type=event.currentTarget.type;showWalletProcessing(helper);helper.clear_errors();helper.validate_amount();helper.validate_required_fields();if(helper.is_recurring_donation()){helper.add_error(CHARITABLE_SQUARE_VARS.wallet_not_supported)}if(helper.errors.length>0){cancelWalletProcessing(helper);return false}try{const result=await wallets[type].tokenize();if(result.status==="OK"){helper.get_input("square_token").val(result.token);helper.remove_pending_process_by_name("square");$body.trigger("charitable:form:process",helper)}}catch(e){helper.add_error(e.message);helper.remove_pending_process_by_name("square");cancelWalletProcessing(helper)}}async function initializeWallets(payments,helper){if(helper.is_recurring_donation()){return}try{const amount=helper.get_amount()?helper.get_amount().toString():"1.00";amountBeingInitialized=amount;const paymentRequest=payments.paymentRequest({countryCode:CHARITABLE_VARS.country,currencyCode:CHARITABLE_VARS.currency,total:{amount:amount,label:"Total"}});const walletTypes=[];if(show_google_pay_button){walletTypes.push("googlePay")}if(show_apple_pay_button){walletTypes.push("applePay")}if(walletTypes.length===0){return}const promises=[];for(let walletType of walletTypes){promises.push(initializeWallet(walletType,paymentRequest,payments,helper))}await Promise.all(promises).catch((e=>{if(e.name==="PaymentMethodUnsupportedError"){console.log(e.message)}else{console.error(e.message)}}));$("#charitable-square-wallet-buttons").show()}catch(e){console.error("Error initializing wallets:",e)}}async function initializeWallet(walletType,paymentRequest,payments,helper){try{if(!wallets[walletType]||walletType==="applePay"&&wallets[walletType]._paymentRequest?.total?.amount!==paymentRequest.total.amount){if(wallets[walletType]){await wallets[walletType].destroy()}wallets[walletType]=await payments[walletType](paymentRequest)}const id=walletType.split("P")[0]+"-pay-button";if(walletType==="applePay"){const applePay=wallets[walletType];if(!applePay){throw new Error("Apple Pay is not available")}let buttonElement=document.getElementById(id);if(!buttonElement){buttonElement=document.createElement("button");buttonElement.id=id;buttonElement.className="apple-pay-button";document.getElementById("charitable-square-wallet-buttons").appendChild(buttonElement)}buttonElement.style.cssText=`\n -apple-pay-button-style: black;\n -apple-pay-button-type: plain;\n appearance: -apple-pay-button;\n display: inline-block;\n width: 200px;\n height: 40px;\n border-radius: 5px;\n padding: 0;\n margin: 10px auto;\n background: #000;\n cursor: pointer;\n `;buttonElement.replaceWith(buttonElement.cloneNode(true));buttonElement=document.getElementById(id);buttonElement.addEventListener("click",(async event=>{event.preventDefault();try{if(!applePay||applePay._destroyed){throw new Error("Apple Pay session has expired. Please try again.")}const result=await applePay.tokenize();if(result.status==="OK"){helper.get_input("square_token").val(result.token);helper.remove_pending_process_by_name("square");$body.trigger("charitable:form:process",helper)}}catch(error){console.error("Apple Pay tokenization error:",error);helper.add_error(error.message);await initializeWallet(walletType,paymentRequest,payments,helper)}}));buttonElement.helper=helper;buttonElement.type=walletType;buttonElement.style.display="block"}else{const buttonElement=document.getElementById(id);if(buttonElement){if(!buttonElement.hasAttribute("data-wallet-attached")){try{await wallets[walletType].attach("#"+id);buttonElement.setAttribute("data-wallet-attached","true");buttonElement.replaceWith(buttonElement.cloneNode(true));const newButtonElement=document.getElementById(id);newButtonElement.addEventListener("click",handleWalletPayEvent);newButtonElement.helper=helper;newButtonElement.type=walletType;newButtonElement.style.display="block"}catch(error){console.error(`Error attaching ${walletType}:`,error);await wallets[walletType].destroy();wallets[walletType]=await payments[walletType](paymentRequest);await wallets[walletType].attach("#"+id);buttonElement.setAttribute("data-wallet-attached","true")}}}}$("#charitable-square-wallet-buttons").addClass("wallet-enabled").show();$("#charitable-square-card-payment-fields").addClass("wallet-enabled")}catch(e){console.error(`Error initializing ${walletType}:`,e);console.error("Wallet object:",wallets[walletType]);console.error("PaymentRequest:",paymentRequest);console.error("Payments object:",payments);const id=walletType.split("P")[0]+"-pay-button";const buttonElement=document.getElementById(id);if(buttonElement){buttonElement.style.display="none"}}}async function tokenize(paymentMethod){const tokenResult=await paymentMethod.tokenize();if(tokenResult.status==="OK"){return tokenResult.token}else{let errorMessage="Unable to validate card.Please check your details.";if(tokenResult.errors){errors=tokenResult.errors.map((function(item){return item.message}));errorMessage=errors.join(". ")}throw new Error(errorMessage)}}$body.on("charitable:form:initialize",(async function(event,helper){if(!window.Square){throw new Error("Square.js failed to load properly")}let payments;try{payments=window.Square.payments(clientId,locationId)}catch(e){const statusContainer=document.getElementById("square-payment-status-container");document.getElementById("square-card-container").innerHTML="";statusContainer.className="charitable-notice";statusContainer.style.visibility="visible";statusContainer.innerHTML="Square: "+e.message;return}let card;try{card=await initializeCard(payments);await initializeWallets(payments,helper)}catch(e){console.error("Initializing Card failed",e);return}async function handlePaymentMethodSubmission(event,paymentMethod,helper){event.preventDefault();if("make_donation"!==helper.get_input("charitable_action").val()){return}if(!helper.get_payment_method().startsWith("square")){return}if(helper.errors.length>0){helper.cancel_processing();return}helper.add_pending_process("square");try{const token=await tokenize(paymentMethod);helper.get_input("square_token").val(token);const verificationToken=await verifyBuyer(payments,token,helper);helper.get_input("square_verification_token").val(verificationToken);helper.remove_pending_process_by_name("square")}catch(e){helper.add_error(e.message);helper.remove_pending_process_by_name("square")}}function getBillingContactFromForm(){const billingContact={};const addressLines=[];if(helper.get_input("address").val()){addressLines.push(helper.get_input("address").val())}if(helper.get_input("address_2").val()){addressLines.push(helper.get_input("address_2").val())}const fields={givenName:helper.get_input("first_name").val(),familyName:helper.get_input("last_name").val(),emailAddress:helper.get_input("email").val(),addressLines:addressLines,phone:helper.get_input("phone").val(),country:helper.get_input("country").val(),city:helper.get_input("city").val(),postalCode:helper.get_input("postcode").val(),region:helper.get_input("state").val()};for(let key in fields){if(fields[key]&&fields[key].length){billingContact[key]=fields[key]}}return billingContact}async function verifyBuyer(payments,token,helper){const intent=helper.is_recurring_donation()?"STORE":"CHARGE";const verificationDetails={amount:helper.get_amount().toString(),billingContact:getBillingContactFromForm(),currencyCode:CHARITABLE_VARS.currency,intent:intent};const verificationResults=await payments.verifyBuyer(token,verificationDetails);return verificationResults.token}$body.on("charitable:form:validate",(async function(event,helper){await handlePaymentMethodSubmission(event,card,helper)}));$body.on("charitable:form:amount:changed",(async function(event,helper){const amount=helper.get_amount().toString();if(amount!==amountBeingInitialized){amountBeingInitialized=amount;try{const paymentRequest=payments.paymentRequest({countryCode:CHARITABLE_VARS.country,currencyCode:CHARITABLE_VARS.currency,total:{amount:amount,label:"Total"}});const walletTypes=[];if(show_google_pay_button){walletTypes.push("googlePay")}if(show_apple_pay_button){walletTypes.push("applePay")}const promises=[];for(let walletType of walletTypes){promises.push(initializeWallet(walletType,paymentRequest,payments,helper))}await Promise.all(promises)}catch(e){console.error("Error updating wallet amount:",e)}}}));setRecurringSupportClass(helper);$("#charitable-donation-form").on("change","input[name=recurring_donation]",(async()=>{setRecurringSupportClass(helper);await initializeWallets(payments,helper)}))}));function triggerSquareResize(){const $squareGateway=$('input[name="gateway"][value="square"], input[name="gateway"][value="square_core"]');const $squareFields=$("#charitable-gateway-fields-square, #charitable-gateway-fields-square_core");if($squareGateway.is(":checked")||$squareFields.is(":visible")){setTimeout((function(){window.dispatchEvent(new Event("resize"))}),150)}}$body.on("charitable:modal:open",(function(){triggerSquareResize()}));$body.on("charitable:form:loaded",(function(event,helper){triggerSquareResize()}));$body.on("charitable:modal:resize",(function(){triggerSquareResize()}))})(jQuery);
/home/batcwwjx/www/wp-content/plugins/charitable/assets/./js/square/charitable-square.min.js