<?php
/*****************************************************************************************************/
/*  CALL BACK CODE FROM CCAvenue : This code needs to be called from your processor upon completion */
/*****************************************************************************************************/
define('INCLUDE_STEPS', 'pluginCallback');
require_once dirname(__FILE__) . '/../../../common/common.php';
require_once 'classes/class.gateway.plugin.php';

////////////////////////////////////

$Order_Id = $_POST['Order_Id'];
$cPlugin = new Plugin($Order_Id);

$WorkingKey = $cPlugin->GetPluginVariable("plugin_ccavenue_Working Key"); //put in the 32 bit working key in the quotes provided here
$Amount = $_POST['Amount'];
$AuthDesc = $_POST['AuthDesc'];
$Checksum  = $_POST['Checksum'];
$Merchant_Id = $_POST['Merchant_Id'];
$signup = $_POST['Merchant_Param'];

include_once("libfuncs.php");
$Checksum = verifyChecksum($Merchant_Id, $Order_Id , $Amount,$AuthDesc,$Checksum,$WorkingKey);

if($Checksum=="true" && $AuthDesc=="Y")
{
        $transaction = " CCAvenue Payment of $Amount was accepted";
 	    $cPlugin->PaymentAccepted($Amount);
        //Here you need to put in the routines for a successful
        //transaction such as sending an email to customer,
        //setting database status, informing logistics etc etc
        if ($signup) {
            $cPlugin->ForwardUser(1);
            exit;
        } else {
            $cPlugin->ForwardUser(0);
            exit;
        }
}
else if($Checksum=="true" && $AuthDesc=="B")
{
         $transaction = " CCAvenue Payment of $Amount was accepted.";
         $cPlugin->PaymentAccepted($Amount, $transaction);
        //echo "<br>Thank you for shopping with us.We will keep you posted regarding the status of your order through e-mail";
        //Here you need to put in the routines/e-mail for a  "Batch Processing" order
        //This is only if payment for this transaction has been made by an American Express Card
        //since American Express authorisation status is available only after 5-6 hours by mail from ccavenue and at the "View Pending Orders"
        if ($signup) {
            $cPlugin->ForwardUser(1);
            exit;
        } else {
            $cPlugin->ForwardUser(0);
            exit;
        }
}
else if($Checksum=="true" && $AuthDesc=="N")
{
        $transaction = " CCAvenue Payment of $Amount was rejected.";
   		$cPlugin->PaymentRejected($transaction);
        //Here you need to put in the routines for a failed
        //transaction such as sending an email to customer
        //setting database status etc etc
        if ($signup) {
            $cPlugin->ForwardUser(1);
            exit;
        } else {
            $cPlugin->ForwardUser(0);
            exit;
        }
}
else
{
 		echo "here: you shouldn't be here";
        //echo "<br>Security Error. Illegal access detected";
        //Here you need to simply ignore this and dont need
        //to perform any operation in this condition
}

?>
