$q17";;} while($gslc= sqlsrv_fetch_array( $g_lc, SQLSRV_FETCH_ASSOC)){ $location_code=$gslc["LOCATION_CODE"]; } sqlsrv_free_stmt( $g_lc); // !getting location_code // 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"; $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 if($co_gstin==""){ echo "Unauthorised access. GSTIN not available.";exit;; }else{ $q57="SELECT COUNT(*) AS [GST_CNT] FROM [gsp_details] WHERE [co_gstin]='".$co_gstin."' AND [gsp_status]='active' AND [type]='ewb'"; $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.";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."' AND [type]='ewb' ORDER BY [ga_id] DESC"; $g_gsp=sqlsrv_query($conn, $q23); if(!$g_gsp){echo "Line 76: GSA Detail error. Possible reasons
$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' AND [type]='ewb'"; // 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' AND [type]='ewb' ORDER BY [api_id] DESC"; $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' AND [type]='ewb'"; $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); // if ( json_last_error() !== 0 ) { echo json_last_error_msg(); } else { if($debug=='y'){ echo "Line no 238 ".$response2; }else{ 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],[type]) 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','ewb')"; //echo $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 "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; } } ?>