0xV3NOMx
Linux ip-172-26-7-228 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64



Your IP : 18.218.94.236


Current Path : /proc/thread-self/root/var/www/html/convocation/
Upload File :
Current File : //proc/thread-self/root/var/www/html/convocation/pgResponse.php

    <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet"
      integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<?php
header("Pragma: no-cache");
header("Cache-Control: no-cache");
header("Expires: 0");
include("/var/www/config.php");
    ini_set('display_errors', 'On');
    error_reporting(E_ALL);

// following files need to be included
//require_once("./pgRedirect.php");
require_once("./Paytm/lib/config_paytm.php");
require_once("./Paytm/lib/encdec_paytm.php");



$servername = SERVERNAME;
$username = USERNAME;
$password = PASSWORD;
$databse = 'logisys3_comexam';

$conn = new  mysqli($servername,$username,$password,$databse);
if(!$conn) 
{
	die("Connection failed: " . mysqli_connect_error());
}


$paytmChecksum = "";
$paramList = array();
$isValidChecksum = "FALSE";

$paramList = $_POST;

$univcode = str_pad(substr($paramList['MERC_UNQ_REF'],1,2),3,"0",STR_PAD_LEFT);

if($univcode == '003')
{
	$univcode_tmp = str_pad(substr($paramList['MERC_UNQ_REF'],1,3),4,"0",STR_PAD_LEFT);	
	if($univcode_tmp == '003D')
	{
		$univcode = $univcode_tmp;
	}
}


$typeno = substr($paramList['MERC_UNQ_REF'],0,1);

if($typeno == '1')
	$type = 'EXAM';

if($typeno == '2')
	$type = 'RVRT';

if($typeno == '4')
	$type = 'OSER';

if($typeno == '3')
	$type = 'CNV';


$get_data = "select * from maspg where fbank = 'Paytm' and FENTTYPE = '{$type}' and funivcode = '{$univcode}'";
    //var_dump($get_data);
$result=$conn->query($get_data); 

if (mysqli_num_rows($result) > 0) 
{
	while($row = mysqli_fetch_assoc($result)) 
	{
		$key    =    $row['fkey'];
		$mid    =    $row['fmid'];
		$fworkingid =    $row['fworkingid'];
		$fmode      =    $row['fmode'];
		$freturnurl =    $row['freturnurl'];
	}
}


$paytmChecksum = isset($_POST["CHECKSUMHASH"]) ? $_POST["CHECKSUMHASH"] : ""; //Sent by Paytm pg

//Verify all parameters received from Paytm pg to your application. Like MID received from paytm pg is same as your application�s MID, TXN_AMOUNT and ORDER_ID are same as what was sent by you to Paytm PG for initiating transaction etc.
$isValidChecksum = verifychecksum_e($paramList, $key, $paytmChecksum); //will return TRUE or FALSE string.


