1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
| <?php
include(dirname(__FILE__).'/../config/config.inc.php');
$description = "";
$keywords = "";
$title = "";
$fakea = "";
$navigation = true;
$body='';
mail('gaborit.elodie@gmail.com', 'Variables', print_r($_POST['custom']));
//lire le formulaire provenant du système PayPal et ajouter 'cmd'
$req = 'cmd=_notify-validate';
foreach ($_POST as $key => $value) {
$value = urlencode(stripslashes($value));
$req .= "&$key=$value";
}
// renvoyer au système PayPal pour validation
$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 ('www.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'];
$id_user = $_POST['custom'];
$managerReservation= new ReservationManager_PDO($db);
$reservation=$managerReservation->getUnique($_POST['custom']);
$managerReservation->PaimentValide($_POST['custom']);
if (!$fp) {
$body.='erreur FTP';
} else {
fputs ($fp, $header . $req);
while (!feof($fp)) {
$res = fgets ($fp, 1024);
if (strcmp ($res, "VERIFIED") == 0) {
// transaction valide
}
else if (strcmp ($res, "INVALID") == 0) {
// Transaction invalide
}
}
fclose ($fp);
}
// transaction valide
// vérifier que payment_status a la valeur Completed
if ( $payment_status == "Completed") {
// vérifier que txn_id n'a pas été précédemment traité: Créez une fonction qui va interroger votre base de données
if (VerifIXNID($txn_id) == 0) {
// vérifier que receiver_email est votre adresse email PayPal principale
if ("privat_1345541754_biz@gmail.com" == $receiver_email) {
// vérifier que payment_amount et payment_currency sont corrects
// traiter le paiement
$reservation->PaimentValide($_POST['custom']);
$reservation->AddTxnId($_POST['custom'],$_POST['txn_id']);
}
else {
$body.='<h6>L adresse email recut n est pas la meme que celle du compte de l acheteur.<br />Merci</h6>';
}
}
else {
$body.='<h6>L id de la transaction recut n est pas la meme que celle lors de la transaction.<br />Merci</h6>';
// ID de transaction déjà utilisé
}
}
else {
$body.='<h6>Le statut de paiement de l acheteur n est pas valider.<br />Merci</h6>';
// Statut de paiement: Echec
}
include(dirname(__FILE__).'/../config/base4.php');
?> |
Partager