Salut,
j'ai suivis ce tuto : http://www.grafikart.fr/tutoriels/php/paiement-paypal-181, ainsi que quelques autres, mais je ne comprends pas pourquoi mon code ne fonctionne pas, le voici :

<?php
include('config.php');
$requete = "SELECT * FROM aa_settings";
$query = $connexion->query($requete);
$config = $query->fetch();
    $req = 'cmd=_notify-validate';

    foreach ($_POST as $key => $value) 
    {
        $value = urlencode(stripslashes($value));
        $req .= "&$key=$value";
    }
    $header = "POST /cgi-bin/webscr HTTP/1.0\r\n";
    $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
    $header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
    $fp = fsockopen ('ssl://www.sandbox.paypal.com', 443, $errno, $errstr, 30);
    // $item_name = $_POST'item_name']; // Nom du produit
    // $item_number = $_POST'item_number']; // Quantit?
    $payment_status = $_POST'payment_status']; // Status du paiement
    $payment_amount = $_POST'mc_gross']; // Prix
    $payment_currency = $_POST'mc_currency']; // Devise
    $txn_id = $_POST'txn_id']; // ID de la transaction
    $receiver_email = $_POST'receiver_email']; // Email de reception
    $payer_email = $_POST'payer_email']; // Email d'envoie
    $id_user = $_POST'custom']; // ID de l'user
    if (!$fp) 
    {
    } 
    else 
    {
        fputs ($fp, $header . $req);
        while (!feof($fp)) 
        {
            $res = fgets ($fp, 1024);
            if (strcmp ($res, "VERIFIED") == 0) 
        {
                if ( $payment_status == "Completed") 
                {
                        $requete = "SELECT * FROM aa_paypal WHERE txn_id = '$txn_id'";
                        $query = $connexion->query($requete);
                        $use = $query->rowCount();
                        if($use == 0)
                        {
                            if(($config'paypalmail'] == $receiver_email)&&($payment_currency == 'EUR')&&($payment_amount == $config'paypalprix']))
                            {
                                $date = time();
                                $requete = "SELECT * FROM aa_membre WHERE id = '$id_user'";
                                $query = $connexion->query($requete);
                                $exist = $query->rowCount();
                                if($exist == 1)
                                {
                                        $user = $query->fetch();
                                        $tokens = $user'tokens'];
                                        $tokens = $tokens + $config'paypalgain'];
                                        $requetepaypal = "INSERT INTO aa_paypal VALUES('','$id_user','$txn_id','$payer_email',$date')";
                                        $querypaypal = $connexion->query($requetepaypal);
                                        if($querypaypal)
                                        {
                                            $requete = "UPDATE aa_membre SET tokens = '$tokens' WHERE id = '$id_user'";
                                            $query = $connexion->query($requete);
                                            file_put_contents('log', 'OK2');
                                        }
                                }
                            }
                        }
                }
            }
            else if (strcmp ($res, "INVALID") == 0) 
            {

            }
        }
        fclose ($fp);
    }
?>

Dans mon fichier 'log', je reçoit : 'HTTP Ok'
Si je rajoute un else après :

}
            else if (strcmp ($res, "INVALID") == 0) 
            {
                file_put_contents('log', 'Transaction invalide');               
            }

Je n'ai plus rien dans le 'log' ...
Je rajoute :

else 
            {
                file_put_contents('log', 'Transaction invalide 2');               
            }

Vous auriez une idée du soucis ? :/
Merci

4 réponses


Marechoux
Auteur
Réponse acceptée

Erreur trouvée ->

$requetepaypal = "INSERT INTO aa_paypal VALUES('','$id_user','$txn_id','$payer_email',$date')";

Manque un '
(Oui j'ai honte ^^')
Merci quand même

Personne pour m'aider ? :'(

Bizarre tu n'a rien d'autre dans les logs carrément d'apache / PHP ?

Nada :/