if($isValidChecksum == "TRUE") {

	$status = $_POST["STATUS"];
		//echo $status;
		//print_r($_POST);
		$orderid = $_POST["ORDERID"];
		$productinfo = $_POST["MERC_UNQ_REF"];
		
		$txnid = $_POST["TXNID"];
		$MID = $_POST["MID"];
		$CHECKSUMHASH = $_POST["CHECKSUMHASH"];
		//echo $productinfo;
		//$productinfo = '103E3050155';
		$MID = $mid;
		$requestParamList = array();
		$responseParamList = array();
		
		$requestParamList = array("MID" => "{$MID}" , "ORDERID" => "{$orderid}", "MERC_UNQ_REF" => "{$productinfo}");  

		$checkSum = getChecksumFromArray($requestParamList,$key);
		$requestParamList['CHECKSUMHASH'] = urlencode($checkSum);

		$data_string = "JsonData=".json_encode($requestParamList);
		$ch = curl_init();                    // initiate curl
		
		//$url = "https://securegw-stage.paytm.in/merchant-status/getTxnStatus"; 
		
		// where you want to post data
		//$url = "https://securegw.paytm.in/merchant-status/getTxnStatus"; 
		
		$url = "https://securegw.paytm.in/merchant-status/getTxnStatus"; 
		
		curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
		curl_setopt($ch, CURLOPT_URL,$url);
		curl_setopt($ch, CURLOPT_POST, true);  // tell curl you want to post something
		curl_setopt($ch, CURLOPT_POSTFIELDS,$data_string); // define what you want to post
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // return the output in string format
		$headers = array();
		$headers[] = 'Content-Type: application/json';
		curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
		$output = curl_exec($ch); // execute
		$info = curl_getinfo($ch);

		$data = json_decode($output, true);
		//echo $data;

	if ($data["STATUS"] == "TXN_SUCCESS") {


		$servername = SERVERNAME;
		$username = USERNAME;
		$password = PASSWORD;
			
		$dbname = "logisys3_comexam";
		$conn = new mysqli($servername, $username, $password, $dbname);
		
		$get_data = "select * from dbname where funivcode ='{$univcode}'";
		//var_dump($get_data);
		$result1=$conn->query($get_data); 

		if (mysqli_num_rows($result1) > 0) 
		{
			$dbnames = array();
			$uniname = "";
			$ffolder = "";
			while($row = mysqli_fetch_assoc($result1)) 
			{
				$dbnames[$row['FUNIVCODE']] = $row['FDBNAME'];
				$uniname = $row['FUNIVNAME'];
				$FUNIVCODE = $row['FUNIVCODE'];
				$ffolder = $row['FFOLDER'];
			}
		}
		
		$servername = SERVERNAME;
		$username = USERNAME;
		$password = PASSWORD;
		$dbname = $dbnames[$univcode];
		//$dbname = "logisys3_bcu";

		/*$servername = "localhost";
		$username = "root";
		$password = "";
		$dbname = "logisys3_dud";*/

		$conn = new mysqli($servername, $username, $password, $dbname);


		$status = $data["STATUS"];
		$ORDERID = $data["ORDERID"];
		$productinfo = $data["MERC_UNQ_REF"];
		$txnid = $data["TXNID"];
		$MID = $data["MID"];
		//$CHECKSUMHASH = $data["CHECKSUMHASH"];
		
			$txnid = $data['TXNID'];
			$firstname = 'Paytm';
			
			echo "<center><h1 >".$uniname."</h1></center>";
			echo "<div style = 'width:50%; margin:10% auto'>
			<h4 style='color:green;'>Thank You. Your Payment is success</h4>";
			echo "<h4>Your Transaction ID for this transaction is : ".$data['TXNID'].".</h4>";
			echo "<h4>We have received a payment of Rs. : " . $data['TXNAMOUNT']  ."</h4>";
			$html="<button type='button' class='btn btn-primary w-10' onclick=\"PrintApplicationFormNETBANKING('{$productinfo}','{$ffolder}','{$type}','{$FUNIVCODE}');\" >Click here to take a PrintOut</button></div>";
			echo $html;

			$update_pg="update pgdet set ftxnid = '{$txnid}', fstatus = '{$status}', fupddate = now() 
			where appno = '{$productinfo}' and forderid = '{$ORDERID}'";
			// $result_pg=$conn->query($update_pg); 

			if(strtoupper($type) == 'EXAM')
			{
				$update="update appcandsum set FPAYMENTREMARKS='{$data['TXNID']}',FPAYMENTSTATUS='success',
				FPAYMENTCONFIRM='success',FACKDATE=now(),FACKUSER='{$firstname}',
				FPAYGATEWAY = '{$firstname}',
				frecptdate = now()
				where APPNO='{$productinfo}'";
				$result=$conn->query($update); 
				
				/*$get_app_cand_det="SELECT FDEGREE,FEXAMNO,FCOLLCODE,FREGNO,FSUBCODE,FINSERTED,FPRESENT,FYEAR,FEXAMTYPE
				FROM appcanddet
				WHERE APPNO='{$productinfo}'";	
				$result = $conn->query($get_app_cand_det);*/ 
				
				$get_app_cand_det="SELECT a.FDEGREE,a.FEXAMNO,a.FCOLLCODE,c.FFRESHEXAM,
				a.FREGNO,a.FSUBCODE,a.FINSERTED,a.FPRESENT,a.FYEAR,a.FEXAMTYPE,concat('Message from Bengaluru Central University : ', 
				' Dear ',s.fname,' (Reg. no. : ',s.fregno,' , Stud. id. : ',s.fstudid,'),', 
				' Rs.',FLOOR(c.FTOTALFEE),'/- is received at university. Your application no. is ',c.appno,
				'. keep this information for future reference.',' Sent Time: ',time(now())) as message
				FROM appcanddet a inner join student s on a.fdegree = s.fdegree
            and s.fcollcode = a.fcollcode and
            a.fregno = s.fregno  inner join appcandsum c on a.fdegree = c.fdegree
            and a.fcollcode = c.fcollcode and a.fregno = c.fregno and a.appno = c.appno
				WHERE c.APPNO='{$productinfo}'"; 
				$result = $conn->query($get_app_cand_det);

				if (mysqli_num_rows($result) > 0) 
				{
					while($row = mysqli_fetch_assoc($result)) 
					{
						$collcode = $row['FCOLLCODE'];
						$degree = $row['FDEGREE'];
						$regno = $row['FREGNO'];
						$text = $row['message'];
						$FFRESHEXAM = $row['FFRESHEXAM'];
					}
				}


				
				
					
				// $update_cand_sum = "UPDATE appcandsum a,candsum c
				// SET 
				// c.FEXAMFEEA=if(ifnull(c.FEXAMFEEA,0) <=0,ifnull(a.FEXAMFEEA,0),ifnull(c.FEXAMFEEA,0)),
				// c.FEXAMFEEB=if(ifnull(c.FEXAMFEEB,0) <=0,ifnull(a.FEXAMFEEB,0),ifnull(c.FEXAMFEEB,0)),
				// c.FEXAMFEEC=if(ifnull(c.FEXAMFEEC,0) <=0,ifnull(a.FEXAMFEEC,0),ifnull(c.FEXAMFEEC,0)),
				// c.FEXAMFEED=if(ifnull(c.FEXAMFEED,0) <=0,ifnull(a.FEXAMFEED,0),ifnull(c.FEXAMFEED,0)),
				// c.FEXAMFEEE=if(ifnull(c.FEXAMFEEE,0) <=0,ifnull(a.FEXAMFEEE,0),ifnull(c.FEXAMFEEE,0)),
				// c.FEXAMFEEF=if(ifnull(c.FEXAMFEEF,0) <=0,ifnull(a.FEXAMFEEF,0),ifnull(c.FEXAMFEEF,0)),
				// c.FEXAMFEEG=if(ifnull(c.FEXAMFEEG,0) <=0,ifnull(a.FEXAMFEEG,0),ifnull(c.FEXAMFEEG,0)),
				// c.FEXAMFEEH=if(ifnull(c.FEXAMFEEH,0) <=0,ifnull(a.FEXAMFEEH,0),ifnull(c.FEXAMFEEH,0)),
				// c.FEXAMFEEI=if(ifnull(c.FEXAMFEEI,0) <=0,ifnull(a.FEXAMFEEI,0),ifnull(c.FEXAMFEEI,0)),
				// c.FEXAMFEEJ=if(ifnull(c.FEXAMFEEJ,0) <=0,ifnull(a.FEXAMFEEJ,0),ifnull(c.FEXAMFEEJ,0)),
				// c.FTOTALFEE=a.FTOTALFEE,
				// c.frecptdate = date(now())
				// WHERE a.fregno=c.FREGNO
				// AND a.APPNO='{$productinfo}' and a.FCOLLCODE='{$collcode}'";

				$update_cand_sum = "UPDATE (SELECT c.FDEGREE AS fdegree, c.FREGNO AS fregno, c.FCOLLCODE AS fcollcode,
				sum(ifnull(c.FEXAMFEEA,0)) AS fexamfeea,
				sum(ifnull(c.FEXAMFEEB,0)) AS fexamfeeb,
				sum(ifnull(c.FEXAMFEEC,0)) AS fexamfeec,
				sum(ifnull(c.FEXAMFEED,0)) AS fexamfeed,
				sum(ifnull(c.FEXAMFEEE,0)) AS fexamfeee,
				sum(ifnull(c.FEXAMFEEF,0)) AS fexamfeef,
				sum(ifnull(c.FEXAMFEEG,0)) AS fexamfeeg,
				sum(ifnull(c.FEXAMFEEH,0)) AS fexamfeeh,
				sum(ifnull(c.FEXAMFEEI,0)) AS fexamfeei,
				sum(ifnull(c.FEXAMFEEJ,0)) AS fexamfeej,
				sum(ifnull(c.FTOTALFEE,0)) AS ftotalfee
				FROM appcandsum c where ((c.FPAYMENTSTATUS = 'success') 
				and (ifnull(c.FTOTALFEE,0) > 0) and (ifnull(c.FRECPTDATE,'') <> '')) 
				and c.fregno = '{$regno}'
				group by c.FDEGREE,c.FREGNO,c.FCOLLCODE) a,candsum c
				SET 
				c.FEXAMFEEA = a.FEXAMFEEA,
				c.FEXAMFEEB = a.FEXAMFEEB,
				c.FEXAMFEEC = a.FEXAMFEEC,
				c.FEXAMFEED = a.FEXAMFEED,
				c.FEXAMFEEE = a.FEXAMFEEE,
				c.FEXAMFEEF = a.FEXAMFEEF,
				c.FEXAMFEEG = a.FEXAMFEEG,
				c.FEXAMFEEH = a.FEXAMFEEH,
				c.FEXAMFEEI = a.FEXAMFEEI,
				c.FEXAMFEEJ = a.FEXAMFEEJ,
				c.FTOTALFEE = a.FTOTALFEE,
				c.frecptdate = now()
				WHERE a.fregno=c.FREGNO
				AND c.fregno = '{$regno}'";
				
				$result = $conn->query($update_cand_sum); 

				$update_caste = "update candsum c, student s
				set c.fcategory = s.fcaste,
				c.ffeetype = if(ifnull(c.fconstype,'0123456789') <> '0123456789', 'Low Income', 'Normal Fee')
				where s.fregno = c.fregno
				and s.fregno = '{$regno}'";
				$result = $conn->query($update_caste); 
				
				$update_cand_appCand = "update canddet c, appcanddet t  
				set c.finserted = t.finserted,
				c.fpresent = t.fpresent
				where c.fdegree = t.fdegree
				and c.fexamno = t.fexamno
				and c.fregno = t.fregno
				and c.fsubcode = t.fsubcode
				and c.fdegree = '{$degree}' and  c.fregno = '{$regno}' and t.APPNO='{$productinfo}' and ifnull(c.fpresent,'') <> 'P'";
				
				$result = $conn->query($update_cand_appCand); 
				
				$insert_canddet ="insert into canddet(fdegree,FEXAMNO, FCOLLCODE, FREGNO, FSUBCODE, FINSERTED, FPRESENT, FYEAR, FEXAMTYPE)
				select fdegree, FEXAMNO, FCOLLCODE,FREGNO, FSUBCODE,FINSERTED, FPRESENT, FYEAR,FEXAMTYPE from appcanddet where 
				fregno = '{$regno}' and appno ='{$productinfo}' and CONCAT(fdegree,fexamno,fregno,fsubcode) 
				not in(select CONCAT(fdegree,fexamno,fregno,fsubcode) from canddet where  fregno = '{$regno}')
				";
				
				$result = $conn->query($insert_canddet); 
				
				$query = "insert into marks (FDEGREE, FEXAMNO, FCOLLCODE, FREGNO, FSUBCODE, fmarks, fyear, fexamtype)
				select c.fdegree,c.fexamno,c.fcollcode,c.fregno,
				s.fcsubcode,'-1', c.fyear,c.fexamtype
				from canddet c inner join 
				subject s on c.fdegree = s.fdegree and c.fexamno = s.fexamno 
				and c.fsubcode = s.FSUBCODE	
				where c.fregno = '{$regno}' and c.fexamno = '{$FFRESHEXAM}' 
				and c.fcollcode = '{$collcode}' and c.fdegree = '{$degree}'
				and s.fintass = 'T' and s.fretain = 'T'";
				$res = $conn->query($query); 

				$query = "insert into marks_pr (FDEGREE, FEXAMNO, FCOLLCODE,FOCOLLCODE, FREGNO, FSUBCODE, fmarks11, fyear, fexamtype)
				select cd.fdegree,cd.fexamno,cd.fcollcode,cd.fcollcode,cd.FREGNO,s.fcsubcode,'-1', 
				cd.fyear,cd.fexamtype
				from subject s inner join canddet cd on s.fdegree = cd.fdegree 
				and s.fsubcode = cd.FSUBCODE 
				and cd.fregno = '{$regno}'
				and ifnull(cd.fpassmth,'') = '' 
				and ifnull(cd.fthpr,'') <> 'F'
				where s.fdegree = '{$degree}' 
				and cd.fcollcode = '{$collcode}'
				and s.ftheory = 'F'
				and ifnull(s.fintass,'F') <> 'T'";
				$res = $conn->query($query); 
				
				// $update_studfee = "update studfee s, appstudfee a
				// set s.famount = a.famount,
				// s.flogdate = a.flogdate,
				// s.fyear = a.fyear,
				// s.fexamtype = a.fexamtype
				// where s.fdegree = a.fdegree
				// and s.fexamno = a.fexamno
				// and s.fregno = a.fregno
				// and s.ffeecode = a.ffeecode
				// and  s.fregno = '{$regno}'
				// and  s.famount <= 0
				// and a.appno ='{$productinfo}'";

				$update_studfee = "update studfee s, (select a.appno, a.fregno, a.fdegree, a.fexamno, a.fcollcode, a.ffeecode, sum(a.famount) as famount,
				a.fyear, a.fexamtype, a.flogdate
				from appstudfee a inner join appcandsum b on a.fregno = b.fregno and a.appno = b.appno
				where ifnull(b.fpaymentstatus,'') = 'success' 
				and ifnull(fackdate,'') <> '' and b.fregno = '{$regno}'
				group by a.fdegree, a.fexamno, a.fcollcode, a.fregno, a.ffeecode) a
				set s.famount = a.famount,
				s.flogdate = a.flogdate,
				s.fyear = a.fyear,
				s.fexamtype = a.fexamtype
				where s.fdegree = a.fdegree
				and s.fexamno = a.fexamno
				and s.fregno = a.fregno
				and s.ffeecode = a.ffeecode
				and  s.fregno = '{$regno}'";
				
				$result = $conn->query($update_studfee);
				
				$insert_studfee = "insert into studfee(fdegree,fexamno,fcollcode,fregno,ffeecode,famount,flogdate,fyear,fexamtype)
				select fdegree,fexamno,fcollcode,fregno,ffeecode,famount,flogdate,fyear,fexamtype from appstudfee where 
				fregno = '{$regno}' and appno ='{$productinfo}' and CONCAT(fdegree,fexamno,fregno,ffeecode) 
				not in(select CONCAT(fdegree,fexamno,fregno,ffeecode) from studfee where  fdegree = '{$degree}' 
				and fregno = '{$regno}')";
				$result = $conn->query($insert_studfee);

			}
			else if(strtoupper($type) == 'RVRT')
			{

				$update = "update res_stud set FPAYMENTREMARKS='{$txnid}',FPAYMENTSTATUS='success',
											FPAYMENTCONFIRM='success', fackdate = current_date(), funivrecdate = current_date(), 
											fackuser = '{$firstname}', FCHALLANNO = '{$ORDERID}'
											where APPNO='{$productinfo}'";

				//var_dump($update);
				$result = $conn->query($update); 
				//var_dump($result);
			
			}else if($type == 'OSER')
			{
				$update = "update servtran set  FPAYREMARKS='{$txnid}',
				FPAYSTATUS   = 'success', FPAYDATE = now(), FTRANID = '{$txnid}',
				FPAYMENTTYPE = 'Paytm'
				where FAPPNO = '{$productinfo}'";
				$result = $conn->query($update); 

			}
			else if($type == 'CNV')
			{
				
				$update = "update dctran set  FPAYREMARKS='{$txnid}',
				FPAYSTATUS='success',FPAYDATE=now(),FTRANID='{$txnid}' 
				where FAPPNO='{$productinfo}'";

				$result = $conn->query($update); 

			}
	}
	else {
		echo "<b>Transaction status is failure</b>" . "<br/>";
	}

	// if (isset($_POST) && count($_POST)>0 )
	// { 
	// 	foreach($_POST as $paramName => $paramValue) {
	// 			echo "<br/>" . $paramName . " = " . $paramValue;
	// 	}
	// }
	

}
else {
	echo "<b>Checksum mismatched.</b>";
	//Process transaction as suspicious.
}

?>



<script>
function PrintApplicationFormNETBANKING(appno,folder,type,univcode)
{
	var $host_url = `https://${window.location.host}/app.php?a=`;

	switch(type)
	{
		case 'EXAM': 
		window.location.href=$host_url+"PrintApplicationFormNETBANKING&app_no="+appno+"&univcode="+univcode;
			break;
		case 'RVRT':
            window.location.href=$host_url+"PrintRevaluationApplicationForm&app_no="+appno+"&univcode="+univcode;
			break;
		case 'OSER':
            window.location.href=$host_url+"printapplicationfrom&app_no="+appno+"&univcode="+univcode;
			break;
		case 'CNV':
            window.location.href=$host_url+"convoAppFormNETBANKING&app_no="+appno+"&univcode="+univcode;
			break;
	}
}
</script>