IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Ajouter le SDK PHP de Paypal


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mai 2021
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mai 2021
    Messages : 33
    Points : 21
    Points
    21
    Par défaut Ajouter le SDK PHP de Paypal
    Bonjour

    J'essaie d'ajouter le SDK de Paypal pour PHP à mon site en suivant le guide :
    https://developer.paypal.com/docs/ch...ion/setup-sdk/

    Je me suis connecté en SSH avec Putty et j'ai installé le SDK avec la commande indiquée : "composer require paypal/paypal-checkout-sdk 1.0.1".

    Ensuite j'ai copié
    Code : 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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <?php
     
    namespace Sample;
     
    use PayPalCheckoutSdk\Core\PayPalHttpClient;
    use PayPalCheckoutSdk\Core\SandboxEnvironment;
     
    ini_set('error_reporting', E_ALL); // or error_reporting(E_ALL);
    ini_set('display_errors', '1');
    ini_set('display_startup_errors', '1');
     
    class PayPalClient
    {
        /**
         * Returns PayPal HTTP client instance with environment that has access
         * credentials context. Use this instance to invoke PayPal APIs, provided the
         * credentials have access.
         */
        public static function client()
        {
            return new PayPalHttpClient(self::environment());
        }
     
        /**
         * Set up and return PayPal PHP SDK environment with PayPal access credentials.
         * This sample uses SandboxEnvironment. In production, use LiveEnvironment.
         */
        public static function environment()
        {
            $clientId = getenv("CLIENT_ID") ?: "PAYPAL-SANDBOX-CLIENT-ID";
            $clientSecret = getenv("CLIENT_SECRET") ?: "PAYPAL-SANDBOX-CLIENT-SECRET";
            return new SandboxEnvironment($clientId, $clientSecret);
        }
    }
     
    $request = new OrdersCreateRequest();
    $request->headers["prefer"] = "return=representation";
     
    $request = new OrdersCreateRequest();
    $request->headers["PayPal-Partner-Attribution-Id"] = "PARTNER_ID_ASSIGNED_BY_YOUR_PARTNER_MANAGER";
     
    ?>
    dans un fichier paypal_setup.php, à la racine du site, et je l'ai executé pour vérifier si ça fonctionnait, mais j'ai l'erreur
    Fatal error: Uncaught Error: Class 'Sample\OrdersCreateRequest' not found in /home/u840737519/domains/dom83.xyz/public_html/paypal_setup.php:37 Stack trace: #0 {main} thrown in /home/u840737519/domains/dom83.xyz/public_html/paypal_setup.php on line 37
    Eclairez-moi svp.

    Merci

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 269
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 269
    Points : 8 568
    Points
    8 568
    Billets dans le blog
    17
    Par défaut
    Tu t'y prends comment pour l'exécution ? Composer est bien intégré à ta page ?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mai 2021
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mai 2021
    Messages : 33
    Points : 21
    Points
    21
    Par défaut
    J'ai ouvert l'adresse du fichier dans mon navigateur.

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 269
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 269
    Points : 8 568
    Points
    8 568
    Billets dans le blog
    17
    Par défaut
    C'est un bon début Et pour l'intégration de Composer ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mai 2021
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mai 2021
    Messages : 33
    Points : 21
    Points
    21
    Par défaut
    Composer est préinstallé dans mon hébergement (chez Hostinger).
    Le code php que j'ai copié/collé est la définition de la fonction que je vais utiliser ensuite pour faire fonctionner le bouton paypal. La classe "OrdersCreateRequest" qu'il ne trouve pas aurait du être installée je suppose.
    Il ne semble pas y avoir eu d'erreur à l'installation pourtant, il a juste dit que la version est obsolète :
    Nom : putty paypal sdk .jpg
