PageSourceSearch

https://asiapacificgreens.org/wp-content/plugins/wp-stripe-master/js/wp-stripe.js?ver=1.5

js asiapacificgreens.org collected 2026-10-02 09:58:56 UTC 6,700 bytes, 186 lines download raw bytes

1/**
2 * WP-Stripe
3 *
4 * @since 1.4
5 *
6 */
7
8// var wp-stripe-key declared in DOM from localized script
9
10Stripe.setPublishableKey(wpstripekey);
11
12// Stripe Token Creation & Event Handling
13
14jQuery(document).ready(function ($) {
15
16  var resetStripeForm = function () {
17    $(".wp-stripe-payment-form").get(0).reset();
18    $('.wp-stripe-payment-form .input-group').removeClass('stripe-valid stripe-invalid');
19  };
20
21  function stripeResponseHandler(status, response) {
22    if (response.error) {
23      $('.stripe-submit-button').prop("disabled", false).css("opacity", "1.0");
24      $('.wp-stripe-notification').show().html('<div class="stripe-error">' + response.error.message + '</div>');
25    } else {
26      var form$ = $(".wp-stripe-payment-form");
27      var token = response['id'];
28      var amount = $(".wp-stripe-payment-form input[name=wp_stripe_price]:checked").val();
29      if (amount) {
30        if (amount === 'other') {
31          amount = $('.wp-stripe-payment-form .other-price.wp-stripe-card-amount').val()
32        }
33
34        if ($(".section-make-a-donation .tips-price").length) {
35          var tips = $(".section-make-a-donation .tips-price").val();
36          amount = parseFloat(amount) * parseFloat(tips);
37        }
38        form$.append("<input type='hidden' name='wp_stripe_amount' value='" + amount + "'>");
39      }
40      form$.append("<input type='hidden' name='stripeToken' value='" + token + "' />");
41
42      var newStripeForm = form$.serialize();
43
44      $.ajax({
45        type: "post",
46        dataType: "json",
47        url: ajaxurl,
48        data: newStripeForm,
49        beforeSend: function () {
50          $("body").removeClass("loaded");
51        },
52        success: function (response) {
53          $('.wp-stripe-notification').show().html(response);
54          $('.custom-form').hide();
55          $('.stripe-submit-button').prop("disabled", false).css("opacity", "1.0");
56          /*Form membership fees*/
57          if ($("#msform").length) {
58            // Custom Data
59            var formData = new FormData($("#msform")[0]);
60            var NewFormData = new FormData();
61            var inputPayAmounts = $("#table-member .block-membership-list .block-membership-input .input-amount:not(:disabled)");
62            var dataArray = [];
63            inputPayAmounts.each(function (i, payAmount) {
64              var nameMembership = $(payAmount).prev().prev().val();
65              var oppId = $(payAmount).prev().val();
66              var amountValue = $(payAmount).val();
67              var data = {
68                oppId: oppId,
69                pay_amount: amountValue,
70                name_membership: nameMembership
71              };
72              dataArray.push(data);
73            });
74            // Set data
75            var federation = formData.get('federation');
76            var currency_name = formData.get('currency_name');
77            var post_oppid = formData.get('post_oppid');
78            var pay_secretariat = formData.get('pay_secretariat');
79            var info_email = formData.get('info_email');
80            var info_name = formData.get('info_name');
81            NewFormData.append("objMemberData", JSON.stringify(dataArray));
82            NewFormData.append("federation", federation);
83            NewFormData.append("currency_name", currency_name);
84            NewFormData.append("post_oppid", post_oppid);
85            NewFormData.append("pay_secretariat", pay_secretariat);
86            NewFormData.append("info_email", info_email);
87            NewFormData.append("info_name", info_name);
88            $.ajax({
89              url: $("#msform").attr("action"),
90              loading: true,
91              type: "POST",
92              contentType: false,
93              processData: false,
94              data: NewFormData,
95              success: function (response) {
96                if (response && !response.error) {
97                  $('#button-hidden-next').click();
98                } else {
99                  console.log(response.message);
100                }
101              },
102              error: function (error) {
103                console.log(error);
104              }
105            });
106          }
107
108          if ($('#wp_stripe_frogg').length) {
109            window.location.reload();
110          }
111
112          if ($(".wp-stripe-payment-form-about").length) {
113            $('.wp-stripe-notification').hide();
114            $(".form-group-text-link .here").attr("href", response.url);
115            window.open(response.url, '_blank');
116          }
117
118          if ($(".wp-stripe-payment-form-gg").length) {
119
120            /*window.location.href = window.location.origin + '/donate/'; -- Commented by TouchSize */
121          }
122
123          resetStripeForm();
124          $("body").addClass("loaded");
125        },
126        error: function (res) {
127          res = res.responseJSON;
128          $("body").addClass("loaded");
129          $('.wp-stripe-notification').show().html('<div class="stripe-error">' + res.message + '</div>');
130          $('.stripe-submit-button').prop("disabled", false).css("opacity", "1.0");
131        }
132      });
133
134    }
135  }
136
137  $(".wp-stripe-payment-form").submit(function (event) {
138    if ($(".wp-stripe-payment-form").valid()) {
139      event.preventDefault();
140      $(".wp-stripe-notification").hide();
141      $('.stripe-submit-button').prop("disabled", true).css("opacity", "0.4");
142      Stripe.createToken({
143        name: $('.wp-stripe-name').val(),
144        number: $('.wp-stripe-card-number').val(),
145        cvc: $('.card_cvc').val(),
146        exp_month: $('.card-expiry-month').val(),
147        exp_year: $('.card-expiry-year').val()
148      }, stripeResponseHandler);
149      return false;
150    }
151  });
152});
153
154// Form Validation & Enhancement
155jQuery(document).ready(function ($) {
156  $('.wp-stripe-card-number').focusout(function () {
157    var cardValid = Stripe.validateCardNumber($(this).val());
158    var cardType = Stripe.cardType($(this).val());
159
160    if (cardValid) {
161      $(this).parents('.input-group').removeClass('stripe-invalid').addClass('stripe-valid');
162    } else {
163      $(this).parents('.input-group').removeClass('stripe-valid').addClass('stripe-invalid');
164    }
165  });
166
167  // CVC Validation
168  $('.card-cvc').focusout(function () {
169    if (Stripe.validateCVC($(this).val())) {
170      $(this).parents('.input-group').removeClass('stripe-invalid').addClass('stripe-valid');
171    } else {
172      $(this).parents('.input-group').removeClass('stripe-valid').addClass('stripe-invalid');
173    }
174  });
175
176  $(".form-group-text-link").on('click', '.here', function (e) {
177    e.preventDefault();
178    var link = $(this).attr("href");
179    if (link && link !== "#") {
180      window.open($(this).attr("href"), '_blank');
181    } else {
182      $(".wp-stripe-payment-form-about").submit();
183    }
184  })
185});
186

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.