Paypal et IPN.

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Paypal et IPN.

Re: Paypal et IPN.

par moogli » 11 oct. 2013, 19:21

pourquoi tu t'emmerde avec strcmp ?

c'est du texte que tu récupère.

un simple if( strtolower(trim($res)) == 'verified') devrait faire l'affaire ?

sinon var_dump($res) juste sous le $res = fgets ($fp, 1024); devrait t'indiquer ce que tu veux.

@+

Re: Paypal et IPN.

par Likeun » 09 oct. 2013, 13:44

|VERIFIED | : |-1|
var_dump :

Bon bah avec l'espace, du coup j'ai plus 2 mais -1...
<?php
$detailcommande = explode("|", $custom);
if (!$fp) {
} else {
fputs ($fp, $header . $req);
while (!feof($fp)) {
$res = fgets ($fp, 1024);
$destinataire = "[email protected]"; // Pour plusieurs destinataires, les séparer par une virgule
$expediteur = "[email protected]";
$sujet = "ClickWeb - pb http";
$entete = "From: $expediteur \n";
$entete .= "Reply-to: $expediteur \n";
//$entete .= "Cc: [email protected] \n";
//$entete .= "Bcc: [email protected] \n";
$entete .= "X-Priority: 1 \n";
$entete .= "MIME-Version: 1.0 \n";
$entete .= "Content-Type: multipart/mixed; boundary=\"$delimiteur\" \n"; // Déclaration du type du mail et du délimiteur
$entete .= " \n";
$message = "--$delimiteur \n"; // Séparation du bloc "entete" et du bloc "message" par notre délimiteur
$message .= "Content-Type: text/html; charset=\"iso-8859-1\" \n"; // Déclaration du type du message ainsi que la charte de codage
$message .= "Content-Transfer-Encoding:8bit\n"; // Déclaration du type de codage
$message .= "\n";
$test = strcmp($res,"VERIFIED ");
$message .= "|".$res."| : |".$test."|<br />";
$message .= "var_dump : ".var_dump($res);
$message .= "\n";
$message .= "--$delimiteur"; 
mail($destinataire, $sujet, $message, $entete);
if (strcmp($res,"VERIFIED ")==0) 
{

Re: Paypal et IPN.

par Likeun » 09 oct. 2013, 13:27

|VERIFIED | : |2|
var_dump :

Effectivement, il y a un espace après le VERIFIED , bien joué !

Je vais essayé de faire le strcmp avec un espace.

Par contre bisare que le var_dump, m'affiche rien sur la variable ...

Re: Paypal et IPN.

par Likeun » 09 oct. 2013, 13:16

Ah oui, c'est pas bête le coup des | autours de la variable $res.

Je teste ça de suite et je vous le dis.

Merci de votre réponse en tout cas .... car ça fait quelques jours que je suis dessus et je n'y arrive pas !

Encore merci

Re: Paypal et IPN.

par moogli » 09 oct. 2013, 13:12

Salut,

Tu n'aurais pas aute chose dans ta chaîne ?
Genre des caractèrez blanc ?
Est tu sur d'avoir toutes la chaîne ?
Tu peux l'afficher avec des | autour ou utiliser var_dump ;)

@+

Paypal et IPN.

par Likeun » 09 oct. 2013, 12:13

Bonjour,

je rencontre actuellement un problème avec PAYPAL et l'IPN.

En résumé :
- Mes comptes sandbox sont ok.
- l'IPN est bien envoyé sur mon site
- l'authentification IPN est ok : HTTP/1.1 200 OK

Le problème viens lors de la récupération du "VERIFIED".

Code : Tout sélectionner

$header = "POST /cgi-bin/webscr HTTP/1.1\r\n"; $header .= "Content-Type: application/x-www-form-urlencoded\r\n"; $header .= "Host: www.sandbox.paypal.com\r\n"; $header .= "Connection: close\r\n"; $header .= "Content-Length: " . strlen($req) . "\r\n\r\n"; $fp = fsockopen ('ssl://www.sandbox.paypal.com', 443, $errno, $errstr, 30); if (!$fp) { } else { fputs ($fp, $header . $req); while (!feof($fp)) { $res = fgets ($fp, 1024); if (strcmp($res,"VERIFIED")==0) { mon code... }
Ce que j'ai testé, c'est avant de rentrer dans mon if(strcmp($res,"VERIFIED")==0) , c'est de m'envoyer par mail le contenu du $res.

Je récupère bien VERIFIED, par contre quand je récupéere la valeur de la fonction strcmp, il me sort 2...et non 0.

Avez vous une solution pour moi ?

Merci d'avance