我成功地重定向到ccavenue付款网关,但是在单击"取消"按钮时,它显示了错误"安全错误。检测到的非法访问" 在重定向URL页面中。
这是我的redirecturl页面:
<?php include('Aes.php');include('adler32.php')?>
<?php
$workingKey='myWorkingKey'; //Working Key should be provided here.
$encResponse=$_POST["encResponse"]; //This is the response sent by the CCAvenue Server
$rcvdString=decrypt($encResponse,$workingKey);
$AuthDesc="";
$MerchantId="";
$OrderId="";
$Amount=0;
$Checksum=0;
$veriChecksum=false;
$decryptValues=explode('&', $rcvdString);
$dataSize=sizeof($decryptValues);
echo "<center>";
for($i = 0; $i < $dataSize; $i++)
{
$information=explode('=',$decryptValues[$i]);
if($i==0) $MerchantId=$information[1];
if($i==1) $OrderId=$information[1];
if($i==2) $Amount=$information[1];
if($i==3) $AuthDesc=$information[1];
if($i==4) $Checksum=$information[1];
}
$rcvdString=$MerchantId.'|'.$OrderId.'|'.$Amount.'|'.$AuthDesc.'|'.$workingKey;
$veriChecksum=verifyChecksum(genchecksum($rcvdString), $Checksum);
if($veriChecksum==TRUE && $AuthDesc==="Y")
{
echo "<br>Thank you for shopping with us. Your credit card has been charged and your transaction is successful. We will be shipping your order to you soon.";
}
else if($veriChecksum==TRUE && $AuthDesc==="B")
{
echo "<br>Thank you for shopping with us.We will keep you posted regarding the status of your order through e-mail";
}
else if($veriChecksum==TRUE && $AuthDesc==="N")
{
echo "<br>Thank you for shopping with us.However,the transaction has been declined.";
}
else
{
echo "<br>Security Error. Illegal access detected";
}
echo "<br><br>";
echo "<table cellspacing=4 cellpadding=4>";
for($i = 0; $i < $dataSize; $i++)
{
$information=explode('=',$decryptValues[$i]);
echo '<tr><td>'.$information[0].'</td><td>'.$information[1].'</td></tr>';
}
echo "</table><br>";
echo "</center>";
?>
我谷歌搜索了这个问题,但无法找到任何解决方案。如何解决此错误。请给出一些有关此错误的建议?
我从文档中找到(可能已经过时了,但找不到更新的(,您需要通过一个称为 cancel_url
的paramater,如果CCAVENANE将客户重定向到此URL,则客户在计费页面上取消交易。
因此,在页面中,您需要将付款添加到类似的表格中
<input type="hidden" id="cancel_url" name="cancel_url" value="the_url_where_you_will_proccess_canceled_orders">
您必须与redirect_url
您的代码没有错。您需要维护单独的页面以进行取消订单,其中您不需要使用CC Avenue响应代码。由于用户没有完成您将不会从CCAVENUE收到任何响应参数的付款。因此,它们无需 $ verifyCheckSum 和 $ authdesc 变量。他们只是乐意取消命令。因此,只需要向他们显示一个sg "您的订单已被取消" ,在您的网站中。