| Server IP : 103.234.187.230 / Your IP : 216.73.216.216 Web Server : Apache System : Linux lserver42043-ind.megavelocity.net 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64 User : apache ( 48) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/html/uatb2c.hellogtx.com/application/models/ |
Upload File : |
<?php
class Travel_Model_TransactionResponse {
private $respHashKey = "";
private $responseEncryptionKey = "";
private $salt = "";
/**
* @return string
*/
public function getRespHashKey()
{
return $this->respHashKey;
}
public function setResponseEncypritonKey($key){
$this->responseEncryptionKey = $key;
}
public function setSalt($saltEntered){
$this->salt = $saltEntered;
}
/**
* @param string $respHashKey
*/
public function setRespHashKey($respHashKey)
{
$this->respHashKey = $respHashKey;
}
public function decryptResponseIntoArray($encdata){
$atomenc = new Travel_Model_AtomAES();
$decrypted = $atomenc->decrypt($encdata, $this->responseEncryptionKey, $this->salt);
$array_response = explode('&', $decrypted); //change & to | for production
$equalSplit = array();
foreach ($array_response as $ar) {
$equalSub = explode('=', $ar);
if(!empty($equalSub[1]) && !empty($equalSub[0])){
$temp = array(
$equalSub[0] => $equalSub[1],
);
$equalSplit += $temp;
}
}
return $equalSplit;
}
public function decryptResponseInEasebuzz($encdata){
$atomenc = new Travel_Model_AtomAES();
$decrypted = $atomenc->decrypt($encdata, $this->responseEncryptionKey, $this->salt);
return $decrypted;
}
public function validateResponse($responseParams,$easeBuzz = NULL)
{
$str = $responseParams["mmp_txn"].$responseParams["mer_txn"].$responseParams["f_code"].$responseParams["prod"].$responseParams["discriminator"].$responseParams["amt"].$responseParams["bank_txn"];
$signature = hash_hmac("sha512",$str,$this->respHashKey,false);
if($signature == $responseParams["signature"]){
return true;
} else {
if(!empty($easeBuzz) && $easeBuzz == 'easebuzz' || $easeBuzz == 'CCAVENUE'){
return true;
}else{
return false;
}
}
}
public function decrypt_cc($encryptedText, $key) {
$key = $this->hextobin(md5($key));
$initVector = pack("C*", 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f);
$encryptedText = $this->hextobin($encryptedText);
$decryptedText = openssl_decrypt($encryptedText, 'AES-128-CBC', $key, OPENSSL_RAW_DATA, $initVector);
return $decryptedText;
}
public function hextobin($hexString) {
$length = strlen($hexString);
$binString = "";
$count = 0;
while ($count < $length) {
$subString = substr($hexString, $count, 2);
$packedString = pack("H*", $subString);
if ($count == 0) {
$binString = $packedString;
} else {
$binString .= $packedString;
}
$count += 2;
}
return $binString;
}
}