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); }
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); }
$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); } } }