Bug avec le système de payment

Par lakamark, il y a 11 ans


Bonjour à tous
Je suis entraine de déveloper un sistème de payment sur mon site web avec Paypal. J'ai deux petit problèmes que je renconte.

Le didaticiel est le suivant :

1 J'écrit cette ligne dans mon controller PaypalController :
2014-12-03 22:20:49 Error: Tidy not executable.

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

Pour voir les donné posté dans l'action notify de mon controller.

Je suis aller voir dans mon error.log car je ne voit pas le fichier paypal.log qui est créer dans mon tmp/log/
Il m'affiche :

2014-12-03 22:20:49 Error: Tidy not executable.

C'est un plugin "tidy " un module php que j'ai oublié d'installer sur ma machine vagrant. D'alleur comment on installe un module php sur une machine vagrant déjà. :( Je me rappelle plus comment,.
Je ne veux pas recommencer la configuration de ma machine vagrant.

2 J'ai une erreur de syntax qui me retourne quand la trasation est aprouvé par paypal sur ma vue success

Error: syntax error, unexpected ''name'' (T_CONSTANT_ENCAPSED_STRING), expecting ')' aroundFile: /var/www/local.dev/MusicalityMaker/app/Controller/PaypalController.php aroundLine: 60

En faite c'est dans la sauvegarde de transaction qui fait planter mon script au complet. Une fois la transation enregistré dans ma table mm_transactions je met le membre prenium selon sa duré de son abonnement choisi.

                                $this->Transaction->save(array(
                                    'price' => $payment_ht,
                                    'tax'   => $payment_tax,
                                    'txnid' => $txn_id,
                                    'user_id' => $uid,
                                    'action' => 'subscription',
                                    'amount' => $duration
                                    'name' => $name,
                                    'cuntry' => $country,
                                    'city'  => $city,
                                    'adress' => $address
                                ));

Merci de votre aide en avance :P

6 réponses

Ch0c4, il y a 11 ans

Salut il te manque une virgule après $duration et pour installer tidy tu te connectes en ssh dessus et suivant l'os tu l'installes en ligne de commande

lakamark, il y a 11 ans

J'ai fait une erreur de débutant... XD

lakamark, il y a 11 ans

Je ne vois plus l'erreur mais, la transation n'est pas sauvegarder dans ma basse de donnée quand la transaction est un succès. Je ne vois pas le champ "end_subscription" remplit.

voici le code source de la sauvegarde de la transaction et de mettre le membre prenium :

if (!$fp) { } else { fputs ($fp, $header . $req); while (!feof($fp)) { $res = fgets ($fp, 1024); if (strcmp ($res, "VERIFIED") == 0) { // vérifier que payment_status a la valeur Completed if ( $payment_status == "Completed") { if ( $email_account == $receiver_email) { if ($custom['action'] == 'subscription') { $duration = $custom['duration']; $uid = $custom['uid']; if($payment_ht == Configure::read("subscriptions.prices.$duration")){ // Save the transaction in database $this->loadMoel('Transaction'); $this->Transaction->save(array( 'price' => $payment_ht, 'tax' => $payment_tax, 'txnid' => $txn_id, 'user_id' => $uid, 'action' => 'subscription', 'amount' => $duration, 'name' => $name, 'cuntry' => $country, 'city' => $city, 'adress' => $address )); // We put the member free to prenium with date of end $this->User->id = $uid; $date = new DateTime(); $date->add(new DateIntervcal("P".$duration."M")); $this->User->saveField('User.end_subscription',$date->format('Y-m-d H:i:s')); } else { $this->log('teste','error'); } } } } else { // Statut de paiement: Echec } exit(); } else if (strcmp ($res, "INVALID") == 0) { // Transaction invalide } } fclose ($fp);
lakamark, il y a 11 ans

Je ne réussit pas à trouver la ligne de commande pour installer Tidy sur google.

lakamark, il y a 11 ans

Ok merci beaucoup