json([ 'status' => 'ok', 'success' => true, 'message' => 'Bil berjaya dijana', 'data' => 'contoh no bil' ]); } public function janaBil(Request $request) { $url_api = 'http://'.$this->host_epbt.'/appsepbtkompaun_ws/registerbilpel/registerbilpelDetails'; $user = $request->user(); $lesen_penjaja = LesenPenjaja::find($request->permohonan_id); try { //The JSON data. $customer = [ [ 'cust_id' => $lesen_penjaja->user->nokp, 'full_name' => $lesen_penjaja->user->name, 'cust_type' => 'S', 'add_1' => $lesen_penjaja->user->alamat, 'add_2' => $lesen_penjaja->user->alamat2, 'poscode' => $lesen_penjaja->user->poskod, 'city' => $lesen_penjaja->user->bandar, 'state' => $lesen_penjaja->user->negeri, 'phone_num' => $lesen_penjaja->user->notelefon, 'citizenship' => 1, 'race' => $lesen_penjaja->user->short_bangsa(), 'gender' => $lesen_penjaja->user->short_jantina() ] ]; $bil = [ [ 'desc' => $request->keterangan, 'dept' => 'Jabatan Pelesenan', 'pay_status' => 0, 'ent_opr' => $user->login_epbt, 'ent_date' => date('Y-m-d H:i:s') ] ]; $bilitem = [ [ 'itemno' => 1, 'itemdesc' => $request->keterangan, 'itemprice' => $request->amaun, 'gst_type' => 'I', 'gst_code' => 'SR', 'cr_code' => 'H72407', 'dr_code' => 'H72407', 'cost_center_code' => '101005', 'pay_status' => 0, ] ]; $jsonData = [ 'customer' => $customer, 'bil' => $bil, 'bilitem' => $bilitem, 'client_type' => 'K', 'client_key' => $this->client_key ]; // dd($url_api, $this->client_key, $jsonData); $response = Http::withHeaders([ 'Content-Type' => 'application/json', ])->post($url_api, $jsonData); if ($response->failed()) { return response()->json([ 'success' => false, 'message' => 'API tidak respon.' ], 500); } $obj = $response->object(); // macam json_decode if (!($obj->status ?? false)) { return response()->json([ 'success' => false, 'message' => 'API return status = false; '.$obj->return_param, ], 400); } // Simpan dalam database $bil = BilPelbagaiApi::create([ 'user_id' => $user->id, 'lesen_penjaja_id' => $request->lesen_penjaja_id, 'tag' => $obj->tag, 'status' => $obj->status, 'return_param' => $obj->return_param, 'data_dihantar' => $jsonData, 'url_dihantar' => $url_api, 'no_akaun_bil' => $obj->accountNo, ]); return response()->json([ 'status' => 'ok', 'success' => true, 'message' => 'Bil berjaya dijana', 'data' => $bil ]); } catch (\Exception $e) { return response()->json([ 'success' => false, 'message' => $e->getMessage() ], 500); } } }