Server : Apache System : Linux profile 3.10.0-1160.88.1.el7.x86_64 #1 SMP Tue Mar 7 15:41:52 UTC 2023 x86_64 User : apache ( 48) PHP Version : 8.0.28 Disable Function : NONE Directory : /var/www/html/mmishra/erp-19-12-2019/ |
<?php
date_default_timezone_set('Asia/Calcutta');
$processPayment = new ProcessPayment();
$processPayment->requestMerchant();
class payment_config_test {
var $Url = "https://paynetzuat.atomtech.in/paynetz/epi/fts";
var $Login = "160";
var $Password = "Test@123";
//var $MerchantName = "ATOM";
var $MerchantName = "NSE";
var $TxnCurr = "INR";
var $TxnScAmt = "0";
}
class payment_config {
var $Url = "https://payment.atomtech.in/paynetz/epi/fts";
var $Login = "18589";
var $Password = "IIIT@123";
var $MerchantName = "IIIT";
var $TxnCurr = "INR";
var $TxnScAmt = "0";
}
class payment {
var $url = null;
function sendInfo($data){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $this->url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_PORT , 443);
//curl_setopt($ch, CURLOPT_SSLVERSION,3);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$returnData = curl_exec($ch);
curl_close($ch);
return $returnData;
}
}
class ProcessPayment {
function __construct() {
$this->paymentConfig = new payment_config();
}
function requestMerchant() {
$payment = new payment();
$datenow = date("d/m/Y h:m:s");
$modifiedDate = str_replace(" ", "%20", $datenow);
$payment->url = $this->paymentConfig->Url;
$postFields = "";
$postFields .= "login=" .$this->paymentConfig->Login;
$postFields .= "&pass=" .$this->paymentConfig->Password;
$postFields .= "&ttype=" .$_REQUEST['TType'];
$postFields .= "&prodid=" .$_REQUEST['product'];
$postFields .= "&amt=" .$_REQUEST['amount'];
$postFields .= "&txncurr=" .$this->paymentConfig->TxnCurr;
$postFields .= "&txnscamt=" .$this->paymentConfig->TxnScAmt;
$postFields .= "&clientcode=" .urlencode(base64_encode($_REQUEST['clientcode']));//rollno
$postFields .= "&txnid=" .rand(0,999999);
$postFields .= "&date=" .$modifiedDate;
$postFields .= "&custacc=" .$_REQUEST['AccountNo'];
$postFields .= "&ru=https://erp.iiita.ac.in/outer/aaa/PGResponse/online/" .$_REQUEST['udf6']. "/ATOM/1";
$postFields .= "&signature=".$_REQUEST['signature'];
$postFields .= "&udf1=" .$_REQUEST['udf1']; //name
$postFields .= "&udf2=" .$_REQUEST['udf2']; //email
$postFields .= "&udf3=" .$_REQUEST['udf3']; //mobile
$postFields .= "&udf4=" .$_REQUEST['udf4']; //program
$postFields .= "&udf5=" .$_REQUEST['udf5']; //batch
$postFields .= "&udf6=" .$_REQUEST['udf6']; //studentID
$postFields .= "&udf9=" .$_REQUEST['udf9']; //semester
$sendUrl = $payment->url. '?' .substr($postFields, 1). "\n";
$this->writeLog($sendUrl);
$returnData = $payment->sendInfo($postFields);
$this->writeLog($returnData. "\n");
$xmlObjArray = $this->xmltoarray($returnData);
$url = $xmlObjArray['url'];
//$postFields .= "&ttype=" .$_REQUEST['TType'];
$postFields .= "&tempTxnId=".$xmlObjArray['tempTxnId'];
$postFields .= "&token=" .$xmlObjArray['token'];
$postFields .= "&txnStage=1";
$url = $payment->url. '?' .$postFields;
$this->writeLog($url. "\n");
//echo ("Location: " .$url);
foreach (explode('&', $url) as $u) {
echo $u.'<br>';
}
header("Location: " .$url);
}
function writeLog($data){
$fileName = date("Y-m-d").".txt";
$fp = fopen("log/".$fileName, 'a+');
$data = date("Y-m-d H:i:s")." - ".$data;
fwrite($fp, $data);
fclose($fp);
}
function xmltoarray($data){
$parser = xml_parser_create('');
xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, "UTF-8");
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
xml_parse_into_struct($parser, trim($data), $xml_values);
xml_parser_free($parser);
$returnArray = array();
$returnArray['url'] = $xml_values[3]['value'];
$returnArray['tempTxnId'] = $xml_values[5]['value'];
$returnArray['token'] = $xml_values[6]['value'];
return $returnArray;
}
}
?>