Initial import: Carteasy Shop (Dev-Stand)
This commit is contained in:
@@ -0,0 +1,96 @@
|
||||
<?php
|
||||
|
||||
// File : notify.php
|
||||
// Description: see CompuTop PayGate documentation and result.php
|
||||
// Important note: the NOTIFY is always performed with a POST-Request and blowfish-encrypted data!
|
||||
|
||||
|
||||
// required constants
|
||||
|
||||
include('./includes/function.inc.php');
|
||||
|
||||
$filetitle = "notify.php";
|
||||
$filename = "./notifylog/urlnotify.log"; // this is an example. Database preferred.
|
||||
$dat = date("d.m.Y H:i:s");
|
||||
$row = "\n\n-------------- ".$dat." --------------\n";
|
||||
|
||||
|
||||
// obtain input values (for form method="POST")
|
||||
|
||||
$Data = $HTTP_POST_VARS["Data"];
|
||||
$Len = $HTTP_POST_VARS["Len"];
|
||||
|
||||
|
||||
// decrypt the data string
|
||||
|
||||
$myPayGate = new ctPayGate;
|
||||
$plaintext = $myPayGate->ctDecrypt($Data, $Len, $Password);
|
||||
|
||||
|
||||
// prepare notify log
|
||||
|
||||
$a = ""; $a = split ('&', $plaintext);
|
||||
$info = $myPayGate->ctSplit($a, '=');
|
||||
$TransID = $myPayGate->ctSplit($a, '=', 'TransID');
|
||||
$Status = $myPayGate->ctSplit($a, '=', 'Status');
|
||||
$PayID = $myPayGate->ctSplit($a, '=', 'PayID');
|
||||
$Type = $myPayGate->ctSplit($a, '=', 'Type');
|
||||
$UserData = $myPayGate->ctSplit($a, '=', 'UserData');
|
||||
$row .= "\nTransID:\t".$TransID;
|
||||
$row .= "\nStatus:\t\t".$Status;
|
||||
$row .= "\nPayID:\t\t".$PayID;
|
||||
$row .= "\nType:\t\t".$Type;
|
||||
$row .= "\nUserData:\t".$UserData;
|
||||
|
||||
|
||||
// check transmitted decrypted status
|
||||
|
||||
$realstatus = $myPayGate->ctRealstatus($Status);
|
||||
|
||||
|
||||
// example: writing into a logfile instead of using a database
|
||||
|
||||
if(!file_exists($filename)){
|
||||
$fp=fopen($filename, "w");
|
||||
fclose($fp);
|
||||
}
|
||||
|
||||
$fpn=@fopen($filename.".tmp", "w");
|
||||
|
||||
if($fpn <= 0){
|
||||
$realstatus .= "\nerror writing logfile $filename.tmp\n";
|
||||
}
|
||||
|
||||
$row .= "\nRealstatus:\t".$realstatus;
|
||||
fputs($fpn, $row);
|
||||
$fp = @fopen($filename, "r");
|
||||
|
||||
if($fp <= 0){
|
||||
$realstatus .= "\nerror reading logfile $filename\n";
|
||||
}
|
||||
|
||||
while(!feof($fp)){
|
||||
$zeile = fgets($fp, 32000);
|
||||
fputs($fpn, $zeile);
|
||||
}
|
||||
|
||||
fclose($fp);
|
||||
fclose($fpn);
|
||||
unlink($filename);
|
||||
rename($filename.".tmp", $filename);
|
||||
|
||||
|
||||
// response
|
||||
|
||||
echo "ok";
|
||||
|
||||
// html output - test only
|
||||
|
||||
/*if(!(($realstatus == $text['paymentsucessful']) || ($realstatus == $text['paymentfailed']))){
|
||||
require('./includes/html.inc.php');
|
||||
|
||||
} else {
|
||||
echo "<html><title>$filetitle</title>$realstatus</html>";
|
||||
} */
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user