2 votes

Boutons de paiement intelligents PayPal - demander la quantité

J'utilise les boutons de paiement intelligent de PayPal pour vendre un seul article sur mon site Web, mais je ne trouve dans aucune documentation comment demander la quantité.

Est-il possible de le faire avec l'API des boutons de paiement intelligents ?

Je veux simplement offrir au client la possibilité de modifier la quantité de l'article qu'il souhaite acheter. Peu importe que ce soit dans le formulaire ou pendant l'étape du paiement par PayPal.

Voici mon code jusqu'à présent, il est assez standard car j'essaie de le garder simple :

<script>
    // Render the PayPal button into #paypal-button-container
    paypal.Buttons({
        style: {
            size: 'responsive',
            shape: 'pill',
            label: 'checkout',
        },
        // Set up the transaction
        createOrder: function(data, actions) {
            return actions.order.create({
                purchase_units: [{
                    amount: {
                        value: '8.99'
                    }
                }]
            });
        },

        // Finalize the transaction
        onApprove: function(data, actions) {
            return actions.order.capture().then(function(details) {
                // Show a success message to the buyer
                alert('Transaction completed by ' + details.payer.name.given_name + '!');
            });
        }

    }).render('#paypal-button-container');
</script>

2voto

Je l'ai fait mais sans ventiler la facture. J'ai fait en sorte que le prix final soit le "montant", c'est-à-dire le prix multiplié par la quantité, et j'ai enregistré tous les détails de la facture dans ma base de données. Voici le code javascript que j'ai utilisé :

 amount: {
         value: "<?= $_SESSION['price'] * $_SESSION['quantity'] ?>" ,
         currency_code: 'EUR'
 },

Vous pouvez utiliser Javascript au lieu du code serveur comme ceci,

amount: {
         value: document.getElementById("quantity").value * document.getElementById("price").value ,
         currency_code: 'EUR'
 },

Dans les deux codes, les valeurs doivent être définies avant le rendu des boutons, c'est-à-dire avant le chargement de la page.

1voto

ram kris Points 125

Pour implémenter le champ quantité sur votre client, vous devez décomposer le champ montant et ensuite ajouter le champ "item_total" et "items" dans les unités d'achat.

pour votre référence :

createOrder: function(data, actions) {
     console.log(data);
       console.log(actions);
     return actions.order.create({
       purchase_units: [{

         amount: {
           value: (<HTMLInputElement>document.getElementById("number1")).value,
         breakdown: {
           item_total:{
             "currency_code": "EUR",
                 value: (<HTMLInputElement>document.getElementById("number1")).value,
               },
               tax_total: {
                 "currency_code": "EUR",
                 "value": "00.00"
               },
         }  
         },

           items: [
             {
               "name": "",
               "description": ".......",
               "sku": "sku01",
               "unit_amount": {
                 "currency_code": "EUR",
                 "value": "20.00"
               },
               "quantity": (<HTMLInputElement>document.getElementById("number")).value,

             }]

       }],

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X