
<?php include '../au.com.gateway.client/GatewayClient.php'; ?>
<?php include '../au.com.gateway.client.config/ClientConfig.php'; ?>
<?php include '../au.com.gateway.client.component/RequestHeader.php'; ?>
<?php include '../au.com.gateway.client.component/CreditCard.php'; ?>
<?php include '../au.com.gateway.client.component/TransactionAmount.php'; ?>
<?php include '../au.com.gateway.client.component/Redirect.php'; ?>
<?php include '../au.com.gateway.client.facade/BaseFacade.php'; ?>
<?php include '../au.com.gateway.client.facade/Payment.php'; ?>
<?php include '../au.com.gateway.client.root/PaycorpRequest.php'; ?>
<?php include '../au.com.gateway.client.root/PaycorpResponse.php'; ?>
<?php include '../au.com.gateway.client.payment/PaymentCompleteRequest.php'; ?>
<?php include '../au.com.gateway.client.payment/PaymentCompleteResponse.php'; ?>
<?php include '../au.com.gateway.client.utils/IJsonHelper.php'; ?>
<?php include '../au.com.gateway.client.helpers/PaymentCompleteJsonHelper.php'; ?>
<?php include '../au.com.gateway.client.utils/HmacUtils.php'; ?>
<?php include '../au.com.gateway.client.utils/CommonUtils.php'; ?>
<?php include '../au.com.gateway.client.utils/RestClient.php'; ?>
<?php include '../au.com.gateway.client.enums/TransactionType.php'; ?>
<?php include '../au.com.gateway.client.enums/Version.php'; ?>
<?php include '../au.com.gateway.client.enums/Operation.php'; ?>
<?php include '../au.com.gateway.client.facade/Vault.php'; ?>
<?php include '../au.com.gateway.client.facade/Report.php'; ?>
<?php include '../au.com.gateway.client.facade/AmexWallet.php'; ?>

<?php
date_default_timezone_set('Asia/Colombo');
error_reporting(E_ALL);
ini_set('display_errors', 1);

$servername = "localhost";
$username = "kumbukri_krdbuse";
$password = "Q(T8d76#Abt3";
$dbname = "kumbukri_testkrdb";
$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "SELECT * FROM reservation WHERE paylink_hash = 1469702942.2403";
$result = $conn->query($sql);
$row = $result->fetch_assoc();

if($row['status'] == 2 || $row['status'] == 5){
    if($_GET['clientRef'] == '4udrJwNzTWqb428I'){
        $authToken = '41543216-9d01-427d-9403-9224fa2edaa4';
        $clientId = 14000048;
    }else{

    }

/*------------------------------------------------------------------------------
STEP1: Build ClientConfig object
------------------------------------------------------------------------------*/
$clientConfig = new ClientConfig();
$clientConfig->setServiceEndpoint("https://combank.paycorp.com.au/rest/service/proxy");
//$clientConfig->setAuthToken("41543216-9d01-427d-9403-9224fa2edaa4");
$clientConfig->setAuthToken($authToken);
//$clientConfig->setHmacSecret("4udrJwNzTWqb428I");
$clientConfig->setHmacSecret($_GET['clientRef']);
$clientConfig->setValidateOnly(FALSE);
/*------------------------------------------------------------------------------
STEP2: Build Client object
------------------------------------------------------------------------------*/
$client = new GatewayClient($clientConfig);
/*------------------------------------------------------------------------------
STEP3: Build PaymentCompleteRequest object
------------------------------------------------------------------------------*/
$completeRequest = new PaymentCompleteRequest();
//$completeRequest->setClientId(14000048);
$completeRequest->setClientId($clientId);
//$completeRequest->setClientId('11000010');
$completeRequest->setReqid($_GET['reqid']);

/******************$redirect = new Redirect();
$redirect->setReturnUrl("http://sandbox.kumbukriver.com/payment/receiptPage");
$redirect->setReturnMethod("POST");
$completeRequest->setRedirect($redirect);****************/

/*------------------------------------------------------------------------------
STEP4: Process PaymentCompleteRequest object
------------------------------------------------------------------------------*/
$completeResponse = $client->payment()->complete($completeRequest);
/*------------------------------------------------------------------------------
STEP5: Process PaymentCompleteResponse object
------------------------------------------------------------------------------*/

    if($completeResponse){
        if($completeResponse->getResponseCode() == 00){
            $x = $completeResponse->getextraData();
            $reservationid = (explode("-",$x[0]['ADD-KEY-2']));
            
            $sql = "SELECT reservation_id,title,name,address,contact,email,arrive_date,book_date,departure_date,nights,adults,children,baby,room_id,nationality,adult_rate,child_rate,baby_rate,additional_rate,status,paylink_hash,reason,user,is_agent,agent_presentage FROM reservation WHERE reservation_id =".$reservationid[0];
            $result = $conn->query($sql);
            $row = $result->fetch_assoc();
            
            $inv = create_invoice($row['adults'], $row['adult_rate'], $row['children'], $row['child_rate'], $row['baby'], $row['baby_rate'], $row['additional_rate'], $row['nights']);
            
            echo '<pre>';
            var_dump($inv);
            die('l123');

            $sql = "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('John', 'Doe', 'john@example.com')";
            if($conn->query($sql) === TRUE){
                echo "New record created successfully";
            }else{
                echo "Error: " . $sql . "<br>" . $conn->error;
            }

            $conn->close();



        }else{
            die('Payment Fail...');
        }
    }
}else{
    die('NO');
}



