Se usiamo l'SDK JavaScript di Stripe, possiamo verificare la validità di una carta di credito anche all'interno di un form personalizzato.

La soluzione consiste nel verificare lo status delle proprietà booleane _complete e _invalid dell'elemento card.


'use strict';

const stripe = Stripe('public-key');
const elements = stripe.elements({locale: 'it'});
const card = elements.create('card');
const form = document.querySelector('#form');

card.mount('#card-element');


form.addEventListener('submit', e => {
    e.preventDefault();
    const cardElement = elements.getElement('card');
    if (!cardElement._complete || cardElement._invalid) {
        // Errore
    }    
});