I'm trying to load the Stripe payment gateway. For some reason the page always refreshes before showing the response. I don't want the page refresh though.
This is the 'js' that I'm working with (a mix of 'jQuery' and vanilla js)
<script type="text/javascript">
            // this identifies your website in the createToken call below
            Stripe.setPublishableKey('stripe_key_here');
            function stripeResponseHandler(status, response) {
                if (response.error) {
                    // re-enable the submit button
                    $('.submit-button').removeAttr("disabled");
                    // show hidden div
                    document.getElementById('a_x200').style.display = 'block';
                    // show the errors on the form
                    $(".payment-errors").html(response.error.message);
                } else {
                    var form$ = $("#payment-form");
                    // token contains id, last4, and card type
                    var token = response['id'];
                    var posted = document.getElementById("post-price").value
                    // insert the token into the form so it gets submitted to the server
                    form$.append("<input type='hidden' name='stripeToken' value='" + token + "' />");
                    form$.append("<input type='hidden' name='posted' value='" + posted + "' />");
                    // and submit    
                    $("#payment-form").get(0).submit(function(e) {
                        e.preventDefault();
                        var url = "pricing.php";
                        $.ajax({
                               type: "POST",
                               url: url,
                               data: $("#payment-form").serialize(),
                               success: function(data)
                               {
                                   alert(data);
                               }
                             });
                    });
                }
            }
</script>
Got the form code here as well:
<form action="" method="POST" id="payment-form" class="form-horizontal">
  <div class="username-info">
    <input type="text" name="name" maxlength="70" placeholder="Your full name" class="name form-control" value="Test Name">
  </div>
  <div class="email-info">
    <input type="text" name="email" maxlength="65" placeholder="Email address" class="email form-control" value="testemail@email.com">
  </div>
  <div class="password-info">
    <input type="password" name="password" maxlength="70" placeholder="Password (min 6 characters)" class="password form-control" value="password123">
  </div>
  <div class="form-row">
    <label>
      <span>Card Number</span>
      <input type="text" size="20" data-stripe="number">
    </label>
  </div>
  <div class="form-row">
    <label>
      <span>Expiration (MM/YY)</span>
      <input type="text" size="2" data-stripe="exp_month">
    </label>
    <span> / </span>
    <input type="text" size="2" data-stripe="exp_year">
  </div>
  <div class="form-row">
    <label>
      <span>CVC</span>
      <input type="text" size="4" data-stripe="cvc">
    </label>
  </div>
  <button class="btn btn-success pricing-display-pay" id="post-price" value="300" type="submit">Pay $</button>
</form
 
     
     
    