Files
booking/booking.stripe.js
2016-07-23 12:00:46 +10:00

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();
});
*/
});