41 lines
956 B
JavaScript
41 lines
956 B
JavaScript
|
import {
|
||
|
hidePayButton,
|
||
|
showPayButton,
|
||
|
showCardError,
|
||
|
showCardSuccess,
|
||
|
stripe,
|
||
|
card,
|
||
|
processing,
|
||
|
} from './common.js';
|
||
|
|
||
|
export function val() {
|
||
|
let form = document.getElementById("charge_form");
|
||
|
|
||
|
if (form.checkValidity() === false) {
|
||
|
this.event.preventDefault();
|
||
|
this.event.stopPropagation();
|
||
|
form.classList.add("was-validated");
|
||
|
return;
|
||
|
}
|
||
|
form.classList.add("was-validated");
|
||
|
hidePayButton();
|
||
|
|
||
|
let amountToCharge = document.getElementById("amount").value;
|
||
|
|
||
|
stripe.createPaymentMethod({
|
||
|
type: 'card',
|
||
|
card: card,
|
||
|
billing_details: {
|
||
|
email: document.getElementById("cardholder-email").value,
|
||
|
},
|
||
|
}).then(stripePaymentMethodHandler);
|
||
|
}
|
||
|
|
||
|
function stripePaymentMethodHandler(result) {
|
||
|
if (result.error) {
|
||
|
showCardError(result.error.message);
|
||
|
} else {
|
||
|
// create a customer and subscribe to plan
|
||
|
}
|
||
|
}
|