IRN Details not found.
";
//header("Location:landing_page.php?m=".urlencode($msg));
echo "{'error':[{'errorCodes':'9999','errorMsg':'IRN details is not found in APDB. Please contact Administrator. Team Alfie.'}],'status':'0','info':null}";
}else{
// $xconnector="l7xxba7aa16e968646b992298b377e955e7c:20180519134451:".$co_gstin."";
$curl_4 = curl_init();
if($debug=='y'){
$f = tmpfile();//for log
curl_setopt($curl_4, CURLOPT_VERBOSE, 1);//for log
curl_setopt($curl_4, CURLOPT_STDERR, $f);//for log
curl_setopt($curl_4, CURLOPT_HEADER, 1);//for log
curl_setopt($curl_4, CURLINFO_HEADER_OUT, true);//for log
}
curl_setopt_array($curl_4, array(
CURLOPT_URL => ''.$gsp_base_url.'/einvoice/v1.03/invoice/cancel',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"action": "CANCELIRN",
"data": {
"Irn": "'.$Irn.'",
"CnlRsn": "1",
"CnlRem": "Wrong entry"
}
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'gstin: '.$co_gstin.'',
'Accept: application/json',
'action:CANCELIRN',
'X-Connector-Auth-Token: '.$xconnector.'',
'Authorization: Bearer '.$api_access_token,
),
));
$response_4 = curl_exec($curl_4);
if($debug=='y'){
var_dump($response_4);//for log
var_dump(curl_getinfo($curl_4));//for log
fseek($f, 0);//for log
echo fread($f, 1024*1024); # output up to 1024 KB cURL verbose log//for log
fclose($f);//for log
echo "
";//for log
}
curl_close($curl_4);
$responJson_4=json_decode($response_4);
if($responJson_4->status=="0"){
$e_cnt=0;
$e_siz=sizeof($responJson_4->error);
while($e_cnt<$e_siz){
$sno++;
$msg.= " Error $sno :- ". $responJson_4->error[$e_cnt]->errorMsg."
";
if($responJson_4->error[$e_cnt]->errorMsg=="Invoice does not belongs to the user GSTIN"){
$msg="Irn $Irn is not belonging to this GSTIN";
}
if($responJson_4->error[$e_cnt]->errorMsg=="Invalid Token"){
// "Token Error: ".print_r($responJson_4)."
";
//invalidate api_exp
$q86="UPDATE TOP (1) [api_auth] SET [api_exp]='0' WHERE [co_gstin]='$co_gstin' ORDER BY [api_id] DESC ";
$upd_api_exp=sqlsrv_query($conn, $q86);
if(!$upd_api_exp){
$alert_type="simple";
$msg="Err ApiAuth
$q86
";
}else{
$alert_type="warning";
$msg="Invalid Token Error (Code 85): Try again Generating.";
$msg.="
";
}
}
if($responJson_4->error[$e_cnt]->errorMsg=="Invalid Data"){
// "DATA Error: ".print_r($responJson_4)."
";
$msg.="Invalid Data Error (Line No 95).
Try Cancelling Again";
// $msg.="******Details******
";
// $msg.="=====".$response_4."=====
";
// $msg.="=====".$valDtls."=====
";
// $msg.="=====".$itemList."=====
";
// $msg.="******EndOfDetails******
";
//echo $msg."
";
// append_file($filename,"*****Details******\n".$response_4."\n*****!Details*****\n");
// $msg.="
Download Error Details";
}
$e_cnt++;
}
//echo $response_4;;
//header("Location:landing_page.php?m=".urlencode($msg)."&fn=".urlencode($filename)."&at=".$alert_type);
echo $response_4;
}else{
//$upd_inv=$mysqli->query("UPDATE `".$tblprfx."inv_mast` SET `inv_status`='cancelled' WHERE `inv_id`='$inv_id' LIMIT 1");
/**********To DO ********/
//Update required changes in accounts
/**********End of To DO ********/
$upd_q161="UPDATE [irn_data] SET [inv_status]='cancelled',[cancel_dtt]='".date('Y-m-d H:i:s')."', [cancel_user_id]='".$_SESSION['user_id']."' WHERE [co_id]='".$_SESSION['co_id']."' AND [inv_id]='$inv_id'";
$res161=sqlsrv_query($conn,$upd_q161);
if(!$res161){
echo "Error in Cancelling IRN / Saving IRN Cancel data. (Lno 147)
$upd_q161";exit;
}else{
//log
$q166="INSERT INTO [irn_log]([irn_type],[irn_dtt],[irn_id],[irn_msg],[inv_id],[co_id],[inv_date],[user_id],[irnl_dtt]) VALUES
('ei_cancel','$AckDt','$Irn','cancel success','$inv_id','".$_SESSION["co_id"]."','$inv_date','".$_SESSION["user_id"]."','".date("Y-m-d H:i:s")."')";
$ins_log=sqlsrv_query($conn,$q166);
$msg="eInvoice with IRN No $Irn cancelled successfully ";
//$msg.="
Print eInvoice ";
if($debug!='y'){
echo "$response_4";
}else{
header("Location:landing_page.php?m=".urlencode($msg));
}
// echo $response_4;
}
}
}
exit;
?>