act.moveon.org Open in urlscan Pro
54.183.50.175  Public Scan

URL: https://act.moveon.org/donate/pac-donation-footer?suggested_ask=3&source=mailing-footer&utm_medium=email&t=...
Submission: On April 04 via api from US — Scanned from DE

Form analysis 1 forms found in the DOM

Name: actPOST /act/

<form id="act" name="act" method="POST" action="/act/" accept-charset="utf-8" role="form" data-viewable="true" novalidate="true" style="display: block;">
  <input type="hidden" name="action_suggested_ask" id="action_suggested_ask" value="3">
  <input type="hidden" name="orig_akid" value="None">
  <input type="hidden" name="page" value="pac-donation-footer">
  <input type="hidden" name="country" value="United States">
  <div class="donation-container">
    <div class="form-section">
      <div class="form-section--wrapper form-section--donation">
        <div id="product_list">
        </div>
        <div id="amount_list" class="ak-err-above">
          <div class="donation-header">
            <h3> Donation Amount </h3>
          </div>
          <span></span>
          <ul class="donation-amount-choices">
            <li>
              <label for="id_amount_20">
                <span class="currency_sym"></span><input type="radio" id="id_amount_20" value="20" class="amount_radio_button btn btn-default" name="amount">$20 </label>
            </li>
            <li>
              <label for="id_amount_27">
                <span class="currency_sym"></span><input type="radio" id="id_amount_27" value="27" class="amount_radio_button btn btn-default" name="amount">$27 </label>
            </li>
            <li>
              <label for="id_amount_40">
                <span class="currency_sym"></span><input type="radio" id="id_amount_40" value="40" class="amount_radio_button btn btn-default" name="amount">$40 </label>
            </li>
            <li>
              <label for="id_amount_75">
                <span class="currency_sym"></span><input type="radio" id="id_amount_75" value="75" class="amount_radio_button btn btn-default" name="amount">$75 </label>
            </li>
            <li>
              <label for="id_amount_200">
                <span class="currency_sym"></span><input type="radio" id="id_amount_200" value="200" class="amount_radio_button btn btn-default" name="amount">$200 </label>
            </li>
            <li>
              <label for="id_amount_400">
                <span class="currency_sym"></span><input type="radio" id="id_amount_400" value="400" class="amount_radio_button btn btn-default" name="amount">$400 </label>
            </li>
            <li>
              <label for="id_amount_750">
                <span class="currency_sym"></span><input type="radio" id="id_amount_750" value="750" class="amount_radio_button btn btn-default" name="amount">$750 </label>
            </li>
            <li id="other_amount_container">
              <noscript><input type="radio" value="" class="amount_radio_button" name="amount"></noscript>
              <label for="amount_other_field" class="other-label">
                <span class="currency_sym">$</span>
                <input id="amount_other_field" name="action_amount_other_visible" data-tabindex-min-width="992" data-tabindex-value="1" class="form-control amount_other_field" type="number" inputmode="decimal" step="any" value="3" checked="">
                <input id="amount_other_field_actual" name="amount_other" type="hidden">
              </label>
            </li>
          </ul>
        </div>
        <div id="type" class="ak-clear"></div>
        <div class="big-checkbox-row">
          <input id="action_mim_checkbox" name="action_mim_checkbox" type="hidden">
          <input type="checkbox" name="donation_type" id="id_donation_type_recurring" value="recurring" data-tabindex-min-width="992" data-tabindex-value="2">
          <label class="checkbox-overlay" for="id_donation_type_recurring"></label>
          <label class="checkbox-label" for="id_donation_type_recurring"> Yes, I'll chip in monthly! </label>
        </div>
      </div>
    </div>
    <div class="form-section">
      <div class="form-section--wrapper form-section--billing">
        <ul id="ak-errors"></ul>
        <div style="display: none">
          <div id="known_user" style="display: none;"> Not <span id="known_user_name"></span>? <a href="?" onclick="return actionkit.forms.logOut()">Click here.</a>
          </div>
        </div>
        <div id="unknown_user"></div>
        <div class="ak-errs-below">
          <h3>Billing Information</h3>
          <div class="form-group">
            <div class="ak-err-below">
              <label for="name">Name</label>
              <input id="name" type="text" name="name" class="form-control">
              <p class="help-block">As it appears on your credit card</p>
            </div>
          </div>
          <div class="form-group">
            <div class="ak-err-below">
              <label class="required" for="email">Email</label>
              <input id="email" type="email" name="email" class="form-control">
              <p id="js-email-suggestion-field" class="text-muted"></p>
            </div>
          </div>
          <div class="form-group">
            <div class="ak-err-below">
              <label for="address1">Billing address</label>
              <input id="address1" type="text" name="address1" class="form-control">
            </div>
          </div>
          <div class="form-group">
            <div class="ak-err-below">
              <label for="city">City</label>
              <input id="city" type="text" name="city" class="form-control">
            </div>
          </div>
          <div class="form-group">
            <div class="ak-err-below">
              <label for="id_state">State</label>
              <select class="form-control " name="state" id="id_state">
                <option value="" selected=""></option>
                <option value="State" disabled="" selected="">State</option>
                <option value="AL">Alabama</option>
                <option value="AK">Alaska</option>
                <option value="AS">American Samoa</option>
                <option value="AZ">Arizona</option>
                <option value="AR">Arkansas</option>
                <option value="CA">California</option>
                <option value="CO">Colorado</option>
                <option value="CT">Connecticut</option>
                <option value="DE">Delaware</option>
                <option value="DC">District of Columbia</option>
                <option value="FM">Federated States Of Micronesia</option>
                <option value="FL">Florida</option>
                <option value="GA">Georgia</option>
                <option value="GU">Guam</option>
                <option value="HI">Hawaii</option>
                <option value="ID">Idaho</option>
                <option value="IL">Illinois</option>
                <option value="IN">Indiana</option>
                <option value="IA">Iowa</option>
                <option value="KS">Kansas</option>
                <option value="KY">Kentucky</option>
                <option value="LA">Louisiana</option>
                <option value="ME">Maine</option>
                <option value="MD">Maryland</option>
                <option value="MH">Marshall Islands</option>
                <option value="MA">Massachusetts</option>
                <option value="MI">Michigan</option>
                <option value="MN">Minnesota</option>
                <option value="MS">Mississippi</option>
                <option value="MO">Missouri</option>
                <option value="MT">Montana</option>
                <option value="NE">Nebraska</option>
                <option value="NV">Nevada</option>
                <option value="NH">New Hampshire</option>
                <option value="NJ">New Jersey</option>
                <option value="NM">New Mexico</option>
                <option value="NY">New York</option>
                <option value="NC">North Carolina</option>
                <option value="ND">North Dakota</option>
                <option value="MP">Northern Marianas Islands</option>
                <option value="OH">Ohio</option>
                <option value="OK">Oklahoma</option>
                <option value="OR">Oregon</option>
                <option value="PA">Pennsylvania</option>
                <option value="PR">Puerto Rico</option>
                <option value="RI">Rhode Island</option>
                <option value="SC">South Carolina</option>
                <option value="SD">South Dakota</option>
                <option value="TN">Tennessee</option>
                <option value="TX">Texas</option>
                <option value="UT">Utah</option>
                <option value="VT">Vermont</option>
                <option value="VI">Virgin Islands</option>
                <option value="VA">Virginia</option>
                <option value="WA">Washington</option>
                <option value="WV">West Virginia</option>
                <option value="WI">Wisconsin</option>
                <option value="WY">Wyoming</option>
                <option value="AE">Armed Forces Africa</option>
                <option value="AA">Armed Forces America</option>
                <option value="AE">Armed Forces Canada</option>
                <option value="AE">Armed Forces Europe</option>
                <option value="AE">Armed Forces Middle East</option>
                <option value="AP">Armed Forces Pacific</option>
              </select>
            </div>
          </div>
          <div class="form-group">
            <div class="ak-err-below">
              <label for="zip">Billing Zip</label>
              <input id="zip" type="number" inputmode="numeric" name="zip" maxlength="5" size="5" class="form-control">
            </div>
          </div>
        </div>
        <div class="big-checkbox-row">
          <input type="checkbox" name="retired" id="retired_checkbox">
          <label class="checkbox-overlay" for="retired_checkbox"></label>
          <label class="checkbox-label" for="retired_checkbox"> I am retired or unemployed. </label>
        </div>
        <div class="ak-errs-below" id="employer-occupation-info">
          <input type="hidden" name="user_occupation">
          <input type="hidden" name="user_employer">
          <div class="form-group">
            <div class="ak-err-below">
              <label for="action_employer">Employer</label>
              <input id="action_employer" type="text" name="action_employer" size="20" class="form-control">
              <input type="hidden" name="required" value="action_employer">
            </div>
          </div>
          <div class="form-group">
            <div class="ak-err-below">
              <label for="action_occupation">Occupation</label>
              <input id="action_occupation" type="text" name="action_occupation" size="20" class="form-control">
              <input type="hidden" name="required" value="action_occupation">
            </div>
          </div>
          <p class="help-block"> Occupation and employer required by federal law. </p>
        </div>
        <div id="shipping_address">
        </div>
      </div>
    </div>
    <div class="form-section">
      <div id="payment-options" class="form-section--wrapper form-section--payment">
        <div class="payment-border">
          <div class="payment-options-header">
            <div class="select-payment-header">
              <h3>Select Your Payment Method</h3>
              <a data-tabindex-min-width="992" data-tabindex-value="4" class="text-right check-link hidden-xs hidden-sm" href="/survey/pac-donation-check/">
    or Contribute by Check</a>
            </div>
            <div class="payment-select">
              <input type="radio" class="custom-radio-payment" id="credit-card" name="payment-radio-group" value="credit-card" checked="">
              <label for="credit-card">
                <span><img src="https://s3.amazonaws.com/s3.moveon.org/images/credit_card.png" style="height: 20px; margin-right: 5px;">Credit Card</span>
              </label>
            </div>
            <div class="payment-select">
              <input type="hidden" name="paypal" value="0" id="ak-pay-by-paypal">
              <input type="radio" class="custom-radio-payment" id="paypal" name="payment-radio-group" value="paypal">
              <label for="paypal">
                <span><img src="https://s3.amazonaws.com/s3.moveon.org/images/Paypal-Logo-transparent.png"></span>
              </label>
            </div>
            <div class="payment-select" id="apple-pay" style="display: none;">
              <input type="radio" class="custom-radio-payment" id="apple" name="payment-radio-group" value="apple-pay">
              <label for="apple"><span><img src="https://s3.amazonaws.com/s3.moveon.org/images/apple-pay-white-transparent-bg.png"></span></label>
            </div>
          </div>
          <div id="cc-panel">
            <div id="card_num_box" class="ak-err-below form-group">
              <div class="credit-card-icons-container">
                <label for="card_num"> Credit Card Number <img src="https://s3.amazonaws.com/s3.moveon.org/images/lock.png">
                </label>
                <div class="payment-icons">
                  <img src="https://s3.amazonaws.com/s3.moveon.org/images/mastercrd_icon.png" alt="MasterCard">
                  <img src="https://s3.amazonaws.com/s3.moveon.org/images/_American_Express-512.png" alt="American Express">
                  <img src="https://s3.amazonaws.com/s3.moveon.org/images/visa_icon.png" alt="Visa">
                  <img src="https://s3.amazonaws.com/s3.moveon.org/images/atm-card-credit-card-debit-card-discover-icon-discover-card-png-512_512.png" alt="Discover">
                </div>
              </div>
              <div id="ak-card_num-hosted" class="hosted-field"><iframe src="https://assets.braintreegateway.com/web/3.69.0/html/hosted-fields-frame.min.html#8c54c163-f3fb-4e83-b292-1c2ce75066ab" frameborder="0" allowtransparency="true"
                  scrolling="no" type="number" name="braintree-hosted-field-number" title="Secure Credit Card Frame - Credit Card Number" id="braintree-hosted-field-number" style="border: none; width: 100%; height: 100%; float: left;"></iframe>
                <div style="clear: both;"></div>
              </div>
            </div>
            <div class="ak-err-below">
              <div class="form-group" id="card_exp_date">
                <label for="exp_date_month">Expiration Date</label>
                <div class="form-controls-inline">
                  <div id="ak-exp_date-hosted" class="hosted-field"><iframe src="https://assets.braintreegateway.com/web/3.69.0/html/hosted-fields-frame.min.html#8c54c163-f3fb-4e83-b292-1c2ce75066ab" frameborder="0" allowtransparency="true"
                      scrolling="no" type="expirationDate" name="braintree-hosted-field-expirationDate" title="Secure Credit Card Frame - Expiration Date" id="braintree-hosted-field-expirationDate"
                      style="border: none; width: 100%; height: 100%; float: left;"></iframe>
                    <div style="clear: both;"></div>
                  </div>
                </div>
              </div>
            </div>
          </div>
          <div id="paypal-panel" style="display:none; margin-top: 20px;">
            <p> Thank you for choosing PayPal! <br>
              <br> You will be directed to the PayPal window to complete your donation on checkout.
            </p>
          </div>
          <div id="applepay-panel" style="display:none; margin-top: 20px;">
            <p> Thank you for choosing Apple Pay! <br>
              <br> You will be directed to the Apple Pay window to complete your donation on checkout.
            </p>
          </div>
          <div id="ach-panel" style="display:none; margin-top: 20px;">
            <div class="ak-err-below form-group">
              <div id="ak-fieldbox-routing_number">
                <label for="ak-routing_number">Routing Number</label>
                <input id="ak-routing_number" type="number" inputmode="numeric" name="routing_number" size="9" class="form-control">
              </div>
            </div>
            <div class="ak-err-below form-group">
              <div id="ak-fieldbox-bank_account">
                <label for="ak-bank_account">Bank Account</label>
                <input id="ak-bank_account" type="number" inputmode="numeric" name="bank_account" size="17" class="form-control">
              </div>
            </div>
            <div class="ak-err-below form-group">
              <div id="ak-fieldbox-account_type">
                <label for="ak-account_type">Account Type</label><br>
                <div class="radio-btn">
                  <input type="radio" id="checking" name="account_type_radio" value="checking">
                  <label for="checking">
                    <span> Checking </span>
                  </label>
                </div>
                <div class="radio-btn">
                  <input type="radio" id="savings" name="account_type_radio" value="savings">
                  <label for="savings">
                    <span> Savings </span>
                  </label>
                </div>
                <input name="account_type" id="account_type" type="hidden">
              </div>
            </div>
            <div class="ak-err-below form-group">
              <div id="ak-fieldbox-ownership_type">
                <label for="ak-ownership_type">Ownership</label><br>
                <div class="radio-btn">
                  <input type="radio" id="personal" name="ownership_type_radio" value="personal">
                  <label for="personal">
                    <span> Personal </span>
                  </label>
                </div>
                <div class="radio-btn">
                  <input type="radio" id="business" name="ownership_type_radio" value="business">
                  <label for="business">
                    <span> Business </span>
                  </label>
                </div>
                <input name="ownership_type" id="ownership_type" type="hidden">
              </div>
            </div>
            <div class="ak-err-below form-group">
              <div id="ak-fieldbox-business_name" style="display:none;">
                <label for="ak-business_name">Business Name</label>
                <input id="ak-business_name" type="text" name="business_name" class="form-control">
              </div>
            </div>
            <div id="ak-mandate">By clicking "Donate", I authorize Braintree, a service of PayPal, on behalf of <span id="ak-client-name">MoveOn.org</span> (i) to verify my bank account information using bank information and consumer reports and (ii)
              to debit my bank account.</div>
          </div>
          <div id="save_payment_information_container" class="checkbox save-payment">
            <input type="hidden" name="action_shown_save_payment_box" value="1">
            <input type="hidden" name="save_payment_information_provisional" value="1">
            <input type="hidden" id="action-save-payment-information" name="action_save_payment_information" value="1">
            <input id="save_payment_information" type="checkbox" name="save_payment_information" checked="" value="1" data-tabindex-min-width="992" data-tabindex-value="7">
            <label class="checkbox-label" for="save_payment_information">
              <span class="faded">Please save my information for future donation transactions</span>
            </label>
          </div>
          <style type="text/css">
            .hosted-field {
              height: 2.375em;
              padding: 7px 7px;
              margin-bottom: 6px;
              background-color: white;
              border: 1px solid #ccc;
            }

            .hosted-field.braintree-hosted-fields-invalid {
              border-color: #d00;
              background-color: #FFC8C8;
            }
          </style>
          <script src="https://js.braintreegateway.com/web/3.69.0/js/client.min.js"></script>
          <script src="https://js.braintreegateway.com/web/3.69.0/js/hosted-fields.min.js"></script>
          <script src="https://js.braintreegateway.com/web/3.69.0/js/data-collector.min.js"></script>
          <script src="https://js.braintreegateway.com/web/3.69.0/js/apple-pay.min.js"></script>
          <script src="/resources/ak_braintree_vzero.js"></script>
          <script>
            $(function() {
              var form = document.querySelector("#act"),
                options = {
                  form: form,
                  fields: {
                    number: {
                      selector: '#ak-card_num-hosted'
                    },
                    // 
                    // tktktktktk
                    expirationDate: {
                      selector: '#ak-exp_date-hosted',
                      placeholder: 'MM / YYYY'
                    }
                  },
                  styles: {
                    'input': {
                      'font-family': 'sans-serif',
                      'font-size': '16.5px',
                      'color': '#4b4b4b'
                    },
                    'input.invalid': {
                      'color': '#d00',
                      'background-color': '#FFC8C8'
                    },
                    'input.valid': {
                      'color': 'green'
                    }
                  },
                  submitOnEmpty: function() {
                    return $('#ak-pay-by-paypal').val() == 1;
                  },
                  submit: form.querySelector(".ak-submit-button")
                },
                toRemove = ["#ak-card_num", "#ak-card_code", "#ak-exp_date_month", "#ak-exp_date_year", "#ak-card_num-required", "#ak-card_code-required", "#ak-exp_date_month-required", "#ak-exp_date_year-required"];
              toRemove.forEach(function(el) {
                $(el).remove();
              });
              /* handle contribute submit based on radio button selection*/
              $('#payment-options input').on('change', function() {
                var selected = $("input[name='payment-radio-group']:checked").val();
                var savePaymentContainer = $("#save_payment_information_container");
                var contributeButton = '#main-contribute-button';
                var ccPanel = $("#cc-panel");
                var paypalPanel = $("#paypal-panel");
                var applepayPanel = $("#applepay-panel");
                var monthlyDiv = $('.checkbox.make-monthly');
                if (selected === 'credit-card') {
                  ccPanel.show();
                  paypalPanel.hide();
                  applepayPanel.hide();
                  monthlyDiv.show();
                  savePaymentContainer.show();
                  $(contributeButton).off().click(function() {})
                }
                if (selected === 'paypal') {
                  paypalPanel.show();
                  ccPanel.hide();
                  applepayPanel.hide();
                  savePaymentContainer.hide();
                  monthlyDiv.show();
                  $(contributeButton).off().click(function() {
                    submitPaypal();
                  })
                }
                if (selected === 'ach') {
                  $(ccPanel).hide();
                  $(achPanel).show();
                  $(paypalPanel).hide();
                  $(applepayPanel).hide();
                  $(monthlyDiv).show();
                  $(contributeButton).unbind();
                }
                if (selected === 'apple-pay') {
                  applepayPanel.show();
                  paypalPanel.hide();
                  ccPanel.hide();
                  savePaymentContainer.hide();
                  monthlyDiv.hide();
                  $(contributeButton).off().click(function(e) {
                    // Perform form and donation amount validation before creating Apple Pay transaction. Return false if error is found to prevent form from submitting
                    if (actionkit.forms.validate()) { // Form validation
                      if (validateAmount()) {
                        // No errors. Create Apple Pay transaction
                        createApplePayTransaction(e, window.applePayInstance);
                      } else {
                        return false;
                      }
                    } else {
                      validateAmount();
                      return false;
                    }
                    /**
                     * @returns True if donation amount is valid. Otherwise, display error msg & return false
                     */
                    function validateAmount() {
                      var minimumAmount;
                      var amount = parseFloat(updateTotal());
                      minimumAmount = 1.00;
                      // Build error messages using AK's built-in functions and vars
                      if (isNaN(amount) || amount < minimumAmount) {
                        if (!actionkit.errors) {
                          actionkit.errors = {};
                        }
                        if (isNaN(amount)) {
                          actionkit.errors['amount:missing'] = actionkit.forms.errorMessage('amount:missing');
                        } else {
                          actionkit.forms.text["error_amount:minimum"] = actionkit.forms.text['error_amount:minimum'].replace('{0}', minimumAmount.toFixed(2));
                          actionkit.errors['amount:minimum'] = actionkit.forms.errorMessage('amount:minimum');
                        }
                        actionkit.forms.onValidationErrors(actionkit.errors);
                        return false;
                      }
                      return true;
                    }
                  })
                }
              })
              actionkit.donations.handleError = function(err) {
                if (window.console) {
                  window.console.log(err);
                }
                if (!actionkit.errors) {
                  actionkit.errors = {};
                }
                switch (err.code) {
                  case 'HOSTED_FIELDS_FIELDS_EMPTY':
                    actionkit.errors['card_num:invalid'] = "Credit card fields are empty.";
                    break;
                  case 'HOSTED_FIELDS_FIELDS_INVALID':
                    err.details.invalidFieldKeys.forEach(function(key) {
                      var map = {
                        'number': 'card_num',
                        'cvv': 'card_code',
                        'expirationDate': 'card_exp'
                      };
                      actionkit.errors[map[key] + ':invalid'] = "This field is invalid.";;
                    });
                    break;
                  case 'HOSTED_FIELDS_FAILED_TOKENIZATION':
                    actionkit.errors['card_num:invalid'] = "The credit card number was invalid. Please double check and re-enter it.";
                    break;
                  case 'HOSTED_FIELDS_TOKENIZATION_NETWORK_ERROR':
                    actionkit.errors['card_num:invalid'] = "Network error.";
                    break;
                  default:
                    actionkit.errors['card_num:invalid'] = "An error occurred: " + err.message;
                }
                actionkit.forms.onValidationErrors(actionkit.errors);
              };
              actionkit.donations.initClient(
                'eyJ2ZXJzaW9uIjoyLCJhdXRob3JpemF0aW9uRmluZ2VycHJpbnQiOiJleUowZVhBaU9pSktWMVFpTENKaGJHY2lPaUpGVXpJMU5pSXNJbXRwWkNJNklqSXdNVGd3TkRJMk1UWXRjSEp2WkhWamRHbHZiaUlzSW1semN5STZJbWgwZEhCek9pOHZZWEJwTG1KeVlXbHVkSEpsWldkaGRHVjNZWGt1WTI5dEluMC5leUpsZUhBaU9qRTJPREEzTXpnd056TXNJbXAwYVNJNkltVmhaRE5qWldNMkxUSmlaamd0TkRRNE1TMDVOR1ExTFdZd1pEZ3dPVEZqTURBell5SXNJbk4xWWlJNkluUjNZalI2Y1hBeU56WmlZMlJtYm1vaUxDSnBjM01pT2lKb2RIUndjem92TDJGd2FTNWljbUZwYm5SeVpXVm5ZWFJsZDJGNUxtTnZiU0lzSW0xbGNtTm9ZVzUwSWpwN0luQjFZbXhwWTE5cFpDSTZJblIzWWpSNmNYQXlOelppWTJSbWJtb2lMQ0oyWlhKcFpubGZZMkZ5WkY5aWVWOWtaV1poZFd4MElqcG1ZV3h6Wlgwc0luSnBaMmgwY3lJNld5SnRZVzVoWjJWZmRtRjFiSFFpWFN3aWMyTnZjR1VpT2xzaVFuSmhhVzUwY21WbE9sWmhkV3gwSWwwc0ltOXdkR2x2Ym5NaU9uc2liV1Z5WTJoaGJuUmZZV05qYjNWdWRGOXBaQ0k2SW5CdmJHbDBhV05oYkdGamRHbHZiaUo5ZlEuNUNQQmxJMFhVZEViV1E1YjBweDdtSDZ5anBXNnNLeGd1UUFXS1h5cG1FZnBCbW1OcGdyM1lFazROQnhhSDlRalp5Xy12eGhVVkNrVERtZENVVzczM0EiLCJjb25maWdVcmwiOiJodHRwczovL2FwaS5icmFpbnRyZWVnYXRld2F5LmNvbTo0NDMvbWVyY2hhbnRzL3R3YjR6cXAyNzZiY2RmbmovY2xpZW50X2FwaS92MS9jb25maWd1cmF0aW9uIiwibWVyY2hhbnRBY2NvdW50SWQiOiJwb2xpdGljYWxhY3Rpb24iLCJncmFwaFFMIjp7InVybCI6Imh0dHBzOi8vcGF5bWVudHMuYnJhaW50cmVlLWFwaS5jb20vZ3JhcGhxbCIsImRhdGUiOiIyMDE4LTA1LTA4IiwiZmVhdHVyZXMiOlsidG9rZW5pemVfY3JlZGl0X2NhcmRzIl19LCJjbGllbnRBcGlVcmwiOiJodHRwczovL2FwaS5icmFpbnRyZWVnYXRld2F5LmNvbTo0NDMvbWVyY2hhbnRzL3R3YjR6cXAyNzZiY2RmbmovY2xpZW50X2FwaSIsImVudmlyb25tZW50IjoicHJvZHVjdGlvbiIsIm1lcmNoYW50SWQiOiJ0d2I0enFwMjc2YmNkZm5qIiwiYXNzZXRzVXJsIjoiaHR0cHM6Ly9hc3NldHMuYnJhaW50cmVlZ2F0ZXdheS5jb20iLCJhdXRoVXJsIjoiaHR0cHM6Ly9hdXRoLnZlbm1vLmNvbSIsInZlbm1vIjoib2ZmIiwiY2hhbGxlbmdlcyI6WyJwb3N0YWxfY29kZSJdLCJ0aHJlZURTZWN1cmVFbmFibGVkIjpmYWxzZSwiYW5hbHl0aWNzIjp7InVybCI6Imh0dHBzOi8vY2xpZW50LWFuYWx5dGljcy5icmFpbnRyZWVnYXRld2F5LmNvbS90d2I0enFwMjc2YmNkZm5qIn0sImFwcGxlUGF5Ijp7ImNvdW50cnlDb2RlIjoiVVMiLCJjdXJyZW5jeUNvZGUiOiJVU0QiLCJtZXJjaGFudElkZW50aWZpZXIiOiJtZXJjaGFudC5tb3Zlb25wYWMiLCJzdGF0dXMiOiJwcm9kdWN0aW9uIiwic3VwcG9ydGVkTmV0d29ya3MiOlsidmlzYSIsIm1hc3RlcmNhcmQiLCJhbWV4IiwiZGlzY292ZXIiXX0sInBheXBhbEVuYWJsZWQiOmZhbHNlLCJicmFpbnRyZWVfYXBpIjp7InVybCI6Imh0dHBzOi8vcGF5bWVudHMuYnJhaW50cmVlLWFwaS5jb20iLCJhY2Nlc3NfdG9rZW4iOiJleUowZVhBaU9pSktWMVFpTENKaGJHY2lPaUpGVXpJMU5pSXNJbXRwWkNJNklqSXdNVGd3TkRJMk1UWXRjSEp2WkhWamRHbHZiaUlzSW1semN5STZJbWgwZEhCek9pOHZZWEJwTG1KeVlXbHVkSEpsWldkaGRHVjNZWGt1WTI5dEluMC5leUpsZUhBaU9qRTJPREEzTXpnd01EZ3NJbXAwYVNJNkltTmtNakprTVRjeExUTTFOREF0TkdWak15MDVOemcxTFRBM09HRTRNVE13TURWaE5TSXNJbk4xWWlJNkluUjNZalI2Y1hBeU56WmlZMlJtYm1vaUxDSnBjM01pT2lKb2RIUndjem92TDJGd2FTNWljbUZwYm5SeVpXVm5ZWFJsZDJGNUxtTnZiU0lzSW0xbGNtTm9ZVzUwSWpwN0luQjFZbXhwWTE5cFpDSTZJblIzWWpSNmNYQXlOelppWTJSbWJtb2lMQ0oyWlhKcFpubGZZMkZ5WkY5aWVWOWtaV1poZFd4MElqcG1ZV3h6Wlgwc0luSnBaMmgwY3lJNld5SjBiMnRsYm1sNlpTSXNJbTFoYm1GblpWOTJZWFZzZENKZExDSnpZMjl3WlNJNld5SkNjbUZwYm5SeVpXVTZWbUYxYkhRaVhTd2liM0IwYVc5dWN5STZlMzE5LkR3c1VQVnZuTk5jcWwycjVENmkzNlJnSWU1cHpMbEtqZl9EcjRMM1h5amlUNVpUam9DUzREMEExdEZqejVnREg2cVR2cGk4OTR1OVVsVy1Dd1VQWnV3In19',
                options)

              function removeCreditCardRequirement() {
                $('#ak-card_num').val('');
                $('#ak-card_code').val('');
                $('#ak-card_num-required').remove();
                $('#ak-card_code-required').remove();
                $('#ak-exp_date_month-required').remove();
                $('#ak-exp_date_year-required').remove();
              }

              function createApplePayTransaction(e, applePayInstance) {
                e.preventDefault()
                var pageEntity = 'pac'
                var amount = updateTotal()
                var pageName = (pageEntity.match(/pac/i) ? 'MoveOn PAC' : 'MoveOn Civic Action')
                var paymentRequest = applePayInstance.createPaymentRequest({
                  total: {
                    label: pageName,
                    amount: amount
                  },
                  requiredBillingContactFields: ["postalAddress"]
                })
                var session = new ApplePaySession(3, paymentRequest)
                session.onvalidatemerchant = function(event) {
                  applePayInstance.performValidation({
                    validationURL: event.validationURL,
                    displayName: pageName
                  }, function(err, merchantSession) {
                    if (err) {
                      console.log('err:', err)
                      return;
                    }
                    session.completeMerchantValidation(merchantSession);
                  });
                };
                session.onpaymentauthorized = function(event) {
                  applePayInstance.tokenize({
                    token: event.payment.token
                  }, function(tokenizeErr, tokenizedPayload) {
                    if (tokenizeErr) {
                      console.error('Error tokenizing Apple Pay:', tokenizeErr);
                      session.completePayment(ApplePaySession.STATUS_FAILURE);
                      return;
                    }
                    if (tokenizedPayload && tokenizedPayload.nonce) {
                      /* Get Employer and Occupation fields */
                      actionkit.forms.validate()
                      removeCreditCardRequirement();
                      actionkit.donations.addHiddenInput(options.form, 'payment_method_nonce', tokenizedPayload.nonce);
                      actionkit.donations.addHiddenInput(options.form, 'action_mobile_payment', 'apple_pay');
                      $('#action_shown_save_payment_box').val('0');
                      actionkit.donations.addHiddenInput(options.form, 'user_apple_pay', 1);
                      disable_tokenized_fields(options.form);
                      options.form.submit();
                      activateSubmit(window.hosted_fields_instance, options);
                    }
                  });
                };
                session.begin()
              }

              function activateSubmit(hostedFieldsInstance, options) {
                /* this is copied from https://act.moveon.org/resources/ak_braintree_vzero.js
                since it cannot be directly accessed via actionkit.donations. */
                var submit = options.submit || options.form.querySelector('[type=submit]') || options.form.querySelector('[type=button]');
                submit.removeAttribute('disabled');
                actionkit.donations.tokenizeOnSubmit(hostedFieldsInstance, options);
              }

              function disable_tokenized_fields(form) {
                /* this is copied from https://act.moveon.org/resources/ak_braintree_vzero.js
                since it cannot be directly accessed via actionkit.donations. */
                /* disable tokenized fields so they don't get submitted */
                toRemove = ["bank_account", "routing_number", "account_type", "ownership_type"];
                toRemove.forEach(function(el) {
                  if (form[el]) {
                    form[el].setAttribute('disabled', true);
                  }
                });
              }
              actionkit.donations.initHostedFields = function(clientInstance, options) {
                /*this is copied from https://act.moveon.org/resources/ak_braintree_vzero.js */
                if ($.isEmptyObject(options.fields)) {
                  if (options.ach) {
                    donations.initUSBankAccount(clientInstance, null, options);
                  } else {
                    activateSubmit(null, options);
                  }
                } else {
                  braintree.hostedFields.create({
                    client: clientInstance,
                    fields: options.fields,
                    styles: options.styles
                  }, function(hostedFieldsErr, hostedFieldsInstance) {
                    window.hosted_fields_instance = hostedFieldsInstance
                    if (hostedFieldsErr) {
                      donations.handleError(hostedFieldsErr);
                      return;
                    }
                    if (options.ach) {
                      donations.initUSBankAccount(clientInstance, hostedFieldsInstance, options);
                    } else {
                      activateSubmit(hostedFieldsInstance, options);
                    }
                  });
                }
                if (window.ApplePaySession && window.ApplePaySession.supportsVersion(3) && ApplePaySession.canMakePayments()) {
                  /*this is custom for apple pay integration*/
                  braintree.applePay.create({
                    client: clientInstance
                  }, function(applePayErr, applePayInstance) {
                    if (applePayErr) {
                      console.error('Error creating applePayInstance:', applePayErr);
                      return;
                    } else {
                      window.applePayInstance = applePayInstance
                      ApplePaySession.canMakePaymentsWithActiveCard(applePayInstance.merchantIdentifier).then(function(canMakePayments) {
                        var applePayRadio = $("#apple-pay");
                        if (canMakePayments) {
                          applePayRadio.css("display", "block");
                        } else {
                          applePayRadio.css("display", "none");
                        }
                      })
                    }
                  });
                }
              };
              // read by 3-step validation
              actionkit.donations.skip_cc_validation = true;
              actionkit.donations.vzero = true;
            });
          </script>
        </div>
      </div>
    </div>
    <div class="clearfix"></div>
  </div>
  <div class="form-section--submit contribute-button">
    <div class="form-footer">
      <p class="faded">By clicking <strong>contribute</strong>, I confirm that I have read all of the rules below and I certify that I comply with each of them.</p>
      <button id="main-contribute-button" type="submit" class="btn btn-primary btn-block" data-optly-4dd4de5bb74c4b8c933cf08f5bd13c66="" data-gtm-vis-recent-on-screen-12234648_29="162" data-gtm-vis-first-on-screen-12234648_29="162"
        data-gtm-vis-total-visible-time-12234648_29="100" data-gtm-vis-has-fired-12234648_29="1">Donate</button>
      <div class="security-icons">
        <div>
          <img src="https://s3.amazonaws.com/s3.moveon.org/images/Shield_Icon_grey.png" alt="shield"><span>Guaranteed safe donation</span>
        </div>
        <div>
          <img src="https://s3.amazonaws.com/s3.moveon.org/images/lock_icon_2_grey.png" alt="lock"><span>Secure SSL encryption</span>
        </div>
      </div>
    </div>
  </div>
  <input type="hidden" name="action_referrer" value=""><input type="hidden" name="form_name" value="act"><input type="hidden" name="url"
    value="https://act.moveon.org/donate/pac-donation-footer?suggested_ask=3&amp;amp;source=mailing-footer&amp;amp;utm_medium=email&amp;amp;t=38&amp;amp;akid=349010*2E57426340*2EuKoOIg"><input type="hidden" name="js" value="1"><input type="hidden"
    name="required" value="city"><input type="hidden" name="required" value="name"><input type="hidden" name="required" value="zip"><input type="hidden" name="required" value="address1"><input type="hidden" name="device_data"
    value="{&quot;device_session_id&quot;:&quot;a43cfd7fbcb02be6134d55c04218bae6&quot;,&quot;fraud_merchant_id&quot;:null,&quot;correlation_id&quot;:&quot;98e10e0989cfb793af56f35dfe40cf93&quot;}">