//echo '<pre>';
//var_dump($x[0]['ADD-KEY-2']);
//die('l123');



//        $servername = "localhost";
    //        $username = "kumbukri_krdbuse";
    //        $password = "Q(T8d76#Abt3";
    //        $dbname = "kumbukri_testkrdb";
    //        $conn = new mysqli($servername, $username, $password, $dbname);
    //
    //        if ($conn->connect_error) {
    //            die("Connection failed: " . $conn->connect_error);
    //        } 


            //$reservationid = (explode("-",$completeResponse->extraData('ADD-KEY-2')));




//        $sql = "SELECT * FROM reservation WHERE paylink_hash = 1469702942.2403";
//        $result = $conn->query($sql);
//        $row = $result->fetch_assoc();
        
//        echo '<pre>';
//        var_dump($completeResponse->responseCode);


//    die($completeResponse->getResponseCode());
    
    //header('Location: http://sandbox.kumbukriver.com/payment/receiptPage');
//    echo '<pre>';
//    var_dump($completeResponse);
    
//    echo '
//    <form action="http://sandbox.kumbukriver.com/payment/receiptPage" method="POST" name="sendresponce" id="sendresponce">
//        <input type="hidden" name="metaData1" value="aaaaaaa"/>
//        <input type="hidden" name="metaData2" value="ssssssssss"/>
//        <input type="hidden" name="paymentAmount" value="ddddddddddd"/>
//        <input type="hidden" name="currency" value="ffffffffffffff"/>
//        <input type="submit">
//    </form>
//    ';



/*echo '<br><br>PCW Payment-Complete Respopnse: ----------------------------------';
echo '<br>Txn Reference : ' . $completeResponse->getTxnReference();
echo '<br>Response Code : ' . $completeResponse->getResponseCode();
echo '<br>Response Text : ' . $completeResponse->getResponseText();
echo '<br>Settlement Date : ' . $completeResponse->getSettlementDate();
echo '<br>Auth Code : ' . $completeResponse->getAuthCode();
echo '<br>Token : ' . $completeResponse->getToken();
echo '<br>Token Response Text: ' . $completeResponse->getTokenResponseText();
echo '<br>----------------------------------------------------------------------';*/
?>

<!--    <script type="text/javascript">
        document.getElementById('sendresponce').submit(); // SUBMIT FORM
    </script>-->


<?php
function create_invoice($adults, $adult_rate, $children, $child_rate, $baby, $baby_rate, $additional_rate, $nights){
        $additional_persons = '0';
        $additional_persons_total = 0;

        if($adults>2){//check any aditional persons
            $additional_persons = $adults - 2;//number of aditional persons
            $additional_persons_total = $additional_rate * $additional_persons;//aditional persons totle price
            $adultsno = 2;//number of adults
            $adults_total = $adult_rate * $adultsno;//adults totle price
        }else{
            //elseif($adults <= 2){//check only adults
            $adults = 2;
            $adults_total = $adult_rate * $adults;//adults totle price
            $adultsno = $adults;//number of adults
            //}
        }

        $children_total = $child_rate * $children;//children totle price
        $baby_total = $baby_rate * $baby;//baby totle price
        $total = $adults_total + $children_total + $baby_total + $additional_persons_total;//total 
        $grand_total = $total * $nights;//full amount
        
        $return['adultsno'] = $adultsno;
        $return['adults_total'] = $adults_total;
        $return['additional_persons'] = $additional_persons;
        $return['additional_persons_total'] = $additional_persons_total;
        $return['children_total'] = $children_total;
        $return['baby_total'] = $baby_total;
        $return['total'] = $total;
        $return['grand_total'] = $grand_total;
        return $return;
    }
?>