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 :

Paypal ExpressCheckOut


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 228
    Points : 60
    Points
    60
    Par défaut Paypal ExpressCheckOut
    Bonjour,

    Depuis des jours et de longues discussions (inutiles) avec le support Paypal, j'ai de nombreux problèmes que je ne comprends pas.

    Le premier est que le prix ne s'affiche pas quand j'arrive sur Paypal alors que mon URL est correcte.

    L'image :
    Nom : bug1.jpg
Affichages : 283
Taille : 12,2 Ko

    L'URL envoyée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    https://api-3t.sandbox.paypal.com/nvp?VERSION=85&USER=XXXXX&PWD=PPPPP&SIGNATURE=XXX.XXXXXXX&METHOD=SetExpressCheckout&CANCELURL=http%3A%2F%2Fdomaine%2Fcancel.php&RETURNURL=http%3A%2F%2Fdomaine%2Freturn.php&AMT=9.99&CURRENCYCODE=EUR&DESC=30+Jours&LOCALECODE=FR&CUSTOM=43&HDRIMG=http%3A%2F%2Fdomaine%2Fimages%2Flogo.png
    Mon deuxième problème est au retour. Je n'arrive pas à récupérer les données.

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    j'ai copié collé ton url et j'obtiens bien un résultat :
    TIMESTAMP=2014%2d05%2d30T07%3a21%3a11Z&CORRELATIONID=681b4d3295ecc&ACK=Failure&VERSION=85&BUILD=11196751&L_ERRORCODE0=10002&L_SHORTMESSAGE0=Security%20error&L_LONGMESSAGE0=Security%20header%20is%20not%20valid&L_SEVERITYCODE0=Error
    Pour utiliser correctement Paypal Express Checkout, tu dois passer de préférence par l'outil curl

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 228
    Points : 60
    Points
    60
    Par défaut
    Merci, mais j'utilise curl. Voici mon code pour aller vers Paypal (avant ça, je récupère les datas à envoyer) :

    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
    $requete = construit_url_paypal();
    $requete = $requete."&METHOD=SetExpressCheckout".
    			"&CANCELURL=".urlencode("http://domaine/cancel.php").
    			"&RETURNURL=".urlencode("http://domaine/return.php").
    			"&AMT=".$montant_abo.
    			"&CURRENCYCODE=EUR".
    			"&DESC=".urlencode($titre_abo).
    			"&LOCALECODE=FR".
    			"&CUSTOM=".$id_profil.
    			"&HDRIMG=".urlencode("http://domaine/images/logo.png");
     
    $ch = curl_init($requete);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
     
    $resultat_paypal = curl_exec($ch);
     
    //echo $requete;
     
    if (!$resultat_paypal)
    	{echo "<p>Erreur</p><p>".curl_error($ch)."</p>";}
    else
    {
    	$liste_param_paypal = recup_param_paypal($resultat_paypal); // Lance notre fonction qui dispatche le résultat obtenu en un array
     
    	// Si la requête a été traitée avec succès
    	if ($liste_param_paypal['ACK'] == 'Success')
    	{
    		// Redirige le visiteur sur le site de PayPal
    		header("Location: https://www.sandbox.paypal.com/webscr&cmd=_express-checkout&token=".$liste_param_paypal['TOKEN']);
                    exit();
    	}
    	else // En cas d'échec, affiche la première erreur trouvée.
    	{echo "<p>Erreur de communication avec le serveur PayPal.<br />".$liste_param_paypal['L_SHORTMESSAGE0']."<br />".$liste_param_paypal['L_LONGMESSAGE0']."</p>";}		
    }
    curl_close($ch);
    ?>

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    je ne vois pas ce code les directives :
    - USER
    - PWD
    - SIGNATURE

    Sans elles, tu n'auras que le retour ACK=Failure avec pour motif : "Security header is not valid"

    Vérifie bien ton compte paypal, toutes ces informations y sont dedans.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 228
    Points : 60
    Points
    60
    Par défaut
    C'est normal, ils sont dans la fonction "construit_url_paypal" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function construit_url_paypal()
      {
    	$api_paypal = 'https://api-3t.sandbox.paypal.com/nvp?'; // Site de l'API PayPal. On ajoute déjà le ? afin de concaténer directement les paramètres.
    	$version = 85.0; // Version de l'API
     
    	$user = 'paypal-facilitator_api1.XXX'; // Utilisateur API
    	$pass = 'YYYYYY'; // Mot de passe API
    	$signature = 'AA-BB.CCCCCCCCCCCCCCCCCCC'; // Signature de l'API
     
    	$api_paypal = $api_paypal.'VERSION='.$version.'&USER='.$user.'&PWD='.$pass.'&SIGNATURE='.$signature; // Ajoute tous les paramètres
     
    	return 	$api_paypal; // Renvoie la chaîne contenant tous nos paramètres.
      }

  6. #6
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Tu n'as pas bien potassé la doc de Paypal au niveau de la gestion des comptes de tests : un peu de lecture ici.
    A moins que tu ais supprimé un bout de ton code, je pense que : $user = 'paypal-facilitator_api1.XXX' ne doit pas utilisable...

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 228
    Points : 60
    Points
    60
    Par défaut
    J'avoue être paumé dans la "doc" paypal ...

    Mais bien entendu, le XXX remplace mon vrai compte (que j'utilise sans soucis sur un autre site mais en C#). Je précise qu'il s'agit de la sandbox.

  8. #8
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Voici le tableau des directives que j'utilise pour mes appels Paypal Express Checkout :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    array(
        CURLOPT_POST => 1,
        CURLOPT_HEADER => 0,
        CURLOPT_URL => $api_endpoint,   // url appelée : https://api-3t.[sandbox.]paypal.com/nvp'
        CURLOPT_FRESH_CONNECT => 1,
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_FORBID_REUSE => 1,
        CURLOPT_TIMEOUT => 0,
        CURLOPT_SSL_VERIFYPEER => 0,
        CURLOPT_SSL_VERIFYHOST => 0,
        CURLOPT_POSTFIELDS => http_build_query(array_merge($data, $settings), '', "&")  // $setting => tableau des paramètres de connexion, $data => tableau des données d'exécution : montant, monnaie, urls...
    );
    Une fois l'appel lancé, Paypal te répond et la réponse contient un jeton de sécurité (TOKEN) qui te permet de rediriger le client vers l'interface Paypal afin qu'il puisse finaliser son paiement.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 228
    Points : 60
    Points
    60
    Par défaut
    J'avoue que je ne comprends pas tout

    Je n'ai pas ça du tout et je n'ai pas vu ce type de code dans tous les exemples que j'ai regardé. Remarques, il n'y en a pas un identique aux autres

    Si je comprends bien, ceci est dans ta page de paiement AVANT d'aller sur le site Paypal ?

    Tu dis que le TOKEN permet de renvoyer vers Paypal. Moi j'avais lu qu'on le récupérait au retour de Paypal.

    Bref, je suis encore plus largué

    Et comment crées-tu les $data et $settings ? Je ne suis pas encore à l'aise en php

  10. #10
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par Scots Voir le message
    Si je comprends bien, ceci est dans ta page de paiement AVANT d'aller sur le site Paypal ?

    Tu dis que le TOKEN permet de renvoyer vers Paypal. Moi j'avais lu qu'on le récupérait au retour de Paypal.
    Comment ça fonctionne :

    1 - Le marchand doit d'abord demander à Paypal une autorisation spécifiquement formatée pour utiliser sa plateforme.

    Pour que cela fonctionne : il soumet une requête à Payapl avec tous les paramètres nécessaires à la transaction de paiement (1er appel via curl)
    - identifiant marchand : USER, PWD, SIGNATURE
    - URL de rappel : RETURNURL, CANCELURL
    - autres directives : METHOD, LOCALCODE, toutes les directives commençant par PAYMENTREQUEST et L_PAYMENTREQUEST

    2 - La plateforme Paypal vérifie la validité de la requête et si tout est OK, génère une transaction à venir (limitée dans le temps bien évidemment)
    Paypal te répond et la réponse une fois analysée, contient ou pas le jeton de sécurité identifiant la transaction qui a été préparée (si pas de jeton => erreur)
    Si tout est ok, tu rediriges le client vers le site Paypal ainsi : https://www.[sandbox.]paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=TOKEN&useraction=commit

    3 - Le client fait ce qu'il a à faire pour autoriser le paiement

    4 - Paypal te recontacte sur l'url de rappel (directive RETURNURL) et te renvoie le paramètre PAYERID (identifiant ton client sur la plateforme Paypal)

    5 - Pour des raisons de sécurité, Paypal ne renvoie pas le résultat du traitement comme ça, c'est bien plus compliqué.
    Tu dois recontacter la plateforme à nouveau via curl pour récupérer l'IPN (Instant Payment Notification) afin d'avoir les détails de la transaction (si elle a été autorisée ou pas)
    Pour cela tu dois renvoyer dans ton appel :
    - le jeton de sécurité
    - le paramètre PAYERID
    - changer la directive METHOD du premier appel curl de 'SetExpressCheckout' en 'GetExpressCheckoutDetails'
    - renvoyer une url de rappel via la directive PAYMENTREQUEST_0_NOTIFYURL (pointant vers le script d'analyse de l'IPN)
    - avoir des détails supplémentaires avec RETURNFMFDETAILS => 1

    6 - Si l'appel précédent via curl réussit tu récupères en retour des données dont le paramètre ACK = Success|Failure,
    si Success, tu dois regarder la valeur prise par le paramètre PAYMENTINFO_0_PAYMENTSTATUS qui sont au nombre de 10 :
    Canceled_Reversal | Completed | Denied | Expired | Failed | Pending | Processed | Refunded | Reversed | Voided
    En fonction de cette valeur, tu dois adapter le traitement de ta commande en base de données.

    Good luck

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 228
    Points : 60
    Points
    60
    Par défaut
    Merci beaucoup pour ces informations très claires et le temps que tu as pris. Mais je ne comprends du coup plus rien aux exemples que j'ai trouvés qui soit disant fonctionnent mais que je n'arrive pas à appliquer en PHP.

    Ce que tu m'explique c'est que la méthode IPN est donc maintenant obligatoire ? J'ai pourtant un site .Net qui ne l'utilise pas :~( et qui fonctionne ...

    Dans le code que j'ai fais, j'arrive bien sur ma page return avec "Success" quand je passe le montant "en dur" dans cette même page. Si je passe mon "$montant" dans ma page return alors j'ai un "False". En outre, je n'arrive pas à récupérer les données que j'avais envoyées.

    Je crois que j'ai vraiment besoin de trouver un exemple qui fonctionne "pour de vrai" sinon je ne vais pas m'en sortir Tout ce que je trouve comporte les datas "en dur" et sans aucune variable.

  12. #12
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    IPN n'est pas obligatoire mais très fortement conseillé dans la mesure où c'est la seule solution qui pallie aux défaillances de connexion internet (et c'est pas rien) : lecture ici.
    Ne pas l'implémenter c'est prendre un gros risque d'autant plus que cela concerne la solution de paiement (confiance, sécurité, etc...)

    Essaie de remplacer la directive AMT par PAYMENTREQUEST_0_AMT

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 228
    Points : 60
    Points
    60
    Par défaut
    Merci Rawsrc. Je vais regarder tout ça.

    Je dois mettre PAYMENTREQUEST_0_AMT dans la requête de départ ou dans ma page de retour ?

  14. #14
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    départ

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 228
    Points : 60
    Points
    60
    Par défaut
    Well, j'ai bien avancé ! Notamment grâce à ce lien qui pourra en aider plus d'un : http://www.micahcarrick.com/paypal-ipn-with-php.html

    Il me reste un problème sur lequel je bute. Dans mes logs j'ai cette erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [01-Jun-2014 14:09:21 UTC] cURL error: [77] error setting certificate verify locations:
      CAfile: /cert/api_cert_chain.crt
      CApath: none
    Hors je n'arrive pas à trouver l'info sur le site Paypal. Quelqu'un aurait une idée ?

    Je n'aurais plus ensuite qu'à récupérer les datas

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 228
    Points : 60
    Points
    60
    Par défaut
    Bon, finalement, le code du tuto ne fonctionne pas. A priori, Paypal a changé pas mal depuis ...

    Quelle usine à gaz !

    Personne n'aurait un exemple qui fonctionne ? Tout ce que je trouve ne fonctionne pas

  17. #17
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Va sur github, tu devrais y trouver ton bonheur.

    Ici
    Ici
    ...

    Je ne connais pas ces implémentations de l'API PayPal Express Checkout, mais m'est d'avis que cela devrait t'aider à débroussailler le chemin (sans compter que les mises à jour sont récentes)

    N'oublie pas que c'est une solution de paiement en ligne, c'est forcément un poil ardu à mettre en place. Accroche-toi et lis la doc.

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 228
    Points : 60
    Points
    60
    Par défaut
    Merci Rawsrc, j'avais déjà vu le premier mais il me parait obsolète. Le deuxième est plus complet.

    Mais comme je l'ai dit précédemment, et sur ton (bon) conseil, je suis passé en mode IPN. En fait celui que j'ai trouvé fonctionne (le test de mon ipnlistener est ok sur Paypal) mais j'ai une erreur sur le certificat car je ne trouve pas le fichier .crt

    Du coup, sur mon retour, le fichier ipn.php n'effectue pas la mise en base ... Pourtant il me renvoit bien sur la page retour.php

    Bref, je suis toujours largué et Paypal n'aide pas, même leur interface change quasiment à chaque connexion :~(

  19. #19
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    T'es pas obligé de passer par un fichier certificat, tu peux juste te contenter de générer des clés d'accès à l'API (USER, PASSWORD, SIGNATURE).
    Dans ton compte, va dans PayPal Tools

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 228
    Points : 60
    Points
    60
    Par défaut
    Merci !

    Mais je ne vois pas comment intégrer ça. Dois-je mettre ça dans le fichier ipn.php ou dans le fichier ipnlistener.php ?

    L'appel au certificat se fait dans le listener. Notamment avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    curl_setopt($ch, CURLOPT_CAINFO, 
    		            dirname(__FILE__)."/cert/api_cert_chain.crt");
    C'est ça que je dois remplacer ? Et mettre les "use_ssl" à false ?

    En fait voici mon cURL :

    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
    protected function curlPost($encoded_data) {
     
            if ($this->use_ssl) {
                $uri = 'https://'.$this->getPaypalHost().'/cgi-bin/webscr';
                $this->post_uri = $uri;
            } else {
                $uri = 'http://'.$this->getPaypalHost().'/cgi-bin/webscr';
                $this->post_uri = $uri;
            }
     
            $ch = curl_init();
     
    		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
    		curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
    		curl_setopt($ch, CURLOPT_CAINFO, 
    		            dirname(__FILE__)."/cert/api_cert_chain.crt");
            curl_setopt($ch, CURLOPT_URL, $uri);
            curl_setopt($ch, CURLOPT_POST, true);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $encoded_data);
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, $this->follow_location);
            curl_setopt($ch, CURLOPT_TIMEOUT, $this->timeout);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_HEADER, true);
     
            if ($this->force_ssl_v3) {
                curl_setopt($ch, CURLOPT_SSLVERSION, 3);
            }
     
            $this->response = curl_exec($ch);
            $this->response_status = strval(curl_getinfo($ch, CURLINFO_HTTP_CODE));
     
            if ($this->response === false || $this->response_status == '0') {
                $errno = curl_errno($ch);
                $errstr = curl_error($ch);
                throw new Exception("cURL error: [$errno] $errstr");
            }
        }
    Si je comprends bien cela correspond à ton exemple en "Array" ? Et donc si oui, ce qui me manque c'est ton $datas ?..

Discussions similaires

  1. [PayPal] Intégration complète en PHP
    Par HALOMOTO dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 24/01/2010, 20h19
  2. paypal dans un freeware ?
    Par gregcat dans le forum Windows
    Réponses: 2
    Dernier message: 12/05/2006, 17h22
  3. Problème avec paypal
    Par Coussati dans le forum Applications
    Réponses: 7
    Dernier message: 04/03/2006, 23h41
  4. Site internet avec dons PAYPAL
    Par LhIaScZkTer dans le forum E-Commerce
    Réponses: 7
    Dernier message: 25/01/2006, 16h25

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