</form>

Text Content

Stop MAGA and defend our freedoms, our families, and our futures


DONATION AMOUNT

 * $20
 * $27
 * $40
 * $75
 * $200
 * $400
 * $750
 * $


Yes, I'll chip in monthly!
Not ? Click here.



BILLING INFORMATION

Name

As it appears on your credit card

Email



Billing address
City
State State Alabama Alaska American Samoa Arizona Arkansas California Colorado
Connecticut Delaware District of Columbia Federated States Of Micronesia Florida
Georgia Guam Hawaii Idaho Illinois Indiana Iowa Kansas Kentucky Louisiana Maine
Maryland Marshall Islands Massachusetts Michigan Minnesota Mississippi Missouri
Montana Nebraska Nevada New Hampshire New Jersey New Mexico New York North
Carolina North Dakota Northern Marianas Islands Ohio Oklahoma Oregon
Pennsylvania Puerto Rico Rhode Island South Carolina South Dakota Tennessee
Texas Utah Vermont Virgin Islands Virginia Washington West Virginia Wisconsin
Wyoming Armed Forces Africa Armed Forces America Armed Forces Canada Armed
Forces Europe Armed Forces Middle East Armed Forces Pacific
Billing Zip
I am retired or unemployed.
Employer
Occupation

Occupation and employer required by federal law.




