Skip to content

Instantly share code, notes, and snippets.

@stephensprinkle-zz
Forked from justinthiele/subscriptions.js
Created June 11, 2012 21:35
Show Gist options
  • Save stephensprinkle-zz/2912889 to your computer and use it in GitHub Desktop.
Save stephensprinkle-zz/2912889 to your computer and use it in GitHub Desktop.
Updated Subscriptions JS (fixed to work with dynamically loaded forms)
$(function() {
var subscription;
$(function() {
Stripe.setPublishableKey($('meta[name="stripe-key"]').attr('content'));
return subscription.setupForm();
});
subscription = {
setupForm: function() {
return $('#new_subscription').submit(function() {
$('input[type=submit]').attr('disabled', true);
if ($('#card_number').length) {
subscription.processCard();
return false;
} else {
return true;
}
});
},
processCard: function() {
var card;
card = {
number: $('#card_number').val(),
cvc: $('#card_code').val(),
expMonth: $('#card_month').val(),
expYear: $('#card_year').val()
};
return Stripe.createToken(card, subscription.handleStripeResponse);
},
handleStripeResponse: function(status, response) {
if (status === 200) {
$('#subscription_stripe_card_token').val(response.id);
return $('#new_subscription')[0].submit();
} else {
$('#stripe_error').text(response.error.message);
return $('input[type=submit]').attr('disabled', false);
}
}
};
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment