I am completely fresher for payment gateway integration.
I want to use payment gateway in my website designed in PHP.
Please help me to know the security factors and issues to keep in mind and how.
I got the below form from payment gateway provider..
What I have tried:
$Merchant_Id = “your_merchantid”;//
$Amount = “amount”;
$Order_Id =”orderid”;//unique Id that should be passed to payment gateway
$WorkingKey = “working_key”;//Given to merchant by ccavenue
$Redirect_Url =”sucessurl”;
$Checksum = getCheckSum($Merchant_Id,$Amount,$Order_Id ,$Redirect_Url,$WorkingKey); // Validate All value
//creating a signature using the given details for security reasons
function getchecksum($MerchantId,$Amount,$OrderId ,$URL,$WorkingKey)
{
$str =”$MerchantId|$OrderId|$Amount|$URL|$WorkingKey”;
$adler = 1;
$adler = adler32($adler,$str);
return $adler;
}
//functions
function adler32($adler , $str)
{
$BASE = 65521 ;
$s1 = $adler & 0xffff ;
$s2 = ($adler >> 16) & 0xffff;
for($i = 0 ; $i < strlen($str) ; $i++)
{
$s1 = ($s1 + Ord($str[$i])) % $BASE ;
$s2 = ($s2 + $s1) % $BASE ;
}
return leftshift($s2 , 16) + $s1;
}
//leftshift function
function leftshift($str , $num)
{
$str = DecBin($str);
for( $i = 0 ; $i < (64 – strlen($str)) ; $i++)
$str = “0″.$str ;
for($i = 0 ; $i < $num ; $i++)
{
$str = $str.”0″;
$str = substr($str , 1 ) ;
}
return cdec($str) ;
}
//cdec function
function cdec($num)
{
for ($n = 0 ; $n < strlen($num) ; $n++)
{
$temp = $num[$n] ;
$dec = $dec + $temp*pow(2 , strlen($num) – $n – 1);
}
return $dec;
}
?>
<form id=”ccavenue” method=”post” action=”https://www.ccavenue.com/shopzone/cc_details.jsp”>
<input type=hidden name=”Merchant_Id” value=”Merchant_Id”>
<input type=”hidden” name=”Amount” value=”Amount”>
<input type=”hidden” name=”Order_Id” value=”Order_Id”>
<input type=”hidden” name=”Redirect_Url” value=”success url”>
<input type=”hidden” name=”TxnType” value=”A”>
<input type=”hidden” name=”ActionID” value=”TXN”>
<input type=”hidden” name=”Checksum” value=””>
<input type=”hidden” name=”billing_cust_name” value=”name of user”>
<input type=”hidden” name=”billing_cust_address” value=”address of user”>
<input type=”hidden” name=”billing_cust_country” value=”user country”>
<input type=”hidden” name=”billing_cust_state” value=”state of user”>
<input type=”hidden” name=”billing_cust_city” value=”city”>
<input type=”hidden” name=”billing_zip” value=”zip/pin code”>
<input type=”hidden” name=”billing_cust_tel” value=”telphone no”>
<input type=”hidden” name=”billing_cust_email” value=”emailid”>
<input type=”hidden” name=”delivery_cust_name” value=”user name”>
<input type=”hidden” name=”delivery_cust_address” value=”delivering address”>
<input type=”hidden” name=”delivery_cust_country” value=”delivering country”>
<input type=”hidden” name=”delivery_cust_state” value=”delivering state”>
<input type=”hidden” name=”delivery_cust_tel” value=”telphone no”>
<input type=”hidden” name=”delivery_cust_notes” value=”this is a test”>
<input type=”hidden” name=”Merchant_Param” value=””>
<input type=”hidden” name=”billing_zip_code” value=”zip/pin”>
<input type=”hidden” name=”delivery_cust_city” value=”city”>
<input type=”submit” value=”Buy Now” />
</form>