jQuery(document).ready(function($) { var $settings = Drupal.settings.booking_stripe; var $stripeForm = $("#" + $settings.form_selector); var handler = StripeCheckout.configure({ key: $settings.pubkey, image: $settings.image, locale: 'auto', token: function(token) { try { //store the returned token into hidden form elements $(':input[name="token_id"]', $stripeForm).val(token.id); $(':input[name="token_email"]', $stripeForm).val(token.email); $(':input[name="token_client_ip"]', $stripeForm).val(token.client_ip); $(':input[name="card_brand"]', $stripeForm).val(token.card.brand); $(':input[name="card_cvc_check"]', $stripeForm).val(token.card.cvc_check); $(':input[name="card_address_zip_check"]', $stripeForm).val(token.card.address_zip_check); $stripeForm.get(0).submit(); } catch(err) { console.log([err]); alert(err.message); } } }); $('.form-submit').click(function (e) { var $settings = Drupal.settings.booking_stripe; var $stripeForm = $("#" + $settings.form_selector); var $amount = $(':input[name="amount"]', $stripeForm).val() * 100; handler.open({ name: $settings.name, panelLabel: $settings.payment_button_label, currency: "AUD", description: $(':input[name="description"]', $stripeForm).val(), email: $(':input[name="email"]', $stripeForm).val(), amount: Math.round($amount), zipCode: true, closed: function() { //document.getElementById("booking_stripe_form").submit(); } }); e.preventDefault(); }); /* // Close Checkout on page navigation $(window).on('popstate', function() { handler.close(); }); */ });