SELECT YOUR PAYMENT METHOD

or Contribute by Check
Credit Card


Credit Card Number


Expiration Date


Thank you for choosing PayPal!

You will be directed to the PayPal window to complete your donation on checkout.

Thank you for choosing Apple Pay!

You will be directed to the Apple Pay window to complete your donation on
checkout.

Routing Number
Bank Account
Account Type

Checking
Savings
Ownership

Personal
Business
Business Name
By clicking "Donate", I authorize Braintree, a service of PayPal, on behalf of
MoveOn.org (i) to verify my bank account information using bank information and
consumer reports and (ii) to debit my bank account.
Please save my information for future donation transactions


By clicking contribute, I confirm that I have read all of the rules below and I
certify that I comply with each of them.

Donate
Guaranteed safe donation
Secure SSL encryption
×

PLEASE CONFIRM DONATION AMOUNT

Thank you for your generous donation. Please confirm the amount.

No, Edit Donation Yes, Donate $


CONTRIBUTION RULES

I confirm that the following statements are true and accurate: 1) I am a United
States citizen or a permanent resident alien. 2) This contribution is not made
from the general treasury funds of a corporation, labor organization or national
bank. 3) This contribution is not made from the treasury of an entity or person
who is a federal contractor. 4) The funds I am donating are not being provided
to me by another person or entity for the purpose of making this contribution.
5) If under 18: I am contributing knowingly and voluntarily with my own funds.

