Comment intégrer mon code paypal avec un input

Résolu
bonjour a tous

voila a présent que mon bon de commande semble fonctionner je souhaiterais lui ajouter payal

j'ai retrouvé ce code de paypal

dans mon formulaire j ai un id qui indique le prix total de la commande

<input id="amount" name="amount" type="hidden" value="">


j'ai essaye de mettre l'id dans
value:  document.querySelector('#amount').value


mais lorsque je clic sur un bouton de paypal une fenêtre s'ouvre et se referme aussi vite sans que je puisse avoir le temps de continuer avec un message
le navigateur sécurisé de paypal n'apparait pas ?
nous allons vous aider a rouvrir la fenêtre pour finaliser votre achat
continuer

  <script src="https://www.paypal.com/sdk/js?client-id=AV01RcWDmANxJPEXIbqLZg8L¤cy=EUR"> // Replace YOUR_CLIENT_ID with your sandbox client ID
</script>
<div id="paypal-button-container"></div>
<!-- Add the checkout buttons, set up the order and approve the order -->
<script>
paypal.Buttons({
createOrder: function(data, actions) {
return actions.order.create({
purchase_units: [{
amount: {
value: document.querySelector('#amount').value
}
}]
});
},
onApprove: function(data, actions) {
return actions.order.capture().then(function(details) {
alert('Transaction completed by ' + details.payer.name.given_name);
});
}
}).render('#paypal-button-container'); // Display payment options on your web page
</script>

9 réponses

  1. Modérateur
    Bonjour

    Devine ce que je vais te demander....... Hé oui... La console...
    1. bonjour jordane

      Merci pour l aide

      ah ben oui bien sur

      alors pour la console
      je ne me doutais pas que cela allait servir
      il y a mes clés que j'ai caché volontairement

      voici ce qu il en ressors au niveau de la requête

      events […]
      0 {…}
      event "button_click"
      level "info"
      payload {…}
      buttonCorrelationID "f699869"
      buttonSessionID "uid_094082462e
      clientID "AV01RcWDmANxJPEXIbqLZg8LHG"
      env "production"
      referer "www.paypal.com"
      sdkCorrelationID "ae9deb89"
      sessionID "uid_bb7ab02090_"
      time "1641565110279"
      timestamp "1641565110279"
      token null
      user_id "uid_094082462e_"
      1 {…}
      event "button_click_pay_flow_checkout"
      level "info"

      et une petite capture d écran
      1. Modérateur
        C'est l'onglet reponse qu'il nous faut. Pas l'onglet requête
    2. c 'est bon jordane une erreur de codage de ma part

      je teste et je reviens dire quoi
      1. j 'ai juste un soucis avec le montant qui est mauvais dans la console de paypal et que je ne comprends pas
        peut être ma variable ?

        pour ceux que cela intéresse voici le code et l adresse
        https://developer.paypal.com/docs/checkout/standard/integrate/

         <script src="https://www.paypal.com/sdk/js?client-id=test&currency=USD"></script>
        
            <!-- Set up a container element for the button -->
            <div id="paypal-button-container"></div>
        
            <script>
              paypal.Buttons({
        
                // Sets up the transaction when a payment button is clicked
                createOrder: function(data, actions) {
                  return actions.order.create({
                    purchase_units: [{
                      amount: {
                        value: '77.44' // Can reference variables or functions. Example: `value: document.getElementById('...').value`
                      }
                    }]
                  });
                },
        
                // Finalize the transaction after payer approval
                onApprove: function(data, actions) {
                  return actions.order.capture().then(function(orderData) {
                    // Successful capture! For dev/demo purposes:
                        console.log('Capture result', orderData, JSON.stringify(orderData, null, 2));
                        var transaction = orderData.purchase_units[0].payments.captures[0];
                        alert('Transaction '+ transaction.status + ': ' + transaction.id + '\n\nSee console for all available details');
        
                    // When ready to go live, remove the alert and show a success message within this page. For example:
                    // var element = document.getElementById('paypal-button-container');
                    // element.innerHTML = '';
                    // element.innerHTML = '<h3>Thank you for your payment!</h3>';
                    // Or go to another URL:  actions.redirect('thank_you.html');
                  });
                }
              }).render('#paypal-button-container');
        
            </script>
        1. ce qui me pose donc soucis depuis tantôt
          c est cette partie

           amount: {
                         value:  document.querySelector('amount').value
                        }


          car lorsque je place ceci tout bien bien

           amount: {
                          value: '77.44' // Can reference variables or functions. Example: `value: document.getElementById('...').value`
                        }
          1. Modérateur
            Ça te pose souci... C'est à dire ?
          2. Contributeur
            amount
            ou
            #amount
            ?
          3. @yg_bebonjour yg_be
            j'ai essaye les deux
          4. @yg_bevoila c'est réglé
            je devais indiquer ceci
            value:  document.querySelector('#amount').value


            le pire je l'avais essaye ce code en plus
        2. que cela ouvre et referme la fenetre de paypal

          voici la reponse de la console

          1. Modérateur
            As tu vérifié ( en inspectant le code dans ton navigateur ) , que ton champ caché amount était bien renseigné ?
            Tu peux nous en mettre une capture écran ?

            1. Modérateur
              Niveau code..
              ça sera
                 value:  document.querySelector('#amount').value
              

              ou
                 value:  document.getElementById('amount').value
              

              mais encore faut-t-il que ton champ soit bien renseigné...

              ( au pire.. si tu ne sais pas comment aller l'examiner dans ton navigateur, change son type de hidden passe le en text pour le voir.. )
            2. @jordane45tu es un magicien jordane
              je l avais ce code
              value:  document.querySelector('#amount').value

              mais il refusait de passer et avec toi ca passe

              je m arrache les cheveux sur ce coup...

              Merci pour ton aide
              tu me sauves encore une fois
          2. j'ai également cet id qui donne le total du panier mais cela me donne la même chose
            la fenêtre de paypal qui s ouvre et se ferme aussi vite

            <div>*Prix total: <b><span class="total-panier" id="prix_total" >9.00</span> euros</b></div>