52 lines
2.1 KiB
JavaScript
52 lines
2.1 KiB
JavaScript
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 relevant parts of 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_country"]', $stripeForm).val(token.card.country);
|
|
$(':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();
|
|
});
|
|
*/
|
|
}); |