require_once(ROOTDIR."encdec_bankit.php");
            $merchant_data='';
            $responseurl=base_url('package/response');
            $merchant_data.='17045'.'|';
            $merchant_data.=$_POST['amount'].'|';
            $merchant_data.=$_POST['mode'].'|';
            $merchant_data.=$_POST['email'].'|';
            $merchant_data.=$_POST['mobile'].'|';
            $merchant_data.=$_POST['txnid'].'|';
            $merchant_data.=$responseurl;
            $working_key='b9e3189ff791f2682a99be7541dd8d0bee188406';
           	$encrypted_data=hmac_sha1($working_key,$merchant_data); // Method for encrypting the data.
			$message='<form method="post" name="redirect" action="https://portal.bankit.in:9090/BankitPGV1/apiSecureBankitPG">';
			$message.="<input type='hidden' name='AgentId' value='AG17045'>";
			$message.="<input type='hidden' name='Channel' value='Web'>";
			$message.="<input type='hidden' name='UserInfo' value='".$this->input->post('firstname',true)."'>";
			$message.="<input type='hidden' name='UserInfo' value='".$this->input->post('lastname',true)."'>";
			
			$message.="<input type='hidden' name='Amount' value='".$this->input->post('amount',true)."'>";
			$message.="<input type='hidden' name='Mode' value='".$this->input->post('mode',true)."'>";
			$message.="<input type='hidden' name='EmailId' value='".$this->input->post('email',true)."'>";
			$message.="<input type='hidden' name='Mobile' value='".$this->input->post('mobile',true)."'>";
			$message.="<input type='hidden' name='Callback' value='".$responseurl."'>";
			$message.="<input type='hidden' name='OrderId' value='".$this->input->post('txnid',true)."'>";
			$message.="<input type='hidden' name='SecureHash' value='".$encrypted_data."'>";
			$message.="</form>";
			$message.="<script language='javascript'>document.redirect.submit();</script>";
			echo $message;




===================

function hmac_sha1($key, $data)
{
    // Adjust key to exactly 64 bytes
    if (strlen($key) > 64) {
        $key = str_pad(sha1($key, true), 64, chr(0));
    }
    if (strlen($key) < 64) {
        $key = str_pad($key, 64, chr(0));
    }

    // Outter and Inner pad
    $opad = str_repeat(chr(0x5C), 64);
    $ipad = str_repeat(chr(0x36), 64);

    // Xor key with opad & ipad
    for ($i = 0; $i < strlen($key); $i++) {
        $opad[$i] = $opad[$i] ^ $key[$i];
        $ipad[$i] = $ipad[$i] ^ $key[$i];
    }

    return sha1($opad.sha1($ipad.$data, true));
}

function verifychecksum_e($arrayList, $key, $checksumvalue) {
	$arrayList = removeCheckSumParam($arrayList);
	ksort($arrayList);
	$str = getArray2StrForVerify($arrayList);
	$bankit_hash = decrypt_e($checksumvalue, $key);
	$salt = substr($bankit_hash, -4);

	$finalString = $str . "|" . $salt;

	$website_hash = hash("sha256", $finalString);
	$website_hash .= $salt;

	$validFlag = "FALSE";
	if ($website_hash == $bankit_hash) {
		$validFlag = "TRUE";
	} else {
		$validFlag = "FALSE";
	}
	return $validFlag;
}