1var loader = '<div class="blockUI suchx-blockUI" style="display:none"></div><div class="blockUI blockOverlay suchx-blockUI" style="z-index: 1000; border: none; margin: 0px; padding: 0px; width: 100%; height: 100%; top: 0px; left: 0px; background: rgb(255, 255, 255); opacity: 0.6; cursor: default; position: absolute;"></div>'; 2 3function surchx_validateCardNumber(number) { 4 // console.log("surchx_validateCardNumber "+Stripe.card.validateCardNumber(number)); 5 return payform.validateCardNumber(number); 6} 7(function($){ 8 9 $(document).ready(function(){ 10 surchx_transaction_events("stripe"); 11 surchx_transaction_on_postcode_change("stripe"); 12 }) 13 14 function surchx_transaction_events(payment){ 15 16 $("body").on('keyup',"#"+payment+"_surchx_ccNo",function() { 17 18 var ccNo = $("#"+payment+"_surchx_ccNo").val().replace(/\s+/g, ''); 19 20 var postcode = $("#billing_postcode").val(); 21 if(surchx_validateCardNumber(ccNo)){ 22 23 $("#"+payment+"_surchx_ccNo").next().remove(); 24 $("#"+payment+"_surchx_ccNo").css("color",'green'); 25 $("#"+payment+"_surchx_ccNo").next('input:text').focus(); 26 if(postcode.length>="5"){ 27 surchx_add_transaction_fee_ajax(ccNo,postcode); 28 } 29 30 } 31 else if(surchx_validateCardNumber(ccNo) == false){ 32 33 $("#"+payment+"_surchx_ccNo").next().remove(); 34 $("#"+payment+"_surchx_ccNo").css("color",'red'); 35 $("#"+payment+"_surchx_ccNo").after('<p style="color:red">Card number invalid.</p>'); 36 37 } 38 else { 39 $("#"+payment+"_surchx_ccNo").removeAttr("style"); 40 } 41 }); 42 43 $("body").on('blur',"#"+payment+"_surchx_ccNo",function() { 44 var ccNo = $("#"+payment+"_surchx_ccNo").val().replace(/\s+/g, ''); 45 if(surchx_validateCardNumber(ccNo) == false){ 46 47 $("#"+payment+"_surchx_ccNo").next().remove(); 48 $("#"+payment+"_surchx_ccNo").css("color",'red'); 49 $("#"+payment+"_surchx_ccNo").after('<p style="color:red">Card number invalid.</p>'); 50 51 } 52 }); 53 54 55 $("body").on('keyup',"#"+payment+"_surchx_expdate",function() { 56 var surchx_expdate = $("#"+payment+"_surchx_expdate").val().replace(/\s+/g, ''); 57 if( surchx_expdate.length==7 || surchx_expdate.length==8){ 58 59 var expdate_object = surchx_expdate.split('/'); 60 if(expdate_object[0]>12){ 61 $("#"+payment+"_surchx_expdate").next().remove(); 62 $("#"+payment+"_surchx_expdate").css("color",'red'); 63 $("#"+payment+"_surchx_expdate").after('<p style="color:red">Your Card is expired. Please check expiry date.</p>'); 64 return; 65 66 } 67 var today = new Date(); 68 var expDate = new Date(expdate_object[1],(expdate_object[0]-1)); // JS Date Month is 0-11 not 1-12 grrr 69 if(today.getTime() > expDate.getTime()) { 70 $("#"+payment+"_surchx_expdate").next().remove(); 71 $("#"+payment+"_surchx_expdate").css("color",'red'); 72 $("#"+payment+"_surchx_expdate").after('<p style="color:red">Your Card is expired. Please check expiry date.</p>'); 73 }else{ 74 $("#"+payment+"_surchx_expdate").next().remove(); 75 $("#"+payment+"_surchx_expdate").css("color",'green'); 76 $("#"+payment+"_surchx_cvv").focus(); 77 } 78 79 } 80 }); 81 82 83 $('body').on('change','input[name="payment_method"]',function(){ 84 var payment_method = $(this).val(); 85 $("#wc-"+payment_method+"-cc-form input").val(""); 86 surchx_stripe_remove_transaction_fee_ajax(); 87 88 }); 89 } 90 91 function surchx_transaction_on_postcode_change(payment){ 92 93 $("body").on('blur',"#billing_postcode",function() { 94 95 var payment_method = $('input[name="payment_method"]:checked').val(); 96 var ccNo = $("#wc-"+payment_method+"-cc-form").find(".surchx_ccNo").val().replace(/\s+/g, ''); 97 var postcode = $("#billing_postcode").val(); 98 99 if(payment_method=="surchx-stripe" || payment_method=="surchx-authorize" ){ 100 101 if(surchx_validateCardNumber(ccNo)){ 102 103 $("#"+payment+"_surchx_ccNo").next().remove(); 104 $("#"+payment+"_surchx_ccNo").css("color",'green'); 105 $("#"+payment+"_surchx_ccNo").next('input:text').focus(); 106 if(postcode.length>="5"){ 107 surchx_add_transaction_fee_ajax(ccNo,postcode); 108 } 109 } else { 110 $("#"+payment+"_surchx_ccNo").removeAttr("style"); 111 } 112 113 114 115 if(surchx_validateCardNumber(ccNo)){ 116 117 $("#wc-"+payment_method+"-cc-form").find(".surchx_ccNo").next().remove(); 118 $("#wc-"+payment_method+"-cc-form").find(".surchx_ccNo").css("color",'green'); 119 $("#wc-"+payment_method+"-cc-form").find(".surchx_ccNo").next('input:text').focus(); 120 if(postcode.length>="5"){ 121 surchx_add_transaction_fee_ajax(ccNo,postcode); 122 } 123 } 124 else{ 125 $("#wc-"+payment_method+"-cc-form").find(".surchx_ccNo").removeAttr("style"); 126 127 } 128 } 129 130 131 }); 132 133 $("body").on('keyup',"#billing_postcode",function() { 134 var payment_method = $('input[name="payment_method"]:checked').val(); 135 var ccNo = $("#wc-"+payment_method+"-cc-form").find(".surchx_ccNo").val().replace(/\s+/g, ''); 136 var postcode = $("#billing_postcode").val(); 137 138 if(payment_method=="surchx-stripe" || payment_method=="surchx-authorize" ){ 139 if(surchx_validateCardNumber(ccNo)){ 140 $("#"+payment+"_surchx_ccNo").next().remove(); 141 $("#"+payment+"_surchx_ccNo").css("color",'green'); 142 $("#"+payment+"_surchx_ccNo").next('input:text').focus(); 143 if(postcode.length>="5"){ 144 surchx_add_transaction_fee_ajax(ccNo,postcode); 145 } 146 } else { 147 $("#"+payment+"_surchx_ccNo").removeAttr("style"); 148 } 149 if(surchx_validateCardNumber(ccNo)){ 150 $("#wc-"+payment_method+"-cc-form").find(".surchx_ccNo").next().remove(); 151 $("#wc-"+payment_method+"-cc-form").find(".surchx_ccNo").css("color",'green'); 152 $("#wc-"+payment_method+"-cc-form").find(".surchx_ccNo").next('input:text').focus(); 153 if(postcode.length>="5"){ 154 surchx_add_transaction_fee_ajax(ccNo,postcode); 155 } 156 157 } 158 else{ 159 $("#wc-"+payment_method+"-cc-form").find(".surchx_ccNo").removeAttr("style"); 160 } 161 } 162 }); 163 164 165 } 166 167 function surchx_add_transaction_fee_ajax(ccNo,postcode){ 168 let testMode = (surchx_main_params.testmode === 'yes'); 169 if(surchx_main_params.enable_surchx === 'no' ){ 170 testMode && console.log("surchx is disabled"); 171 return false;
172 } 173 jQuery(".woocommerce").append(loader); 174 var payment_method = $('input[name="payment_method"]:checked').val(); 175 var data = { 176 action: 'surchx_stripe_add_transaction_fee_ajax', 177 cardnum: ccNo, 178 payment_method: payment_method, 179 postcode: postcode, 180 post_data: $( 'form.checkout' ).serialize() 181 }; 182 183 testMode && console.log("send data for surchx", data); 184 185 jQuery.post( surchx_main_params.admin_ajax_url, data, function( response ) 186 { 187 188 testMode && console.log("send data for surchx", data); 189 190 if (response) { 191 let respJson = JSON.parse(response); 192 (testMode || (respJson && respJson.error)) && console.log("response from surchx", respJson); 193 } 194 195 var ccNo = $("#wc-"+payment_method+"-cc-form").find(".surchx_ccNo").val(); 196 var expdate = $("#wc-"+payment_method+"-cc-form").find("#stripe_surchx_expdate").val(); 197 var cvv = $("#wc-"+payment_method+"-cc-form").find("#stripe_surchx_cvv").val(); 198 199 200 $( 'body' ).trigger( 'update_checkout' ); 201 202 //$('html, body').animate({scrollTop: $("#order_review").offset().top}, 1000); 203 setTimeout(function() { 204 $("tr.fee").css("background","#fcffb7"); 205 $("#wc-"+payment_method+"-cc-form").find(".surchx_ccNo").val(ccNo); 206 $("#wc-"+payment_method+"-cc-form").find("#stripe_surchx_expdate").val(expdate); 207 $("#wc-"+payment_method+"-cc-form").find("#stripe_surchx_cvv").val(cvv); 208 }, 1500); 209 setTimeout(function() { 210 $("tr.fee").css("background","none"); 211 }, 4000); 212 213 jQuery(".suchx-blockUI").remove(); 214 215 }); 216 } 217 218 function surchx_stripe_remove_transaction_fee_ajax(ccNo){ 219 let testMode = (surchx_main_params.testmode === 'yes'); 220 if(surchx_main_params.enable_surchx === 'no' ){ 221 testMode && console.log("surchx is disabled"); 222 return false; 223 } 224 $(".woocommerce").append(loader); 225 226 var data = { 227 228 action: 'surchx_stripe_remove_transaction_fee_ajax' 229 230 }; 231 232 jQuery.post( surchx_main_params.admin_ajax_url, data, function( response ) 233 { 234 $( 'body' ).trigger( 'update_checkout' ); 235 236 $(".suchx-blockUI").remove(); 237 238 }); 239 } 240})(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.