Bonjour,
wilson120, un point positif c'est qu'il y a deux améliorations dans votre démarche :
- Vous regardez les numéros de ligne.
- Vous ne remaniez pas au hasard la ligne générant l'erreur.
Concernant cette nouvelle erreur, je n'ai que ces deux idées :
- Cette ligne <script src="https://js.stripe.com/v3/"></script> doit être placée avant la balise "script" contenant votre code.
- Etre connecté à Internet au moment du test.
Sinon, j'ai repris le code et fait une petite adaptation :
Pas d'erreur de script en testant.
Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 <form id="payment_form" method="POST" action="index.php"> <div id="card-element"></div> <input type="submit"> </form> <script src="https://js.stripe.com/v3/"></script> <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script> <script> var stripe = Stripe('pk_test_test_Z7WCo5oUXnhfCMMKeEh49Tds00TYAWyZ8h'); var elements = stripe.elements(); var card = elements.create('card'); card.mount('#card-element'); var $form = $('#payment_form'); $form.submit(function(e) { e.preventDefault(); $form.find('.button').attr(true); stripe.createToken(card).then(function(result) { if (result.error) { $form.prepend('<div class="ui negative message"><p>' +result.error.message + '</p></div>'); } else { var token = result.id; $form.append($('<input type="hidden" name="stripeToken">').val(token)); $form.get(0).submit(); } }) }); </script>
A la validation, ce message "Votre numéro de carte n'est pas valide." s'affiche dans la page.
Si j'ignore l'erreur et force la validation, le script php reçoit bien en POST la variable "stripeToken".
Attention, ce que j'ai fait, c'est une tentative au hasard, je n'ai pas étudié la documentation de "Stripe".
Il ne faut pas mettre en production ce code sans être certain qu'il correspond à une implémentation valide de cet outil.
ProgElecT : comme l'a montré jreaux62, c'est réellement écrit ainsi dans la documentation.
La sensibilité à la casse du JS le permet, mais personnellement, je trouve cela un peu risqué tout de même.
Partager