IMPORTANT LEGAL INFORMATION

You may make contributions of up to $5,000 per calendar year to MoveOn.org
Political Action's Contribution Account. Individual contributions will be
allocated as follows: $5,000 per calendar year to a bank account that operates
as a Federal PAC, and the remainder to the Non-Contribution Account of the PAC.

Your credit card information will be used only for this transaction through our
secure online payment system. MoveOn.org Political Action does not retain credit
card information or transmit credit card information to candidate committees.
However, federal law requires us to report the name, address, occupation, and
employer for each MoveOn.org Political Action contributor who gives more than
$200 during each calendar year to the Federal Election Commission.

Contributions are not tax deductible for federal income tax purposes.

If we're unable to use your contribution for the purpose you specify, either
because of oversubscription or for another unforeseen reason, it is our policy
to use your contribution for other advertising, public relations, advocacy or
organizing activities.

PRIVACY POLICY

We do not share the information you've given us with unaffiliated groups without
your explicit permission.

FINANCIAL DONATIONS

If you choose to make a donation to MoveOn.org Political Action, your credit
card information will be used only for this transaction through our secure
online payment system. MoveOn.org Political Action does not retain credit card
information or transmit credit card information to candidate committees.

Under circumstances where we determine that members may be misusing our systems
for malicious purposes (for example, using the numbers we provide to make
harassing phone calls), such activities may be reported to law enforcement
agencies. In such cases, MoveOn may release personally identifiable information,
including name and address, to those agencies.

EMAIL FROM MOVEON.ORG POLITICAL ACTION AND MOVEON.ORG CIVIC ACTION

MoveOn will send you updates on this and other important campaigns by email. If
at any time you would like to unsubscribe from our email list, you may do so by
completing this form. For our complete privacy policy, click here.

MoveOn.org Civic Action is a 501(c)(4) organization which primarily focuses on
nonpartisan education and advocacy on important national issues. MoveOn.org
Political Action is a federal political committee which primarily helps members
elect candidates who reflect our values through a variety of activities aimed at
influencing the outcome of the next election. MoveOn.org Political Action and
MoveOn.org Civic Action are separate organizations.