1(s=>{class e{constructor(){this.isProcessing=!1,this.initialize(),this.bindEvents()}initialize(){"undefined"==typeof paypal?this.showError("PayPal SDK not loaded"):(this.mountButtons(),s("body").on("fkwcppcp_express_init",this.mountButtons.bind(this)))}bindEvents(){s(document.body).on("updated_checkout updated_cart_totals wc_fragments_refreshed wc_fragments_loaded",(e,r)=>{r&&r.fragments&&Object.prototype.hasOwnProperty.call(r.fragments,"cart_total")&&s(".fkwcppcp-express-button-container").attr("data-amount",r.fragments.cart_total),this.mountButtons()}),s(document.body).on("found_variation",()=>s(".variations_form .fkwcppcp-express-button-container").removeClass("fkwcppcp-button-disabled")),s(document.body).on("reset_data",()=>s(".variations_form .fkwcppcp-express-button-container").addClass("fkwcppcp-button-disabled"))}mountButtons(){document.querySelectorAll(".fkwcppcp-express-button").forEach(e=>{e.innerHTML="";let r=e.closest(".fkwcppcp-express-button-container").dataset.context,a=e.closest(".fkwcppcp-express-button-container").dataset.amount;paypal.Buttons({fundingSource:"paypal",vault:!0,style:this.getButtonStyle(),createOrder:()=>this.createOrder(r,a),onApprove:e=>this.onApprove(e),onCancel:()=>this.onCancel(),onError:e=>this.onError(e)}).render(e).then(()=>{fkwcppcp_express_params.is_product&&s("form.cart").hasClass("variations_form")&&!s("form.cart").find('[name="variation_id"]').val()&&s(".fkwcppcp-express-button-container").addClass("fkwcppcp-button-disabled")}).catch(()=>{})})}getButtonStyle(){var e=fkwcppcp_express_params.button_settings||{},r={color:e.color||"gold",shape:e.shape||"rect",label:e.label||"checkout"};return e.height&&(r.height=Math.max(25,Math.min(55,parseInt(e.height)))),r}createOrder(e,r){return this.isProcessing?Promise.reject(new Error("Order creation in progress")):(this.isProcessing=!0,this.showLoader(),this.clearErrors(),fkwcppcp_express_params.is_product&&"slide_cart"!==e?this.addToCart().then(()=>this.createPayPalOrder(e,r)).catch(e=>{throw this.hideLoader(),this.isProcessing=!1,e}):this.createPayPalOrder(e,r))}addToCart(){var e,r,a=s("form.cart");return a.length?((e=new FormData(a[0])).has("add-to-cart")||((r=a.find('button[name="add-to-cart"]')).length?(r=r.attr("value")||r.val())&&e.append("add-to-cart",r):(r=a.find("button.single_add_to_cart_button")).length&&(r=r.attr("value")||r.val())&&e.append("add-to-cart",r)),e.has("add-to-cart")||(r=a.find('input[name="add-to-cart"]')).length&&e.append("add-to-cart",r.val()),e.append("security",fkwcppcp_express_params.security),s.ajax({url:fkwcppcp_express_params.ajax_url.replace("%%endpoint%%","fkwcppcp_add_to_cart"),method:"POST",data:e,processData:!1,contentType:!1}).then(e=>{if(!e.success)throw new Error(e.data?.message||"Failed to add product to cart")})):Promise.reject(new Error("Product form not found"))}createPayPalOrder(e,a){return new Promise((r,t)=>{s.ajax({url:fkwcppcp_express_params.ajax_url.replace("%%endpoint%%","fkwcppcp_express_create_order"),method:"POST",data:{security:fkwcppcp_express_params.security,context:e,amount:a}}).done(e=>{e.success&&e.data&&e.data.order_id?r(e.data.order_id):e.data&&e.data.redirect?window.location.href=e.data.redirect:t(new Error(e.data?e.data.message:"Order creation failed"))}).fail((e,r,a)=>{t(new Error(a||"Order creation failed"))}).always(()=>{this.isProcessing=!1,this.hideLoader()})})}onApprove(r){if(this.showLoader(),this.clearErrors(),!0===fkwcppcp_express_params.require_final_confirmation&&!this.isCheckoutPage())sessionStorage.setItem("fkwcppcp_paypal_order_data",JSON.stringify(r)),window.location.href=fkwcppcp_express_params.checkout_url;else{if(!this.isCheckoutPage())return s.ajax({url:fkwcppcp_express_params.ajax_url.replace("%%endpoint%%","fkwcppcp_express_approve_order"),method:"POST",data:{security:fkwcppcp_express_params.security,order_id:r.orderID}}).done(e=>{var r;"failure"==e.result?(r=e.messages||"Payment could not be processed. Please try again or use a different payment method.",this.showError(r)):window.location.href=e.redirect}).fail((e,r,a)=>{let t="Order approval failed";e.responseJSON&&e.responseJSON.data&&e.responseJSON.data.message?t=e.responseJSON.data.message:a&&(t=a),this.showError(t)}).always(()=>{this.hideLoader()});s.ajax({url:fkwcppcp_express_params.ajax_url.replace("%%endpoint%%","fkwcppcp_express_get_order_details"),method:"POST",data:{security:fkwcppcp_express_params.security,order_id:r.orderID}}).done(e=>{e.success&&e.data&&this.fillCheckoutForm(e.data);e=s("form.checkout, form#order_review");e.find('input[name="fkpay_paypal_order"]').remove(),e.find('input[name="payment_via_express"]').remove(),e.append(`<input type="hidden" name="fkpay_paypal_order" value="${r.orderID}">`),e.append('<input type="hidden" name="payment_via_express" value="1">'),s('input[name="payment_method"][value="fkwcppcp_paypal"]').prop("checked",!0).trigger("click"),setTimeout(()=>{s("#place_order").trigger("click")},300)}).fail(()=>{var e=s("form.checkout, form#order_review");e.find('input[name="fkpay_paypal_order"]').remove(),e.find('input[name="payment_via_express"]').remove(),e.append(`<input type="hidden" name="fkpay_paypal_order" value="${r.orderID}">`),e.append('<input type="hidden" name="payment_via_express" value="1">'),s('input[name="payment_method"][value="fkwcppcp_paypal"]').prop("checked",!0).trigger("click"),setTimeout(()=>{s("#place_order").trigger("click")},300)})}}isCheckoutPage(){return 0<s("form.checkout, form#order_review").length}onCancel(){}onError(e){this.hideLoader(),this.isProcessing=!1;e=e&&e.message?e.message:"Payment processing error. Please try again or use a different payment method.";this.showError(e)}showError(e){this.clearErrors();var r,a=document.querySelector(".fkwcppcp-express-button-container");a&&(e=(e||"The instrument presented was either declined by the processor or bank, or it can't be used for this payment.").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""
1"),(r=document.createElement("div")).className="fkwcppcp-express-error fkwcppcp-error-message",r.setAttribute("role","alert"),r.innerHTML='<strong style="color: #b32d2e;">Payment Processing Error</strong><br>'+e,r.style.cssText="margin: 10px 0; padding: 12px; border: 1px solid #e2401c; background: #ffebe7; color: #515151; border-radius: 4px;",(e=a.querySelector(".fkwcppcp-express-button"))&&e.nextSibling?a.insertBefore(r,e.nextSibling):a.appendChild(r),a.scrollIntoView({behavior:"smooth",block:"nearest"}))}showMessage(e){var r,a=document.querySelector(".fkwcppcp-express-button-container");a&&((r=document.createElement("div")).className="fkwcppcp-express-message",r.textContent=e,this.clearMessages(),a.appendChild(r),setTimeout(()=>this.clearMessages(),3e3))}clearErrors(){document.querySelectorAll(".fkwcppcp-express-button-container .fkwcppcp-express-error, .fkwcppcp-express-button-container .fkwcppcp-error-message").forEach(e=>e.remove())}clearMessages(){document.querySelectorAll(".fkwcppcp-express-message").forEach(e=>e.remove())}showLoader(){s(".fkwcppcp-express-button-container").addClass("loading")}hideLoader(){s(".fkwcppcp-express-button-container").removeClass("loading")}fillCheckoutForm(e){var r,a=s("form.checkout, form#order_review"),t=(e.payer&&(t=e.payer,a.find("#billing_first_name").val(t.name?.given_name||"").trigger("change"),a.find("#billing_last_name").val(t.name?.surname||"").trigger("change"),a.find("#billing_email").val(t.email_address||"").trigger("change"),t.phone?.phone_number?.national_number&&a.find("#billing_phone").val(t.phone.phone_number.national_number).trigger("change"),t.address)&&(a.find("#billing_address_1").val(t.address.address_line_1||"").trigger("change"),a.find("#billing_address_2").val(t.address.address_line_2||"").trigger("change"),a.find("#billing_city").val(t.address.admin_area_2||"").trigger("change"),a.find("#billing_state").val(t.address.admin_area_1||"").trigger("change"),a.find("#billing_postcode").val(t.address.postal_code||"").trigger("change"),a.find("#billing_country").val(t.address.country_code||"").trigger("change")),e.purchase_units?.[0]?.shipping);
1t&&(t.name?.full_name&&(r=t.name.full_name.split(" "),a.find("#shipping_first_name").val(r[0]||"").trigger("change"),a.find("#shipping_last_name").val(r.slice(1).join(" ")||"").trigger("change")),t.address)&&(a.find("#shipping_address_1").val(t.address.address_line_1||"").trigger("change"),a.find("#shipping_address_2").val(t.address.address_line_2||"").trigger("change"),a.find("#shipping_city").val(t.address.admin_area_2||"").trigger("change"),a.find("#shipping_state").val(t.address.admin_area_1||"").trigger("change"),a.find("#shipping_postcode").val(t.address.postal_code||"").trigger("change"),a.find("#shipping_country").val(t.address.country_code||"").trigger("change"),a.find("#billing_address_1").val()||(a.find("#billing_address_1").val(t.address.address_line_1||"").trigger("change"),a.find("#billing_address_2").val(t.address.address_line_2||"").trigger("change"),a.find("#billing_city").val(t.address.admin_area_2||"").trigger("change"),a.find("#billing_state").val(t.address.admin_area_1||"").trigger("change"),a.find("#billing_postcode").val(t.address.postal_code||"").trigger("change"),a.find("#billing_country").val(t.address.country_code||"").trigger("change"))),a.find('input[name="fkpay_paypal_order"]').remove(),a.find('input[name="payment_via_express"]').remove(),a.append(`<input type="hidden" name="fkpay_paypal_order" value="${e.orderID}">`),a.append('<input type="hidden" name="payment_via_express" value="1">'),s('input[name="payment_method"][value="fkwcppcp_paypal"]').prop("checked",!0).trigger("click"),s(document.body).trigger("update_checkout")}}s(document).ready(()=>{new e})})(jQuery);
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.