Salut les amis me voici avec un problème bien chiant. J'espère que vous pourrez y répondre.

Je viens de suivre le tuto de grafikart sur paypal
https://www.youtube.com/watch?v=WAFotEPekpI&index=19&list=PLjwdMgw5TTLXqXKjxwPlv-5wHEVJHEYRw
Bon il est pas tout jeune, mais je pense qu'il fait toujours l'affaire.

Cependant je me retrouve bloqué vers 37:20 min de la vidéo, car Cakephp refuse de me donner le log.

Voici le code correspondant :

 public function notify(){
        $email_account = Configure::read('Paypal.mail');
        $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.'.Configure::read('Paypal.sandbox').'paypal.com', 443, $errno, $errstr, 30);
        $item_name = $_POST['item_name'];
        $item_number = $_POST['item_number'];
        $payment_status = $_POST['payment_status'];
        $payment_amount = $_POST['mc_gross'];
        $payment_currency = $_POST['mc_currency'];
        $txn_id = $_POST['txn_id'];
        $receiver_email = $_POST['receiver_email'];
        $payer_email = $_POST['payer_email'];
        parse_str($_POST['custom'],$custom);

        $this->log($_POST, 'paypal');

        die();

        // BLABLA
}

$this->log($_POST, 'paypal'); ne me créer aucun fichier. Même si je le créer à la main il ne me le rempli pas.
Et j'en ai besoin pour connaitre les donnée passé en post pour pouvoir les récupérer et les utilisers pour mes facture etc.

J'ai fais un test en faisant une insertion à la base de donnée juste après le log, et l'insertion se fait bien. Ce qui veut dire que le code est passé dessus.
Si jamais je mets du texte à la place du $_POST ca ne marche pas non plus ....
Si vous pouviez m'éclairer sur cette methode Cakephp ce serai sympatique.
La doc n'a pas sur trouver réponse à ma question.

Merci d'avance.

2 réponses


Pourquoi tu n'utilises pas, tout simplement, la méthode debug() ?

Jinou
Auteur

En fait paypal ping sur la fonction écrite plus haut, donc j'ai pas accès au debug. C'pour ca que je veux le mettre dans un fichier log pour avoir accès au POST au format texte et connaitre le nom des variables à récupérer.
Me comprend tu ?