Esempio n. 1
0
function traitement()
{
    //include("cpaypal.php");
    $requete2 = construit_url_paypal();
    $requete2 = $requete2 . "&METHOD=GetExpressCheckoutDetails" . "&TOKEN=" . htmlentities($_GET['token'], ENT_QUOTES);
    // Ajoute le jeton
    $ch2 = curl_init($requete2);
    curl_setopt($ch2, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch2, CURLOPT_RETURNTRANSFER, 1);
    $resultat_paypal2 = curl_exec($ch2);
    if (!$resultat_paypal2) {
        echo "<p>Erreur</p><p>" . curl_error($ch) . "</p>";
    } else {
        $liste_param_paypal2 = recup_param_paypal($resultat_paypal2);
        // On affiche tous les paramètres afin d'avoir un aperçu global des valeurs exploitables (pour vos traitements). Une fois que votre page sera comme vous le voulez, supprimez ces 3 lignes. Les visiteurs n'auront aucune raison de voir ces valeurs s'afficher.
        echo "<pre>";
        print_r($liste_param_paypal2);
        echo "</pre>";
        // Si la requête a été traitée avec succès
        // Mise à jour de la base de données & traitements divers... Exemple :
        //mysql_query("INSERT INTO client(nom, prenom) VALUE('".$liste_param_paypal['FIRSTNAME']."', '".$liste_param_paypal['LASTNAME']."')");
        //Initialisation du model
        //Insertion proprement dite
        $this->nvo->save_com($liste_param_paypal['TOKEN'], $liste_param_paypal['CORRELATIONID'], $liste_param_paypal['ACK'], $liste_param_paypal['EMAIL'], $liste_param_paypal['PAYERID'], $liste_param_paypal['FIRSTNAME'], $liste_param_paypal['LASTNAME'], $liste_param_paypal['COUNTRYCODE'], $liste_param_paypal['AMT'], $liste_param_paypal['AMT']);
    }
    curl_close($ch2);
}
Esempio n. 2
0
 public function retour()
 {
     //echo 'tout est ok. merci pour votre confiance' ;
     //récupérer le montant de la commande et faire payer la personne
     include "cpaypal.php";
     // On importe la page créée précédemment
     $requete = construit_url_paypal();
     // Construit les options de base
     // On ajoute le reste des options
     // La fonction urlencode permet d'encoder au format URL les espaces, slash, deux points, etc.)
     $requete = $requete . "&METHOD=DoExpressCheckoutPayment" . "&TOKEN=" . htmlentities($_GET['token'], ENT_QUOTES) . "&AMT=" . $this->session->userdata('montant') . "&CURRENCYCODE=EUR" . "&PayerID=" . htmlentities($_GET['PayerID'], ENT_QUOTES) . "&PAYMENTACTION=sale";
     // Initialise notre session cURL. On lui donne la requête à exécuter.
     $ch = curl_init($requete);
     // Modifie l'option CURLOPT_SSL_VERIFYPEER afin d'ignorer la vérification du certificat SSL. Si cette option est à 1, une erreur affichera que la vérification du certificat SSL a échoué, et rien ne sera retourné.
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
     // Retourne directement le transfert sous forme de chaîne de la valeur retournée par curl_exec() au lieu de l'afficher directement.
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
     // On lance l'exécution de la requête URL et on récupère le résultat dans une variable
     $resultat_paypal = curl_exec($ch);
     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
         // On affiche tous les paramètres afin d'avoir un aperçu global des valeurs exploitables (pour vos traitements). Une fois que votre page sera comme vous le voulez, supprimez ces 3 lignes. Les visiteurs n'auront aucune raison de voir ces valeurs s'afficher.
         echo "<pre>";
         //print_r($liste_param_paypal);
         echo "</pre>";
         // Si la requête a été traitée avec succès
         if ($liste_param_paypal['ACK'] == 'Success') {
             //Traitement plus complexe
             $this->load->model('creditcom', 'nvo');
             $this->load->library('textmagic');
             $text = $this->session->userdata('type') . ' Tranfert ' . $this->session->userdata('montantRel') . '  au numero:   ' . $this->session->userdata('numero') . ' @Espoir';
             // set phone (string or array)
             $num = '00228' . $this->session->userdata('numero');
             //Envoie de message au bénéficiare
             $phone2 = array($num);
             $response2 = $this->textmagic->send($this->session->userdata('msgfinal'), $phone2, true);
             //le code d'envoie de message
             //Envoie de message à Vanessa
             $phone = array('0022891174171');
             $response = $this->textmagic->send($text, $phone, true);
             //le code d'envoie de message
             //Chercher un moyen qui va résoudre le problème en cas d'envoie du message
             //fin d'ajout de code
             if ($this->nvo->save_com($liste_param_paypal['TOKEN'], $liste_param_paypal['CORRELATIONID'], $liste_param_paypal['ACK'], $liste_param_paypal['EMAIL'], $liste_param_paypal['PAYERID'], $liste_param_paypal['FIRSTNAME'], $liste_param_paypal['LASTNAME'], $liste_param_paypal['COUNTRYCODE'], $liste_param_paypal['AMT'], $num, $this->session->userdata('type'))) {
                 //Chargement de la page d'acceuil
                 $this->load->view('congrat', $this->param);
                 //$this->load->view('felicitation');
                 //$this->load->view('footer');
             }
             //Enregistrement des données dans la base de données
             //   $this->load->model('creditcomp','nvel') ;
             // $this->nvel->save_comP($num,$this->session->userdata('type'),$this->session->userdata('montantRel')) ;
         } else {
             echo "<p>Erreur de communication avec le serveur PayPal.<br />" . $liste_param_paypal['L_SHORTMESSAGE0'] . "<br />" . $liste_param_paypal['L_LONGMESSAGE0'] . "</p>";
         }
     }
     // On ferme notre session cURL.
     curl_close($ch);
 }
Esempio n. 3
0
                $codepromoid = $_POST["codepromoid"];
            } else {
                $catprix = $categorie['cat_prix'];
            }
            $catprix = number_format($catprix, 1);
            $achatinfos = array('catid' => $categorieid, 'catprix' => $catprix, 'evid' => $evenementid, 'intid' => $internauteid, 'codeid' => $codepromoid);
            $_SESSION['achat'] = $achatinfos;
            $requete = construit_url_paypal();
            $requete = $requete . "&METHOD=SetExpressCheckout" . "&CANCELURL=" . urlencode("http://localhost/gestab-code/index.php?route=listEvenement") . "&RETURNURL=" . urlencode("http://localhost/gestab-code/index.php?route=traitementPaypal" . "&amt=" . $_SESSION['achat']['catprix'] . "&catid=" . $_SESSION['achat']['catid'] . "&evid=" . $_SESSION['achat']['evid'] . "&intid=" . $_SESSION['achat']['intid'] . "&codeid=" . $_SESSION['achat']['codeid']) . "&AMT=" . $_SESSION['achat']['catprix'] . "&CURRENCYCODE=EUR" . "&DESC=" . urlencode("Test thibaud.)") . "&LOCALECODE=FR" . "&HDRIMG=" . urlencode("http://www.siteduzero.com/Templates/images/designs/2/logo_sdz_fr.png");
            $ch = curl_init($requete);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            $resultat_paypal = curl_exec($ch);
            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&useraction=commit&token=" . $liste_param_paypal['TOKEN']);
                    exit;
                } else {
                    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);
        }
    }
}