Décrivez ici votre problème ou ce que vous cherchez à faire.
Bonjour,
Je viens de créer un bouton paypal avec mon compte pro et avec le code copié depuis le site paypal j'obtien une erreur suivante dans la console :
Uncaught ReferenceError: can't access lexical declaration 'paypal' before initialization.
Voici le code recu par paypal lors de la création de mon bouton:

<div id="paypal-button-container-P-64M26***********"></div>
                        <script src="https://www.paypal.com/sdk/js?client-id=U-_yr2V0od4kv2Z88zdUiEpSKcrGABddj-jTkIcvOiYERO_Tll8&vault=true&intent=subscription" data-sdk-integration-source="button-factory"></script>
                        <script>
                            let paypal = new paypal
                            paypal.Buttons({
                            style: {
                                shape: 'rect',
                                color: 'gold',
                                layout: 'vertical',
                                label: 'subscribe'
                            },
                            createSubscription: function(data, actions) {
                                return actions.subscription.create({
                                /* Creates the subscription */
                                plan_id: 'P-64M26***********',

                                });
                                console.log(data)
                            },
                            onApprove: function(data, actions) {
                                alert(data.subscriptionID); // You can add optional success message for the subscriber here
                                console.log(data)
                            }
                            }).render('#paypal-button-container-P-64M26***********'); // Renders the PayPal button
                        </script>

Ce que je veux

Je souhaiterai comprendre pourquoi j'ai cette erreur sur un code natif et la corrigé

Ce que j'obtiens

Uncaught ReferenceError: can't access lexical declaration 'paypal' before initialization
<anonymous> http://localhost/assocadmin/index.php:155
index.php:155:42
<anonyme> http://localhost/assocadmin/index.php:155

Le mot clé new est souligne

1 réponse


Tu crée une variable qui a le même nom que l'objet. Du coup JavaScript est complètement perdu et se dit

Tu me demande de créer un new paypal mais en même temps de créer la variable

Change le nom

let paypalInstance = new paypal()

Tu es sûr de devoir écrire ce new paypal ?