Intégration PAYPAL

Ce topic a été résolu
Aljoira_Khyria

Aljoira_Khyria Le 28 août 2018 à 18:09 (Édité le 25 janvier 2019 à 17:54)

Salut! Je suis en train de suivre l'un de vos tutos, celui de l'intégration de Paypal par Express Checkout. j'ai télécharger la SDK que Primfx met à notre disposition, seulement, je rencontre une erreur que je n'arrive pas à résoudre:  Fatal error: Call to a member function setSandboxMode() on a non-object in C:\wamp\www\pages\paypal.php on line 17

Voici mon code:
<!DOCTYPE html>
    <html>
    <head>
        <title>Page de paiement</title>
        <meta charset="utf-8">
        <script src="https://www.paypalobjects.com/api/checkout.js"></script>
    </head>
    <body>
        <?php  
            require_once "../class/PayPalPayment.php";

            $success = 0;
            $msg = "Une erreur est survenue, merci de bien vouloir réessayer ultérieurement...";
            $paypal_response = [];
            
            $payer=1;
            $payer->setSandboxMode(1); // On active le mode Sandbox
            $payer->setClientID("xxxx"); // On indique sont Client ID
            $payer->setSecret("yyyyy"); // On indique son Secret
        
            $payment_data = [
               "intent" => "sale",
               "redirect_urls" => [
                  "return_url" => "http://localhost/",
                  "cancel_url" => "http://localhost/"
               ],
               "payer" => [
                  "payment_method" => "paypal"
               ],
               "transactions" => [
                  [
                     "amount" => [
                        "total" => "9.99", // Prix total de la transaction, ici le prix de notre item
                        "currency" => "EUR" // USD, CAD, etc.
                     ],
                     "item_list" => [
                        "items" => [
                           [
                              "sku" => "1PK5Z9", // Un identifiant 
quelconque (code / référence) que vous pouvez attribuer au produit que 
vous vendez
                              "quantity" => "1",
                              "name" => "Un produit quelconque",
                              "price" => "9.99",
                              "currency" => "EUR"
                           ]
                        ]
                     ],
                     "description" => "Description du paiement..."
                  ]
               ]
            ];

        ?>
        <div id="bouton-paypal"></div>
        <script>
           paypal.Button.render({
              env: 'sandbox', // Ou 'production',
              commit: true, // Affiche le bouton  "Payer maintenant"
              style: {
                color: 'blue', // ou 'blue', 'silver', 'black'
                size: 'small' // ou 'small', 'medium', 'large'
                // Autres options de style disponibles ici : 
https://developer.paypal.com/docs/integration/direct/express-checkout/integration-jsv4/customize-button/
              },
              payment: function(data, actions) {
                /* 
                 * Création du paiement
                 */
                console.log('paiement créé');
              },
              onAuthorize: function(data, actions) {
                /* 
                 * Exécution du paiement 
                 */
              },
              onCancel: function(data, actions) {
                /* 
                 * L'acheteur a annulé le paiement
                 */
              },
              onError: function(err) {
                /* 
                 * Une erreur est survenue durant le paiement 
                 */
              }
            }, '#bouton-paypal');
        </script>
        <?php

        ?>
    </body>
</html>
Johan-Krn

Johan-Krn Le 30 août 2018 à 01:30

Bonjour, tu as oublié d'initialiser la class PayPalPayment remplace la ligne 16 par ça :
$payer = new PayPalPayment();
Bonne chance 😀
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte