1(function(window, $) { 2 3 // USE STRICT 4 "use strict"; 5 6 var wpsdAnimatedProgress = document.getElementById('wpsd-animated-progress'); 7 var wpsdCaptchaField = document.getElementById('wpsd-captcha-field'); 8 var form = document.getElementById('wpsd-donation-form-id'); 9 var con_one = ''; 10 var gift_aid = ''; 11 12 if (wpsdAnimatedProgress != null) { 13 14 $(".wpsd-animated-progress span").each(function() { 15 $(this).animate({ 16 width: $(this).attr("data-progress") + "%", 17 }, 18 1000 19 ); 20 }); 21 } 22 23 var style = { 24 base: { 25 color: wpsdAdminScriptObj.card_element_color, 26 '::placeholder': { 27 color: wpsdAdminScriptObj.card_element_color, 28 }, 29 } 30 }; 31 32 if (form != null) { 33 34 var stripe = Stripe(wpsdAdminScriptObj.stripePKey); 35 var elements = stripe.elements(); 36 37 var card = elements.create('card', { 38 hidePostalCode: true, 39 style: style, 40 }); 41 42 card.mount("#card-element"); 43 44 card.addEventListener('change', ({ error }) => { 45 const displayError = document.getElementById('card-errors'); 46 if (error) { 47 displayError.textContent = error.message; 48 } else { 49 displayError.textContent = ''; 50 } 51 }); 52 53 form.addEventListener('submit', function(e) { 54 55 e.preventDefault(); 56 var wpsdShowCheckout = true; 57 var wpsdDonateAmount = $("#wpsd_donate_other_amount").val(); 58 59 if (($("#wpsd_donation_for").val() == '') || ($("#wpsd_donation_for").val() == null)) { 60 $('#card-errors').show('slow').addClass('error').html('Please Enter Donation For'); 61 $("#wpsd_donation_for").focus(); 62 return false; 63 } 64 65 if ($("#wpsd_captcha_content").val() == '') { 66 $('#card-errors').show('slow').addClass('error').html('Capcha Missing!'); 67 $("#wpsd_captcha_content").focus(); 68 return false; 69 } 70 71 if ($("#wpsd_captcha_content").val() != $("#wpsd_captcha_content_check").val()) { 72 $('#card-errors').show('slow').addClass('error').html('Wrong Capcha Number!'); 73 $("#wpsd_captcha_content").focus(); 74 return false; 75 } 76 77 if (wpsdCaptchaField != null) { 78 if (grecaptcha.getResponse() == "") { 79 $('#card-errors').show('slow').addClass('error').html("Please Verify Captcha!"); 80 return false; 81 } 82 } 83 84 // Address Processing 85 var address = [{ 86 'address_street': $('#wpsd_address_street').val(), 87 'address_line2': $('#wpsd_address_line2').val(), 88 'address_city': $('#wpsd_address_city').val(), 89 'address_state': $('#wpsd_address_state').val(), 90 'address_postal': $('#wpsd_address_postal').val(), 91 'address_country': $('#wpsd_address_country').val() 92 }]; 93 94 if ($("#wpsd_condition_one").is(":checked")) { 95 con_one = $("#wpsd_condition_one").val(); 96 } 97 98 if ($("#wpsd_gift_aid_front_chkbox").is(":checked")) { 99 gift_aid = $("#wpsd_gift_aid_front_chkbox").val(); 100 } 101 102 if (wpsdShowCheckout) { 103 104 $("#wpsd-pageloader").fadeIn(); 105 106 $.ajax({
107 url: wpsdAdminScriptObj.ajaxurl, 108 type: "POST", 109 dataType: "JSON", 110 cache: false, 111 data: { 112 action: 'wpsd_donation', 113 name: $("#wpsd_donator_name").val(), 114 email: $("#wpsd_donator_email").val(), 115 amount: wpsdDonateAmount, 116 donation_for: $("#wpsd_donation_for").val(), 117 currency: wpsdAdminScriptObj.currency, 118 idempotency: wpsdAdminScriptObj.idempotency, 119 nonce: $('#wpsd_donation_form_nonce_field').val(), 120 stripeSdk: wpsdAdminScriptObj.stripe_sdk, 121 security_token: wpsdAdminScriptObj.security_token, 122 address: address, 123 g_recaptcha_response: $("#g-recaptcha-response").val(), 124 gift_aid: gift_aid, 125 con_one: con_one, 126 comments: $("#wpsd-comments").val(), 127 }, 128 success: function(response) { 129 if (response.data.status === 'success') { 130 stripe.confirmCardPayment(response.data.client_secret, { 131 payment_method: { 132 card: card, 133 billing_details: { 134 name: $("#wpsd_donator_name").val(), 135 email: $("#wpsd_donator_email").val(), 136 address: { 137 line1: $("#wpsd_address_street").val(), 138 city: $("#wpsd_address_city").val(), 139 state: $("#wpsd_address_state").val(), 140 postal_code: $("#wpsd_address_postal").val() 141 //country: $("#wpsd_address_country").val() // Need 2 digits country code https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements 142 } 143 } 144 } 145 }).then(function(result) { 146 147 if (result.error) { 148 if (wpsdCaptchaField != null) { 149 grecaptcha.reset(); 150 } 151 $("#wpsd-pageloader").fadeOut(); 152 $('#card-errors').text(result.error.message); 153 154 } else { 155 if (result.paymentIntent.status === 'succeeded') { 156 //afterPaymentSucceeded($("#wpsd_donator_email").val(), wpsdDonateAmount, $("#wpsd_donation_for").val(), $("#wpsd_donator_name").val(), wpsdAdminScriptObj.currency, $("#wpsd-comments").val(), address, con_one, gift_aid); 157 afterPaymentSucceeded(result.paymentIntent.id); 158 } 159 } 160 }); 161 } 162 if (response.data.status === 'error') { 163 $("#wpsd-pageloader").fadeOut(); 164 $('#card-errors').show('slow').removeClass('success').addClass(response.data.status).html(response.data.message); 165 } 166 } 167 }); 168 } 169 }); 170 171 } 172 173 function afterPaymentSucceeded(paymentIntentId) { 174 175 $.ajax({
176 url: wpsdAdminScriptObj.ajaxurl, 177 type: "POST", 178 dataType: "JSON", 179 data: { 180 action: 'wpsd_donation_success', 181 payment_intent_id: paymentIntentId, 182 nonce: $('#wpsd_donation_form_nonce_field').val(), 183 }, 184 success: function(response) { 185 186 if (response.status === 'success') { 187 188 var url = new URL( 189 wpsdAdminScriptObj.successUrl 190 ); 191 192 url.searchParams.set( 193 'donation', 194 'success' 195 ); 196 197 window.location.href = url.href; 198 } 199 200 if (response.success === false) { 201 202 if (wpsdCaptchaField != null) { 203 grecaptcha.reset(); 204 } 205 $("#wpsd-pageloader").fadeOut(); 206 $('#card-errors').show('slow').removeClass('success').addClass(response.data.status).html(response.data.message); 207 } 208 } 209 }); 210 } 211 212 // searchable dropdown select 213 var wpsdAddressCountry = document.getElementById('wpsd_address_country'); 214 if (wpsdAddressCountry != null) { 215 $('div.wpsd-form-item-half-right select#wpsd_address_country').selectize({ 216 sortField: 'text' 217 }); 218 } 219 220})(window, 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.