php script for integration of ccavenue payment gateway.docx
TRANSCRIPT
PHP Script for Integration of CCAvenue Payment Gateway – opensourceprogrammer.inIntegration of CCAVENUE Payment Cart in Your Shopping Section
CCavenue is most popular Payment gateway for online Shopping in india. It provide payment through using International credit card your Bank (who have bond with CCavenue) online Account or using it’s debit card(ATM card). It is one of the most secure place for given your money to online shop.
For Integrate it with your website you should have CCavenue account and they give you a merchant id and a unique key for your site that is most important for money transaction.
Php Function’s Require TO Validate Require Value for CCAvenue Payment.
PHP File :- ccavenueValidate.php
?010203040506070809101112
<?php
function getCheckSum($MerchantId,$Amount,$OrderId ,$URL,$WorkingKey) { $str ="$MerchantId|$OrderId|$Amount|$URL|$WorkingKey"; $adler = 1; $adler = adler32($adler,$str); return $adler; }
function verifyCheckSum($MerchantId,$OrderId,$Amount,$AuthDesc,$CheckSum,$WorkingKey) { $str = "$MerchantId|$OrderId|$Amount|$AuthDesc|$WorkingKey"; $adler = 1; $adler = adler32($adler,$str);
if($adler == $CheckSum) return "true" ; else return "false" ; }
function adler32($adler , $str) { $BASE = 65521 ;
$s1 = $adler & 0xffff ; $s2 = ($adler >> 16) & 0xffff;
1314151617181920212223242526272829303132333435
for($i = 0 ; $i < strlen($str) ; $i++) { $s1 = ($s1 + Ord($str[$i])) % $BASE ; $s2 = ($s2 + $s1) % $BASE ; //echo "s1 : $s1 <BR> s2 : $s2 <BR>";
} return leftshift($s2 , 16) + $s1; }
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 ) ; //echo "str : $str <BR>"; } return cdec($str) ; }
function cdec($num) {
for ($n = 0 ; $n < strlen($num) ; $n++) { $temp = $num[$n] ; $dec = $dec + $temp*pow(2 , strlen($num) - $n - 1); }
return $dec; }?>
3637383940414243444546474849505152535455565758
596061626364656667
Processing Page CodeCCAvenue Passing Parameter That Require for Complete the ShoppingIn this page data comes from checkout form of shopping cart collect and validate according CCAcenue rules and arrange in given format and send it CCAenue sever for payment Processing.
?01020304050607080910
<?php include(ccavenueValidate.php); $ccavenuemerchantId= "";//This id(also User Id) available at "Generate
Working Key" of "Settings & Options" $Amount = $orderdata[5];//your script should substitute the amount in the quotes provided here $orderId= $orderdata[0];;//your script should substitute the order description in the quotes provided here $WorkingKey = "";//Given to merchant by ccavenue $returnUrl ="http://www.example.com/shopping.php"; //url of your successpage $Checksum = getCheckSum($Merchant_Id,$Amount,$orderId,$Redirect_Url,$WorkingKey); // Validate All value?>
<p align="center" style="font-family:Calibri; font-size:24px;color:#3670A7;">Processing to CCAvenue..............</p>
<form id="submittoserver" method="post" action="https://www.ccavenue.com/shopzone/cc_details.jsp"> <input type=hidden name=Merchant_Id value="<?php echo $ ccavenuemerchantId; ?>"> <input type="hidden" name="Amount" value="<?php echo $Amount; ?>"> <input type="hidden" name="Order_Id" value="<?php echo $ orderId; ?>">
1112131415161718192021222324252627282930313233
<input type="hidden" name="Redirect_Url" value="<?php echo $ returnUrl; ?>"> <input type="hidden" name="Checksum" value="<?php echo $Checksum; ?>"> <input type="hidden" name="billing_cust_name" value="<?= $orderdata[7].' '.$orderdata[8];?>"> <!--Pass Customer Full Name --> <input type="hidden" name="billing_cust_address" value="<?= $orderdata[9].' '.$orderdata[10];?>"><!--Pass Customer Full Address--> <input type="hidden" name="billing_cust_country" value="<?= $orderdata[15];?>"> <!--Pass Customer Country --> <input type="hidden" name="billing_cust_state" value="<?= $orderdata[14];?>"><!--Pass Customer State --> <input type="hidden" name="billing_cust_city" value="<?= $orderdata[13];?>"> <!--Pass Customer City --> <input type="hidden" name="billing_zip" value="<?= $orderdata[16];?>"> <!--Pass Customer Zip Code--> <input type="hidden" name="billing_cust_tel" value="<?= $orderdata[11];?>"> <!--Pass Customer Phone No--> <input type="hidden" name="billing_cust_email" value="<?= $orderdata[12];?>"> <!--Pass Customer Email address--> <input type="hidden" name="delivery_cust_name" value="<?= $orderdata[7].' '.$orderdata[8];?>"> <!--Pass Same or other other detail fill by customer--> <input type="hidden" name="delivery_cust_address" value="<?= $orderdata[9].' '.$orderdata[10];?>"> <input type="hidden" name="delivery_cust_country" value="<?= $orderdata[15];?>"> <input type="hidden" name="delivery_cust_state" value="<?= $orderdata[14];?>"> <input type="hidden" name="delivery_cust_tel" value="<?= $orderdata[11];?>"> <input type="hidden" name="delivery_cust_notes" value=""> <input type="hidden" name="Merchant_Param" value=""> <input type="hidden" name="billing_zip_code" value="<?= $orderdata[16];?>"> <input type="hidden" name="delivery_cust_city" value="<?= $orderdata[13];?>"> <input type="hidden" name="delivery_zip_code" value="<?= $orderdata[16];?>">
</form>
3435363738