Affichages : 663
Taille : 230,3 Ko

  6. #6
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 269
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 269
    Points : 8 568
    Points
    8 568
    Billets dans le blog
    17
    Par défaut
    Complser est pré installé OK. Mais ensuite pour l'utilisation de Composer et de ton API PayPal, tu t'y prends comment ? Donne du code.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mai 2021
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mai 2021
    Messages : 33
    Points : 21
    Points
    21
    Par défaut
    J'ai uniquement fait ce que j'ai dit :
    - je me suis connecté avec Putty
    - j'ai executé "composer require paypal/paypal-checkout-sdk 1.0.1"
    - j'ai attendu que ça s'installe
    - puis j'ai copié/collé
    Code : 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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <?php
     
    namespace Sample;
     
    use PayPalCheckoutSdk\Core\PayPalHttpClient;
    use PayPalCheckoutSdk\Core\SandboxEnvironment;
     
    ini_set('error_reporting', E_ALL); // or error_reporting(E_ALL);
    ini_set('display_errors', '1');
    ini_set('display_startup_errors', '1');
     
    class PayPalClient
    {
        /**
         * Returns PayPal HTTP client instance with environment that has access
         * credentials context. Use this instance to invoke PayPal APIs, provided the
         * credentials have access.
         */
        public static function client()
        {
            return new PayPalHttpClient(self::environment());
        }
     
        /**
         * Set up and return PayPal PHP SDK environment with PayPal access credentials.
         * This sample uses SandboxEnvironment. In production, use LiveEnvironment.
         */
        public static function environment()
        {
            $clientId = getenv("CLIENT_ID") ?: "PAYPAL-SANDBOX-CLIENT-ID";
            $clientSecret = getenv("CLIENT_SECRET") ?: "PAYPAL-SANDBOX-CLIENT-SECRET";
            return new SandboxEnvironment($clientId, $clientSecret);
        }
    }
     
    $request = new OrdersCreateRequest();
    $request->headers["prefer"] = "return=representation";
     
    $request = new OrdersCreateRequest();
    $request->headers["PayPal-Partner-Attribution-Id"] = "PARTNER_ID_ASSIGNED_BY_YOUR_PARTNER_MANAGER";
     
    ?>
    dans un fichier php que j'ai envoyé sur le site et j'ai chargé la page dans mon navigateur pour voir si ça fonctionnait, et j'ai cette erreur :
    Fatal error: Uncaught Error: Class 'Sample\OrdersCreateRequest' not found in /home/u840737519/domains/dom83.xyz/public_html/paypal_setup.php:37 Stack trace: #0 {main} thrown in /home/u840737519/domains/dom83.xyz/public_html/paypal_setup.php on line 37
    Il fallait que je fasse autre chose entre les deux ?

  8. #8
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 269
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 269
    Points : 8 568
    Points
    8 568
    Billets dans le blog
    17
    Par défaut
    Et bien oui, tu veux instancier un OrdersCreateRequest mais je ne vois pas sa définition et ni d'inclusion de fichier, d'où le message d'erreur PHP.

    Je ne sais pas dans quelle mesure ton hébergeur automatise l'utilisation de Composer, mais généralement il faut l'inclure en début de script pour activer l'autoloading.

    Ça te parle tout ça ?

  9. #9
    Membre à l'essai
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mai 2021
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mai 2021
    Messages : 33
    Points : 21
    Points
    21
    Par défaut
    Citation Envoyé par Séb. Voir le message
    Ça te parle tout ça ?
    Absolument pas...
    D'habitude en php je ne fais en gros que lire et écrire dans les bases de données et quelques opérations sur des chaines de texte, ce que je dois faire là m'est totalement inconnu, et le guide de paypal ne donne aucun détail.

    Ils disent juste :
    After you install the SDK, make it available to your app and configure your environment. Configuration details include either sandbox for testing or live for production, and your client ID and secret for your app.
    Ensuite ils passent directement au code que j'ai copié/collé.
    In the directory where you installed the SDK, create a file in your preferred language. Include this code to make the SDK available and configure your environment with your application credentials.
    https://developer.paypal.com/docs/ch...ion/setup-sdk/

  10. #10
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 269
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 269
    Points : 8 568
    Points
    8 568
    Billets dans le blog
    17
    Par défaut
    Pour utiliser les libs Composer il faut inclure l'autoloader.

    Généralement il faut mettre ceci en début de script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    require '/path/to/vendor/autoload.php';
    vendor/autoload.php ayant été créé par Composer lors de son installation.

    Tu as le détail ici => https://getcomposer.org/doc/

    Si Composer est correctement inclus à ton script, normalement toutes les classes définies par le package PayPal seront automatiquement incluses au besoin, ce qui devrait éviter les erreurs comme Fatal error: Uncaught Error: Class 'Sample\OrdersCreateRequest' not found

  11. #11
    Membre à l'essai
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mai 2021
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mai 2021
    Messages : 33
    Points : 21
    Points
    21
    Par défaut
    Aie aie aie, je me sens stupide de ne toujours pas comprendre même après tes gracieuses explications, mais je reste perdu.

    A la page suivante (https://developer.paypal.com/docs/ch...p-transaction/) il y a un autre script , avec au début
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    require __DIR__ . '/vendor/autoload.php';
    donc je suppose que c'est celui-là que je dois inclure à ma page pour le bouton, et non le premier. Mais que devient le premier script, il semble devoir être dans un autre fichier, mais on ne l'include() pas, donc je comprend pas...

    En tout cas, le bouton n'apparait pas. Il apparaissait et fonctionnait au début avec la version javascript, mais depuis que j'ai fait cette modif pour que ça appelle côté serveur il n'apparait plus, sans mettre d'erreur.

    Je n'ai pas spécifié de dossier pour l'installation du sdk (J'aurai dû ?), donc je suppose que je dois remplacer "__DIR__" par "".

    Voici la page que je teste. (Elle servira à acheter la version compléte ou des items bonus pour mes jeux.) Le bouton devrait apparaitre sous l'image du jeu.
    https://dom83.xyz/pay/pay.php?pay_wi...ency=%E2%82%AC

  12. #12
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 269
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 269
    Points : 8 568
    Points
    8 568
    Billets dans le blog
    17
    Par défaut
    Je n'ai pas spécifié de dossier pour l'installation du sdk (J'aurai dû ?)
    Non, laisse Composer se débrouiller.

    donc je suppose que je dois remplacer "__DIR__" par "".
    __DIR__ est une contante PHP contenant le chemin vers le script courant. Tu peux le remplacer. Il faut mettre le chemin adapté vers vendor/autoload.php, à voir côté serveur où se trouve ce fichier.

    En tout cas, le bouton n'apparait pas. Il apparaissait et fonctionnait au début avec la version javascript, mais depuis que j'ai fait cette modif pour que ça appelle côté serveur il n'apparait plus, sans mettre d'erreur.
    Je ne connais pas PayPal, mais j'ai l'impression que le bouton est géré côté client par du JS => https://developer.paypal.com/docs/checkout/integrate/

  13. #13
    Membre à l'essai
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mai 2021
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mai 2021
    Messages : 33
    Points : 21
    Points
    21
    Par défaut
    Ouf, soulagé d'avoir une réponse, j'avais cru qu'on m'avait laissé tomber.

    Citation Envoyé par Séb. Voir le message
    __DIR__ est une contante PHP contenant le chemin vers le script courant. Tu peux le remplacer. Il faut mettre le chemin adapté vers vendor/autoload.php, à voir côté serveur où se trouve ce fichier.
    Je suis sensé voir ces fichiers avec Filezilla ? Car je ne les vois pas. C'est ce que Composer a installé ou ce sont des fichiers que j'aurai dû ajouter moi-même ?

    Citation Envoyé par Séb. Voir le message
    Je ne connais pas PayPal, mais j'ai l'impression que le bouton est géré côté client par du JS => https://developer.paypal.com/docs/checkout/integrate/
    Oui il est généré en js. Au début ça donne la méthode simple uniquement en js (https://developer.paypal.com/docs/checkout/integrate/), et ça fonctionnait pour moi, mais le montant de l'achat et l'url de retour peuvent être altrérés puisqu'ils sont côté client, donc plus loin ça montre comment donner ces infos côté serveur, en php (https://developer.paypal.com/docs/ch...ion/setup-sdk/) et c'est là que je bloque.

  14. #14
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    Je viens de lire la discussion et bien que beaucoup moins à l'aise que Séb., j'ai quand même compris que le souci était de savoir où Composer avait placé son autoloader. Comme tu ne l'as pas trouvé, ton hébergeur doit pouvoir te renseigner ; pose-lui la question...

  15. #15
    Membre à l'essai
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mai 2021
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mai 2021
    Messages : 33
    Points : 21
    Points
    21
    Par défaut
    Ils m'ont dit d'installer un Composer local :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
     
    php -r "if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
     
    php composer-setup.php
     
    php -r "unlink('composer-setup.php');"
    Donc je l'ai fait, puis j'ai refait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    composer require paypal/paypal-checkout-sdk 1.0.1
    Nom : putty paypal sdk2 .jpg
Affichages : 574
Taille : 505,6 Ko

    Et... ça ne change rien...
    Le bouton n'apparait toujours pas, et je ne vois toujours pas les fichiers dans Filezilla non-plus...

  16. #16
    Membre à l'essai
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mai 2021
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mai 2021
    Messages : 33
    Points : 21
    Points
    21
    Par défaut
    Aidez-moi svp, ça fait deux semaines que je suis bloqué là-dessus.

  17. #17
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Dom833 Voir le message
    Ils m'ont dit d'installer un Composer local :
    Vu que tu n'arrives pas à tes fins, tourne toi vers ton hébergeur...

  18. #18
    Membre à l'essai
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mai 2021
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mai 2021
    Messages : 33
    Points : 21
    Points
    21
    Par défaut
    Ca fait maintenant trois mois, et rien n'a bougé, du tout... Le support de Paypal ne sert à rien et ne fait que m'indiquer toujours la page : "https://developer.paypal.com/docs/checkout/reference/server-integration/setup-sdk/". Le support de mon hébergeur est tout aussi inutile.

    Ici au moins vous savez de quoi vous parlez. Donc déjà vous pourrez répondre à cette question à laquelle aucun d'eux n'a pu me répondre : Est-ce que oui ou non je devrai voir dans FileZilla les fichiers installés par Compoer ? Car pour commencer je ne sais toujours pas si l'installation a vraiment réussi...

    Sur ma page de test quand j'appuie sur le bouton, une page s'ouvre mais se ferme aussitôt. Des erreurs apparaissent dans Console, mais ça fait référence aux fichiers venant du site de paypal, pas à mes fichiers à moi...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    create_order_error Object { err: "JSON.parse: unexpected character at…", timestamp: "1629394247936", referer: "www.sandbox.paypal.com", sdkCorrelationID: "afd4baf737915", sessionID: "uid_12f0dc6fd9_mtc6mtk6ntm", clientID: "AZyWh9PnIc4e5B6IJgMdcZGWGmBzh-6VaNT…", env: "sandbox", buttonSessionID: "uid_b7fe6f1361_mtc6mza6ndi", buttonCorrelationID: "57d06339b5c4d", user_id: "uid_b7fe6f1361_mtc6mza6ndi" }  buttons:1317:42563
    click_initiate_payment_reject Object { err: "JSON.parse: unexpected character at…", timestamp: "1629394247944", referer: "www.sandbox.paypal.com", sdkCorrelationID: "afd4baf737915", sessionID: "uid_12f0dc6fd9_mtc6mtk6ntm", clientID: "AZyWh9PnIc4e5B6IJgMdcZGWGmBzh-6VaNT…", env: "sandbox", buttonSessionID: "uid_b7fe6f1361_mtc6mza6ndi", buttonCorrelationID: "57d06339b5c4d", user_id: "uid_b7fe6f1361_mtc6mza6ndi" }  buttons:1317:42563
    unhandled_error Object { err: "JSON.parse: unexpected character at…", timestamp: "1629394247952", referer: "www.sandbox.paypal.com", sdkCorrelationID: "afd4baf737915", sessionID: "uid_12f0dc6fd9_mtc6mtk6ntm", clientID: "AZyWh9PnIc4e5B6IJgMdcZGWGmBzh-6VaNT…", env: "sandbox", buttonSessionID: "uid_b7fe6f1361_mtc6mza6ndi", buttonCorrelationID: "57d06339b5c4d", user_id: "uid_b7fe6f1361_mtc6mza6ndi" }

  19. #19
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 838
    Points
    2 838
    Par défaut
    Bonjour,

    Il suffit souvent d'aller voir le Github du code source (Voir : https://github.com/paypal/Checkout-PHP-SDK)

    Là-bas, s'y trouve un exemple (A JOUR !! pas comme la documentation officielle, pfff) qui explique comment créer une commande.

    On peut voir que le code n'a pas vraiment changé, par contre, on peut voir qu'il y a un namespace derrière cette classe.
    Il faut donc l'ajouter au même titre que les autres classes.

    En gros, en haut de votre fichier, ajoutez :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    use PayPalCheckoutSdk\Orders\OrdersCreateRequest;
    avec les autres use.


    PS : Je déteste Paypal, c'est la pire documentation du monde et la pire interface du monde d'un point de vue développer; je vous souhaite donc bon courage !
    Et encore, la documentation d'aujourd'hui vaut 10 fois celle d'il y a quelques années mais montrer un code avec une fatal error dedans c'est quand même magique


    Désolé si je réponds à côté de la plaque... j'ai un peu du mal à comprendre comment on part d'une erreur PHP à une erreur Javascript en console lors du click sur le bouton

  20. #20
    Membre à l'essai
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mai 2021
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mai 2021
    Messages : 33
    Points : 21
    Points
    21
    Par défaut
    Merci pour le lien et l'explication.

    Je vais prendre ces fichiers-là, ça sera plus clair et les noms correspondront, car dans le guide les scripts appellent des fichiers qu'on doit créer mais ça ne dit pas clairement lequel il fallait appeller comment...

    Cependant je reste un peu perdu...
    - Je copie le contenu du dossier "samples" dans mon dossier "paypal".
    - Dans "PayPalClient.php" je remplace "<<PAYPAL-CLIENT-ID>>" et "<<PAYPAL-CLIENT-SECRET>>" par mes valeurs.
    - Dans "PatchOrder.php" je remplace 'USD' par 'EUR' et '200.00' par ma variable $price . Je supprime la partie 'breakdown' car je ne suis pas assujeti à la tva.
    - Dans "CaptureIntentExamples/CreateOrder.php" et "AuthorizeIntentExamples/CreateOrder.php" je remplace 'return_url', 'cancel_url' et 'brand_name'. A nouveau je remplace 'USD' par 'EUR' et le montant par $price, et je retire 'breakdown', 'items' et 'shipping'.
    Mais lequel de ces fichiers je dois appeler avec le bouton sur ma page ?
    Dans l'exemple c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return fetch('/my-server/create-paypal-transaction', {...

Discussions similaires

  1. Paypal Express Checkout API REST avec SDK PHP
    Par Soundboy39 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 09/07/2018, 10h07
  2. Éditeur texte/html pour ajout de news PHP
    Par UrbanCORE dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 10
    Dernier message: 27/08/2012, 22h13
  3. [MediaWiki] Ajouter du code php dans tous les articles
    Par *WaNa* dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 05/02/2008, 00h49
  4. Réponses: 1
    Dernier message: 14/11/2007, 16h18
  5. [LDAP] comment ajouter un module PHP
    Par sezar dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 20/03/2006, 18h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo