From a0c307a1c64a49555d9178358e70dc503bd1dc7d Mon Sep 17 00:00:00 2001 From: jrangel Date: Sat, 23 Nov 2024 09:17:44 +0000 Subject: [PATCH] Initial --- Stripe/payments/token.js | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 Stripe/payments/token.js diff --git a/Stripe/payments/token.js b/Stripe/payments/token.js new file mode 100644 index 0000000..abe5544 --- /dev/null +++ b/Stripe/payments/token.js @@ -0,0 +1,36 @@ +/* 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(); +}