$q17";;}
while($gslc= sqlsrv_fetch_array( $g_lc, SQLSRV_FETCH_ASSOC)){
$location_code=$gslc["LOCATION_CODE"];
}
sqlsrv_free_stmt( $g_lc);
// !getting location_code
// $location_code=4;
// getting Company Details
$q28="SELECT TOP 1 [COMPANY_CODE],[LOCATION_NAME],[ADDRESS1],[ADDRESS2],[ADDRESS3],[GSTIN_NO],[PHONE],[MOBILE],[EMAIL],[PIN_CODE],[STATE_CODE] FROM [LOCATION_MASTER] WHERE [LOCATION_CODE]='".$location_code."'";
$get_cod=sqlsrv_query($conn,$q28);
if(!$get_cod){echo "Unable to get Company Details.
";
echo $q28;
}
// echo $q28;
while($codr=sqlsrv_fetch_array($get_cod, SQLSRV_FETCH_ASSOC)){
$co_code=$codr["COMPANY_CODE"];//
$co_state_code=$codr["STATE_CODE"];//
$co_gstin=$codr["GSTIN_NO"];//
//$co_gstin="05AALFP1139Q003";
// $co_state_code="05";
//$co_name="Test Seller";
$co_add1=$codr["ADDRESS1"];//"Seller address line 1";
$co_add2=$codr["ADDRESS2"];//"Seller address line 2";
$co_loc=$codr["ADDRESS3"];//"Chennai";
$co_pin=$codr["PIN_CODE"];//"600001";
//$pin=$codr["PIN_CODE"];//"600001";
$co_ph=$codr["PHONE"];//"9841034735";;
$co_em=$codr["EMAIL"];//"test@test.com";;
$q43="SELECT TOP 1 [COMPANY_NAME] FROM [COMPANY] WHERE [COMPANY_CODE]='".$co_code."'";
$get_conme=sqlsrv_query($conn, $q43);
while($con_r=sqlsrv_fetch_array($get_conme, SQLSRV_FETCH_ASSOC)){
$co_name=$con_r["COMPANY_NAME"];
}
sqlsrv_free_stmt($get_conme);
}
sqlsrv_free_stmt( $get_cod);
// !getting Company Details
// exit("$q17
$q28
CO_GSTIN : $co_gstin
");
if($co_gstin==""){
echo "Unauthorised access. GSTIN $co_gstin not available.";exit;;
}else{
$q57="SELECT COUNT(*) AS [GST_CNT] FROM [gsp_details] WHERE [co_gstin]='".$co_gstin."' AND [gsp_status]='active'";
$get_gst=sqlsrv_query($conn,$q57);
if(!$get_gst){echo "GSTIN Auth Fetch Error in GSP.
$q57";;exit;}
while($gstr=sqlsrv_fetch_array($get_gst)){
$gst_cnt=$gstr["GST_CNT"];
}
if($gst_cnt==0){
echo "Unauthorised GSTIN : $co_gstin.
$q28";//exit;;
}
//echo "CO_GSTIN $co_gstin
";
}
$q23="SELECT TOP 1 [gsp_access_token],[gsp_refresh_token],[gsp_exp],[gsp_base_url] FROM [gsp_auth] WHERE [gsp_exp]>'$nxt1min' AND [co_gstin]='".$co_gstin."' ORDER BY [ga_id] DESC";
$g_gsp=sqlsrv_query($conn, $q23);
if(!$g_gsp){echo " GSA Detail error. Possible reasons
$q23";;}
// echo "L54 $q23
";
while($gsa= sqlsrv_fetch_array( $g_gsp, SQLSRV_FETCH_ASSOC)){
$gsp_access_token=$gsa["gsp_access_token"];
$gsp_refresh_token=$gsa["gsp_refresh_token"];
$gsp_expiry=$gsa["gsp_exp"];
$gsp_base_url=$gsa["gsp_base_url"];
}
sqlsrv_free_stmt( $g_gsp);
// exit;
if($gsp_access_token=='not_set'){
$q40="SELECT * FROM [gsp_details] WHERE [co_gstin]='".$co_gstin."' AND [gsp_status]='active'";
// echo $q40;
$g_gsp=sqlsrv_query($conn,$q40);
if(!$g_gsp){echo "GSP Detail error.
$q40";;exit;}
while($gsro=sqlsrv_fetch_array($g_gsp, SQLSRV_FETCH_ASSOC)){
$gsp_un=$gsro["gsp_un"];
$gsp_pw=$gsro["gsp_pw"];
$gsp_client_id=$gsro["gsp_client_id"];
$gsp_authorisation=$gsro["gsp_authorisation"];
$gsp_base_url=$gsro["gsp_base_url"];
$accesstoken_un=$gsro["accesstoken_un"];
$accesstoken_pwd=$gsro["accesstoken_pwd"];
//echo date('d-M-Y H:i:s')." IST. GSP UN $gsp_un
GSP authorisation $gsp_authorisation
";
}
// Script to test if the CURL extension is installed on this server
// Ouput text to user based on test
if (_is_curl_installed()) {
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => ''.$gsp_base_url.'/auth-server/oauth/token',
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 => 'grant_type=password&username='.$gsp_un.'&password='.$gsp_pw.'&client_id='.$gsp_client_id.'&scope=einvauth',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/x-www-form-urlencoded',
'gstin: '.$co_gstin.'',
'Accept: application/json',
'Authorization: '.$gsp_authorisation.''
),
));
$response = curl_exec($curl);
// echo "
Response Received: ". $response."
";
curl_close($curl);
$responseJson=json_decode($response);
if ( json_last_error() !== 0 ) {
echo json_last_error_msg();
} else {
$gsp_access_token=$responseJson->access_token;
$token_type=$responseJson->token_type;
$gsp_refresh_token=$responseJson->refresh_token;;
$expires_in=$responseJson->expires_in;;
$scope=$responseJson->scope;
if($gsp_access_token!=""){
$exp_dtt=date("Y-m-d H:i:s",strtotime("+".$expires_in." seconds",strtotime(date("Y-m-d H:i:s"))));
$ins_q="INSERT INTO [gsp_auth] ([gsp_access_token],[gsp_token_type],[gsp_refresh_token],[gsp_token_expires_in],[gsp_dtt],[gsp_exp],[gsp_scope],[co_gstin],[gsp_base_url]) VALUES
('$gsp_access_token','$token_type','$gsp_refresh_token','$expires_in','".date("Y-m-d H:i:s")."','$exp_dtt','$scope','$co_gstin','$gsp_base_url')";
//echo $ins_q;
$ins=sqlsrv_query($conn,$ins_q);
if(!$ins){echo "
LNO 136 Error
".$ins_q;}
}else{
echo "GSP Credentials Error: ".$responseJson->error_description."
";
}
}
} else {
echo "cURL is NOT installed on this server.
Exiting...";
exit;
}
}
if($debug=='y'){
echo "Debug mode GSP Access Token : $gsp_access_token
$exp_dtt/$gsp_exp
";
}
//checking for valid api_token
$api_access_token="not_set";
$q123="SELECT TOP 1 [api_access_token],[api_refresh_token],[api_exp],[api_base_url] FROM [api_auth] WHERE [co_gstin]='".$co_gstin."' AND [api_exp]>'$nxt1min' ORDER BY [api_id] DESC";
//echo "$q123;
";
$g_api1=sqlsrv_query($conn, q123);
// if(!$g_api1){echo " API Fetch Detail error. Possible reasons
$q123";;exit;}
while($gari=sqlsrv_fetch_array($g_api1, SQLSRV_FETCH_ASSOC)){
$api_access_token=$gari["api_access_token"];
$api_refresh_token=$gari["api_refresh_token"];
$api_exp=$gari["api_exp"];
$api_base_url=$gari["api_base_url"];
}
//echo "$co_state_code, $co_gstin";
// echo $q123."
LNO 174 $gsp_base_url
".$api_access_token ;//exit;
if($api_access_token=='not_set'){
$q40="SELECT [accesstoken_un],[accesstoken_pwd] FROM [gsp_details] WHERE [co_gstin]='".$co_gstin."' AND [gsp_status]='active'";
//echo "L181$q40;
";
$g_gsp=sqlsrv_query($conn,$q40);
if(!$g_gsp){echo "GSP Detail error.
$q40";;exit;}
while($gsro=sqlsrv_fetch_array($g_gsp, SQLSRV_FETCH_ASSOC)){
$accesstoken_un=$gsro["accesstoken_un"];
$accesstoken_pwd=$gsro["accesstoken_pwd"];
//echo date('d-M-Y H:i:s')." IST. GSP UN $gsp_un
GSP authorisation $gsp_authorisation
";
}
//!checking for valid api_token
//$co_gstin="05AALFP1139Q003";
//sob GST auth
$curl2 = curl_init();
//182.50.130.44
//http://35.154.208.8:8080/einvoice/v1.03/authentication
curl_setopt_array($curl2, array(
CURLOPT_URL => ''.$gsp_base_url.'/einvoice/v1.03/authentication',
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": "ACCESSTOKEN",
"username": "'.$accesstoken_un.'",
"password": "'.$accesstoken_pwd.'"
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'gstin: '.$co_gstin.'',
'Accept: application/json',
'action: ACCESSTOKEN',
'X-Connector-Auth-Token:l7xxba7aa16e968646b992298b377e955e7c:20180519134451:'.$co_gstin.'',
'Authorization: Bearer '.$gsp_access_token.''
),
));
//'gstin: 05AALFP1139Q003','gstin: 05AALFP1139Q003',
//27GSPMH2101G1Z2
/*
"username": "perennialsys_UK",
"password": "Pere@123"
"username": "perennialsystems",
"password": "p3r3nn!@1"
}',
*/
//
//'X-Connector-Auth-Token: l7xxba7aa16e968646b992298b377e955e7c:20180519134451:27GSPMH2101G1Z2',
$response2 = curl_exec($curl2);
curl_close($curl2);
$response2Json=json_decode($response2);
echo "L241 JSON Response$response2Json
";
//
if ( json_last_error() !== 0 ) {
echo json_last_error_msg();
} else {
if($debug=='y'){
echo "L241 JSON Response$response2Json
";
echo "Line no 238 ".$response2."$gsp_access_token, $accesstoken_un, $accesstoken_pwd
";
}
if($response2Json->error[0]->errorMsg==""){
//echo "179 ".$response2;
//DATA received from API auth server
$api_access_token=$response2Json->access_token;
$api_token_type=$response2Json->token_type;
$api_refresh_token=$response2Json->refresh_token;;
$api_expires_in=$response2Json->expires_in;;
$scope=$response2Json->scope;
$availableApiHits=$response2Json->availableApiHits;
if($api_access_token!=""){
$api_exp_dtt=date("Y-m-d H:i:s",strtotime("+".$api_expires_in." seconds",strtotime(date("Y-m-d H:i:s"))));
$api_ins_q="INSERT INTO [api_auth] ([api_access_token],[api_token_type],[api_refresh_token],[api_token_expires_in],[api_dtt],[api_exp],[api_scope],[co_gstin],[api_base_url],[availableApiHits]) VALUES
('$api_access_token','$api_token_type','$api_refresh_token','$api_expires_in','".date("Y-m-d H:i:s")."','$api_exp_dtt','$scope','$co_gstin','$api_base_url','$availableApiHits')";
if($debug=='y'){echo "Lno 258 eigt $ins_q;
";}
$api_ins=sqlsrv_query($conn,$api_ins_q);
//if(!$api_ins){echo $mysqli->error."
".$api_ins_q;}
}
}else{
echo "API Error : ".$response2Json->error[0]->errorMsg;
exit;
}
//}
}
}
// else{echo "here ".$api_access_token."||".$api_exp_dtt;;}
if($debug=='y'){
echo "273 Debug mode API Access Token : ".$api_access_token."||".$api_exp_dtt;
}
// Define function to test
function _is_curl_installed() {
if (in_array ('curl', get_loaded_extensions())) {
return true;
}
else {
return false;
}
}
?>