/* A JavaScript to create the token on the frontend when the form is submitted: */ var stripe = Stripe('your_public_key'); // Public Key var elements = stripe.elements(); var card = elements.create('card'); card.mount('#card-element'); var form = document.getElementById('payment-form'); form.addEventListener('submit', function(event) { event.preventDefault(); stripe.createToken(card).then(function(result) { if (result.error) { // Show error in #card-errors var errorElement = document.getElementById('card-errors'); errorElement.textContent = result.error.message; } else { // Send token to server stripeTokenHandler(result.token); } }); }); function stripeTokenHandler(token) { var form = document.getElementById('payment-form'); var hiddenInput = document.createElement('input'); hiddenInput.setAttribute('type', 'hidden'); hiddenInput.setAttribute('name', 'stripeToken'); hiddenInput.setAttribute('value', token.id); form.appendChild(hiddenInput); // Submit the form form.submit(); }