mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
Working on payment gateways
This commit is contained in:
parent
2bbebcf9a4
commit
b243a41c05
@ -7,6 +7,7 @@
|
||||
<script type="text/javascript" >
|
||||
$(function() {
|
||||
var $form = $('.payment-form');
|
||||
$form.unbind('submit');
|
||||
braintree.setup("{{ $transactionToken }}", "custom", {
|
||||
id: "payment-form",
|
||||
hostedFields: {
|
||||
@ -56,6 +57,11 @@
|
||||
}
|
||||
},
|
||||
onPaymentMethodReceived: function(event) {
|
||||
if ($form.find('button').is(':disabled')) {
|
||||
event.preventDefault();
|
||||
return false;
|
||||
}
|
||||
|
||||
// Disable the submit button to prevent repeated clicks
|
||||
$form.find('button').prop('disabled', true);
|
||||
$('#js-error-message').hide();
|
||||
|
@ -10,64 +10,69 @@
|
||||
var countries = {!! Cache::get('countries')->pluck('iso_3166_2','id') !!};
|
||||
WePay.set_endpoint('{{ WEPAY_ENVIRONMENT }}');
|
||||
var $form = $('.payment-form');
|
||||
$('.payment-form').submit(function(event) {
|
||||
event.preventDefault();
|
||||
|
||||
var data = {
|
||||
client_id: {{ WEPAY_CLIENT_ID }},
|
||||
user_name: $('#first_name').val() + ' ' + $('#last_name').val(),
|
||||
email: $('#email').val(),
|
||||
cc_number: $('#card_number').val(),
|
||||
cvv: $('#cvv').val(),
|
||||
expiration_month: $('#expiration_month').val(),
|
||||
expiration_year: $('#expiration_year').val(),
|
||||
address: {
|
||||
address1: $('#address1').val(),
|
||||
address2: $('#address2').val(),
|
||||
city: $('#city').val(),
|
||||
country: countries[$("#country_id").val()]
|
||||
}
|
||||
};
|
||||
|
||||
if(data.address.country == 'US') {
|
||||
data.address.zip = $('#postal_code').val();
|
||||
$('.payment-form').unbind('submit').submit(function(event) {
|
||||
if ($('#sourceToken').val()) {
|
||||
// do nothing
|
||||
} else {
|
||||
data.address.postcode = $('#postal_code').val();
|
||||
}
|
||||
// Not including state/province, since WePay wants 2-letter codes and users enter the full name
|
||||
event.preventDefault();
|
||||
|
||||
// Disable the submit button to prevent repeated clicks
|
||||
$form.find('button').prop('disabled', true);
|
||||
$('#js-error-message').hide();
|
||||
if ($form.find('button').is(':disabled')) {
|
||||
return false;
|
||||
}
|
||||
|
||||
var data = {
|
||||
client_id: {{ WEPAY_CLIENT_ID }},
|
||||
user_name: $('#first_name').val() + ' ' + $('#last_name').val(),
|
||||
email: $('#email').val(),
|
||||
cc_number: $('#card_number').val(),
|
||||
cvv: $('#cvv').val(),
|
||||
expiration_month: $('#expiration_month').val(),
|
||||
expiration_year: $('#expiration_year').val(),
|
||||
address: {
|
||||
address1: $('#address1').val(),
|
||||
address2: $('#address2').val(),
|
||||
city: $('#city').val(),
|
||||
country: countries[$("#country_id").val()]
|
||||
}
|
||||
};
|
||||
|
||||
if(data.address.country == 'US') {
|
||||
data.address.zip = $('#postal_code').val();
|
||||
} else {
|
||||
data.address.postcode = $('#postal_code').val();
|
||||
}
|
||||
// Not including state/province, since WePay wants 2-letter codes and users enter the full name
|
||||
|
||||
// Disable the submit button to prevent repeated clicks
|
||||
$form.find('button').prop('disabled', true);
|
||||
$('#js-error-message').hide();
|
||||
|
||||
var response = WePay.credit_card.create(data, function(response) {
|
||||
if (response.error) {
|
||||
// Show the errors on the form
|
||||
var error = response.error_description;
|
||||
$form.find('button').prop('disabled', false);
|
||||
$('#js-error-message').text(error).fadeIn();
|
||||
} else {
|
||||
// response contains id and card, which contains additional card details
|
||||
var token = response.credit_card_id;
|
||||
// Insert the token into the form so it gets submitted to the server
|
||||
$form.append($('<input type="hidden" name="sourceToken"/>').val(token));
|
||||
// and submit
|
||||
$form.get(0).submit();
|
||||
}
|
||||
});
|
||||
|
||||
var response = WePay.credit_card.create(data, function(response) {
|
||||
if (response.error) {
|
||||
// Show the errors on the form
|
||||
var error = response.error_description;
|
||||
$form.find('button').prop('disabled', false);
|
||||
$('#js-error-message').text(error).fadeIn();
|
||||
} else {
|
||||
if ($form.find('button').is(':disabled')) {
|
||||
return false;
|
||||
}
|
||||
// response contains id and card, which contains additional card details
|
||||
var token = response.credit_card_id;
|
||||
// Insert the token into the form so it gets submitted to the server
|
||||
$form.append($('<input type="hidden" name="sourceToken"/>').val(token));
|
||||
// and submit
|
||||
$form.get(0).submit();
|
||||
}
|
||||
});
|
||||
|
||||
if (response.error) {
|
||||
// Show the errors on the form
|
||||
var error = response.error_description;
|
||||
$form.find('button').prop('disabled', false);
|
||||
$('#js-error-message').text(error).fadeIn();
|
||||
// Prevent the form from submitting with the default action
|
||||
return false;
|
||||
}
|
||||
|
||||
// Prevent the form from submitting with the default action
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
Loading…
x
Reference in New Issue
Block a user