diff --git a/app/Http/Controllers/API/Contact/ContactApiController.php b/app/Http/Controllers/API/Contact/ContactApiController.php
new file mode 100644
index 0000000..3a71ae0
--- /dev/null
+++ b/app/Http/Controllers/API/Contact/ContactApiController.php
@@ -0,0 +1,11 @@
+<?php
+
+namespace App\Http\Controllers\API\Contact;
+
+use App\Http\Controllers\Controller;
+use Illuminate\Http\Request;
+
+class ContactApiController extends Controller
+{
+    //
+}
diff --git a/app/Http/Controllers/API/Login/LoginApiController.php b/app/Http/Controllers/API/Login/LoginApiController.php
new file mode 100644
index 0000000..f11d0ab
--- /dev/null
+++ b/app/Http/Controllers/API/Login/LoginApiController.php
@@ -0,0 +1,254 @@
+<?php
+
+namespace App\Http\Controllers\API\Login;
+
+use App\Http\Controllers\Controller;
+use Illuminate\Http\Request;
+use Tymon\JWTAuth\Facades\JWTFactory;
+use Illuminate\Support\Facades\Hash;
+use App\Models\User;
+use Carbon\Carbon;
+use Illuminate\Support\Facades\Auth;
+use Illuminate\Support\Facades\DB;
+use Illuminate\Support\Facades\Log;
+use Illuminate\Support\Facades\Storage;
+use Illuminate\Support\Str;
+use Tymon\JWTAuth\Facades\JWTAuth;
+
+class LoginApiController extends Controller
+{
+    /**
+     * Create a new AuthController instance.
+     *
+     * @return void
+     */
+    public function __construct()
+    {
+        $this->middleware('auth:api', ['except' => ['login', 'register', 'hai']]);
+    }
+
+    /**
+     * Get a JWT via given credentials.
+     *
+     * @return \Illuminate\Http\JsonResponse
+     */
+    public function login(Request $request)
+    {
+        // $credentials = $request->validate(
+        //     [
+        //         'email' => ['required', 'email'],
+        //         'password' => ['required', 'min:8'],
+        //     ],
+        //     [
+        //         'email.required' => 'Alamat email wajib diisi.',
+        //         'email.email' => 'Alamat email harus berformat valid.',
+        //         'password.required' => 'Password wajib diisi.',
+        //         'password.min' => 'Password harus memiliki panjang minimal 8 karakter.',
+        //     ],
+        // );
+
+        // $credentials = $request->only('email', 'password');
+
+        // if (!$token = Auth::attempt($credentials)) {
+        //     return response()->json(['error' => 'Unauthorized', 'message' => $credentials ], 401);
+        // }
+
+        // // return $this->respondWithToken($token);
+        // return response()->json([
+        //     'token' => $token
+        // ]);
+
+        $credentials = request(['email', 'password']);
+
+        if (!($token = Auth::guard('api')->attempt($credentials))) {
+            return response()->json(['error' => 'Unauthorized'], 401);
+        }
+
+        return $this->respondWithToken($token);
+    }
+
+    /**
+     * Get the authenticated User.
+     *
+     * @return \Illuminate\Http\JsonResponse
+     */
+    public function me()
+    {
+        $token = JWTAuth::getToken();
+        return response()->json(JWTAuth::user($token));
+    }
+
+    public function test(Request $request)
+    {
+        return response()->json([
+            'message' => 'Hello from API',
+            'data' => $request->input('data'),
+        ]);
+    }
+
+    /**
+     * Log the user out (Invalidate the token).
+     *
+     * @return \Illuminate\Http\JsonResponse
+     */
+    public function logout()
+    {
+        auth()->logout();
+
+        return response()->json(['message' => 'Successfully logged out']);
+    }
+
+    /**
+     * Refresh a token.
+     *
+     * @return \Illuminate\Http\JsonResponse
+     */
+    public function refresh()
+    {
+        return $this->respondWithToken(Auth::refresh());
+    }
+
+    /**
+     * Get the token array structure.
+     *
+     * @param  string $token
+     *
+     * @return \Illuminate\Http\JsonResponse
+     */
+    protected function respondWithToken($token)
+    {
+        return response()->json([
+            'access_token' => $token,
+            'token_type' => 'bearer',
+            'expires_in' => JWTFactory::getTTL() * 60,
+        ]);
+    }
+
+    public function register(Request $request)
+    {
+        $nama_depan = $request->input('nama_depan');
+        $nama_belakang = $request->input('nama_belakang');
+        $tanggal_lahir = $request->input('tanggal_lahir');
+        $new_password = $request->input('new_password');
+        $nik = $request->input('nik');
+        $email = $request->input('new_email');
+        $nohp = $request->input('nohp');
+        $alamat = $request->input('alamat');
+        $foto_ktp = '';
+        $foto_wajah = '';
+        $persentase_kemiripan = 0;
+        $gender = $request->input('gender');
+        $kode_kelurahan = $request->input('village_code');
+
+        // $ktpBase64 = $request->input('ktp');
+        // $wajahBase64 = $request->input('wajah');
+
+        // if ($ktpBase64 && $wajahBase64) {
+        //     // Konversi string Base64 ke file gambar
+        //     $ktpFile = base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $ktpBase64));
+        //     $wajahFile = base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $wajahBase64));
+
+        //     $foto_ktp = 'Foto-KTP-' . $nama_depan . '-' . $nama_belakang . '.jpg';
+        //     $foto_wajah = 'Foto-Wajah-' . $nama_depan . '-' . $nama_belakang . '.jpg';
+
+        //     file_put_contents(public_path('storage/foto-ktp/' . $foto_ktp), $ktpFile);
+        //     file_put_contents(public_path('storage/foto-wajah/' . $foto_wajah), $wajahFile);
+        // }
+
+        if ($request->hasFile('ktp') && $request->hasFile('wajah')) {
+            $fileKtp = $request->file('ktp');
+            $fileWajah = $request->file('wajah');
+            $foto_ktp = $nama_depan.'-'.$nama_belakang. '.' . $fileKtp->getClientOriginalExtension();
+            $foto_wajah = $nama_depan.'-'.$nama_belakang. '.' . $fileWajah->getClientOriginalExtension();
+            $pathKtp = 'foto-ktp/' . $foto_ktp;
+            $pathWajah = 'foto-wajah/' . $foto_wajah;
+
+            Storage::disk('public')->put($pathKtp, file_get_contents($fileKtp));
+            Storage::disk('public')->put($pathWajah, file_get_contents($fileWajah));
+        }
+
+        //OCR
+        try {
+            // $fotoKTP = public_path('storage/foto-ktp/' . $foto_ktp);
+
+            // $image = Image::make($fotoKTP);
+
+            // $image->greyscale(); // Convert to grayscale
+            // $image->contrast(10); // Increase contrast, adjust the value as needed
+
+            // $preprocessedfotoKTP = public_path('storage/preprocessed/preprocessed_image.jpg');
+            // $image->save($preprocessedfotoKTP);
+
+            // $result = (new TesseractOCR($preprocessedfotoKTP))->run();
+
+            // (5) Normalize
+
+            // $lines = explode("\n", $result);
+            // $namaOCR = '';
+            // $nikOCR = '';
+            // $nikInputan = $nik;
+            // $namaInputan = $nama_depan . ' ' . $nama_belakang;
+
+            // foreach ($lines as $line) {
+            //     // Mencari NIK
+            //     if (strpos($line, $nikInputan) !== false) {
+            //         $nikOCR = preg_replace('/[^0-9]/', '', $line);
+            //     }
+
+            //     // Mencari nama
+            //     if (strpos($line, $namaInputan) !== false) {
+            //         $namaOCR = trim(substr($line, strpos($line, ':') + 1));
+            //     }
+            // }
+
+            //Selesai
+
+            // $persentase_kemiripan = (similar_text($nikInputan, $nikOCR, $percent) + similar_text($namaOCR, $namaOCR, $percent)) / 2;
+            // $status = 'Progress';
+
+            // if (similar_text($nikInputan, $nikOCR, $percent) >= 70 && similar_text($namaOCR, $namaOCR, $percent) >= 70) {
+            //     $status = 'Progress';
+            // } else {
+            //     $status = 'Progress';
+            // }
+
+            DB::beginTransaction();
+
+            $password = Hash::make($new_password);
+
+            User::create([
+                'nama_depan' => $nama_depan,
+                'nama_belakang' => $nama_belakang,
+                'tanggal_lahir' => $tanggal_lahir,
+                'email' => $email,
+                'email_verified_at' => now(),
+                'password' => $password,
+                'nohp' => $nohp,
+                'nik' => $nik,
+                'alamat' => $alamat,
+                'foto_ktp' => $foto_ktp,
+                'foto_wajah' => $foto_wajah,
+                'persentase_kemiripan' => $persentase_kemiripan,
+                'gender' => $gender,
+                'kode_kelurahan' => $kode_kelurahan,
+                'remember_token' => Str::random(10),
+            ]);
+
+            DB::commit();
+
+            return response()->json([
+                'status' => true,
+                'message' => 'Akun anda sudah terdaftar dan butuh verifikasi hingga maksimal 1 hari kerja',
+            ]);
+        } catch (\Exception $e) {
+            DB::rollBack();
+
+            Log::error($e->getMessage());
+
+            return response()->json([
+                'status' => false,
+                'message' => 'Akun anda gagal terdaftar. Coba lagi!',
+            ]);
+        }
+    }
+}
diff --git a/app/Http/Controllers/API/LoginApiController.php b/app/Http/Controllers/API/LoginApiController.php
deleted file mode 100644
index bdff943..0000000
--- a/app/Http/Controllers/API/LoginApiController.php
+++ /dev/null
@@ -1,127 +0,0 @@
-<?php
-
-namespace App\Http\Controllers\API;
-
-use App\Http\Controllers\Controller;
-use Illuminate\Http\Request;
-use Illuminate\Support\Facades\Auth;
-use Illuminate\Support\Facades\Hash;
-use App\Models\User;
-
-class LoginApiController extends Controller
-{
-    /**
-     * Create a new AuthController instance.
-     *
-     * @return void
-     */
-    public function __construct()
-    {
-        $this->middleware('auth:api', ['except' => ['login', 'register', 'hai']]);
-    }
-
-    /**
-     * Get a JWT via given credentials.
-     *
-     * @return \Illuminate\Http\JsonResponse
-     */
-    public function login()
-    {
-        // $request->validate([
-        //     'email' => 'required|string|email',
-        //     'password' => 'required',
-        // ]);
-
-        $credentials = request(['email', 'password']);
-
-        if (!($token = auth()->attempt($credentials))) {
-            return response()->json(['error' => 'Unauthorized'], 401);
-        }
-
-        return $this->respondWithToken($token);
-    }
-
-    /**
-     * Get the authenticated User.
-     *
-     * @return \Illuminate\Http\JsonResponse
-     */
-    public function me()
-    {
-        return response()->json(Auth::user());
-    }
-
-    public function hai()
-    {
-        return response()->json([
-            'message' => 'Hello from API',
-        ]);
-    }
-
-    /**
-     * Log the user out (Invalidate the token).
-     *
-     * @return \Illuminate\Http\JsonResponse
-     */
-    public function logout()
-    {
-        auth()->logout();
-
-        return response()->json(['message' => 'Successfully logged out']);
-    }
-
-    /**
-     * Refresh a token.
-     *
-     * @return \Illuminate\Http\JsonResponse
-     */
-    public function refresh()
-    {
-        return $this->respondWithToken(Auth::refresh());
-    }
-
-    /**
-     * Get the token array structure.
-     *
-     * @param  string $token
-     *
-     * @return \Illuminate\Http\JsonResponse
-     */
-    protected function respondWithToken($token)
-    {
-        return response()->json([
-            'user' => auth()->user(),
-            'access_token' => $token,
-            'token_type' => 'bearer',
-            'expires_in' => Auth::factory()->getTTL() * 60,
-            // 'status' => auth()->check(),
-        ]);
-    }
-
-    public function register(Request $request)
-    {
-        $request->validate([
-            'name' => 'required|string|max:255',
-            'email' => 'required|string|email|unique:users',
-            'password' => 'required|string|min:8',
-        ]);
-
-        $user = User::create([
-            'name' => $request->name,
-            'email' => $request->email,
-            'password' => Hash::make($request->password),
-        ]);
-
-        return response()->json([
-            'message' => 'User created successfully',
-            'user' => $user,
-        ]);
-    }
-
-    // public function check()
-    // {
-    //     return response()->json([
-    //         'status' => auth()->check(),
-    //     ]);
-    // }
-}
diff --git a/app/Http/Controllers/API/Pembeli/PembeliApiController.php b/app/Http/Controllers/API/Pembeli/PembeliApiController.php
new file mode 100644
index 0000000..bab4e6e
--- /dev/null
+++ b/app/Http/Controllers/API/Pembeli/PembeliApiController.php
@@ -0,0 +1,11 @@
+<?php
+
+namespace App\Http\Controllers\API\Pembeli;
+
+use App\Http\Controllers\Controller;
+use Illuminate\Http\Request;
+
+class PembeliApiController extends Controller
+{
+    //
+}
diff --git a/app/Http/Controllers/API/Penjual/PenjualApiController.php b/app/Http/Controllers/API/Penjual/PenjualApiController.php
new file mode 100644
index 0000000..2fa025a
--- /dev/null
+++ b/app/Http/Controllers/API/Penjual/PenjualApiController.php
@@ -0,0 +1,11 @@
+<?php
+
+namespace App\Http\Controllers\API\Penjual;
+
+use App\Http\Controllers\Controller;
+use Illuminate\Http\Request;
+
+class PenjualApiController extends Controller
+{
+    //
+}
diff --git a/app/Http/Controllers/API/Profile/ProfileApiController.php b/app/Http/Controllers/API/Profile/ProfileApiController.php
new file mode 100644
index 0000000..ea18806
--- /dev/null
+++ b/app/Http/Controllers/API/Profile/ProfileApiController.php
@@ -0,0 +1,11 @@
+<?php
+
+namespace App\Http\Controllers\API\Profile;
+
+use App\Http\Controllers\Controller;
+use Illuminate\Http\Request;
+
+class ProfileApiController extends Controller
+{
+    //
+}
diff --git a/app/Http/Controllers/API/Refund/RefundApiController.php b/app/Http/Controllers/API/Refund/RefundApiController.php
new file mode 100644
index 0000000..8ee5945
--- /dev/null
+++ b/app/Http/Controllers/API/Refund/RefundApiController.php
@@ -0,0 +1,11 @@
+<?php
+
+namespace App\Http\Controllers\API\Refund;
+
+use App\Http\Controllers\Controller;
+use Illuminate\Http\Request;
+
+class RefundApiController extends Controller
+{
+    //
+}
diff --git a/app/Http/Controllers/API/Transaction/TransactionApiController.php b/app/Http/Controllers/API/Transaction/TransactionApiController.php
new file mode 100644
index 0000000..909f009
--- /dev/null
+++ b/app/Http/Controllers/API/Transaction/TransactionApiController.php
@@ -0,0 +1,11 @@
+<?php
+
+namespace App\Http\Controllers\API\Transaction;
+
+use App\Http\Controllers\Controller;
+use Illuminate\Http\Request;
+
+class TransactionApiController extends Controller
+{
+    //
+}
diff --git a/app/Http/Controllers/Admin/AdminDashboardController.php b/app/Http/Controllers/Admin/Dashboard/AdminDashboardController.php
similarity index 98%
rename from app/Http/Controllers/Admin/AdminDashboardController.php
rename to app/Http/Controllers/Admin/Dashboard/AdminDashboardController.php
index f74ebd0..82fb298 100644
--- a/app/Http/Controllers/Admin/AdminDashboardController.php
+++ b/app/Http/Controllers/Admin/Dashboard/AdminDashboardController.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Http\Controllers\Admin;
+namespace App\Http\Controllers\Admin\Dashboard;
 
 use App\Http\Controllers\Controller;
 use Illuminate\Http\Request;
diff --git a/app/Http/Controllers/Admin/AdminRefundController.php b/app/Http/Controllers/Admin/Refund/AdminRefundController.php
similarity index 98%
rename from app/Http/Controllers/Admin/AdminRefundController.php
rename to app/Http/Controllers/Admin/Refund/AdminRefundController.php
index cbf3880..16e669d 100644
--- a/app/Http/Controllers/Admin/AdminRefundController.php
+++ b/app/Http/Controllers/Admin/Refund/AdminRefundController.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Http\Controllers\Admin;
+namespace App\Http\Controllers\Admin\Refund;
 
 use Throwable;
 use App\Models\Refund;
@@ -133,7 +133,7 @@ class AdminRefundController extends Controller
                 'user' => auth()->user()->email,
                 'judul' => 'fas fa-long-arrow-alt-right',
                 'background' => 'bg-primary',
-                'deskripsi' => 'Admin telah menolak refund. Transaksi akan diteruskan ke penjual',
+                'deskripsi' => 'Admin telah menolak refund. Transaksi akan diteruskan ke penjual. Alasan: '.$request->complaint,
             ]);
 
             DB::commit();
diff --git a/app/Http/Controllers/Admin/AdminSettingController.php b/app/Http/Controllers/Admin/Setting/AdminSettingController.php
similarity index 98%
rename from app/Http/Controllers/Admin/AdminSettingController.php
rename to app/Http/Controllers/Admin/Setting/AdminSettingController.php
index 113c6be..d182fdc 100644
--- a/app/Http/Controllers/Admin/AdminSettingController.php
+++ b/app/Http/Controllers/Admin/Setting/AdminSettingController.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Http\Controllers\Admin;
+namespace App\Http\Controllers\Admin\Setting;
 
 use App\Models\Setting;
 use Illuminate\Http\Request;
diff --git a/app/Http/Controllers/Admin/AdminTransactionController.php b/app/Http/Controllers/Admin/Transaction/AdminTransactionController.php
similarity index 99%
rename from app/Http/Controllers/Admin/AdminTransactionController.php
rename to app/Http/Controllers/Admin/Transaction/AdminTransactionController.php
index d147234..ddbb842 100644
--- a/app/Http/Controllers/Admin/AdminTransactionController.php
+++ b/app/Http/Controllers/Admin/Transaction/AdminTransactionController.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Http\Controllers\Admin;
+namespace App\Http\Controllers\Admin\Transaction;
 
 use App\Models\Transaction;
 use App\Http\Controllers\Controller;
@@ -127,7 +127,7 @@ class AdminTransactionController extends Controller
                     'user' => auth()->user()->email,
                     'judul' => 'fa fa-times',
                     'background' => 'bg-primary',
-                    'deskripsi' => 'Admin telah menolak pembayaran karena terindikasi penipuan.',
+                    'deskripsi' => 'Admin telah menolak pembayaran. Alasan: '.$request->compaint,
                 ]);
 
                 DB::commit();
diff --git a/app/Http/Controllers/Admin/AdminUserController.php b/app/Http/Controllers/Admin/User/AdminUserController.php
similarity index 97%
rename from app/Http/Controllers/Admin/AdminUserController.php
rename to app/Http/Controllers/Admin/User/AdminUserController.php
index 142cef9..96ea836 100644
--- a/app/Http/Controllers/Admin/AdminUserController.php
+++ b/app/Http/Controllers/Admin/User/AdminUserController.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Http\Controllers\Admin;
+namespace App\Http\Controllers\Admin\User;
 
 use App\Models\User;
 use App\Http\Controllers\Controller;
@@ -78,7 +78,8 @@ class AdminUserController extends Controller
             DB::beginTransaction();
 
             User::where('id', $request->id)->update([
-                'status' => 'Rejected'
+                'status' => 'Rejected',
+                'keterangan' => $request->keterangan
             ]);
 
             DB::commit();
diff --git a/app/Http/Controllers/Login/LoginController.php b/app/Http/Controllers/Login/LoginController.php
index 63e2297..6e58734 100644
--- a/app/Http/Controllers/Login/LoginController.php
+++ b/app/Http/Controllers/Login/LoginController.php
@@ -61,7 +61,7 @@ class LoginController extends Controller
                     return redirect()->intended('user');
                 }
             } elseif (Auth::user()->status == 'Rejected') {
-                Session::flash('message', 'Akun ditolak karena tidak memenuhi persyaratan');
+                Session::flash('message', 'Akun ditolak. Alasan: '.Auth::user()->keterangan);
                 return redirect()->back();
             } else {
                 Session::flash('message', 'Akun tidak ditemukan atau sedang dalam pengajuan');
@@ -93,7 +93,7 @@ class LoginController extends Controller
 
     public function register(Request $request)
     {
-        $credentials = $request->validate(
+        $request->validate(
             [
                 'nama_depan' => ['required'],
                 'nama_belakang' => ['required'],
@@ -281,8 +281,8 @@ class LoginController extends Controller
 
     public function accountStatus(Request $request)
     {
-        $result = User::where('email', $request->email)->get();
-        if ($result->isNotEmpty()) {
+        $result = User::where('email', $request->email)->first();
+        if ($result) {
             return response()->json([
                 'status' => true,
                 'message' => $result,
@@ -290,7 +290,7 @@ class LoginController extends Controller
         } else {
             return response()->json([
                 'status' => false,
-                'message' => $result,
+                'message' => 'Akun dengan email '.$request->email.' tidak tersedia',
             ]);
         }
     }
@@ -417,12 +417,10 @@ class LoginController extends Controller
     }
 
     public function invoice(){
-        // return view('invoice.export-invoice', [
-        //     'transaction' => Transaction::findOrFail('80d9b19b-ba17-4aea-8cad-c3b4661d33bc'),
-        // ]);
+        // return view('invoice.export-invoice');
 
-        $transaction = Transaction::findOrFail('80d9b19b-ba17-4aea-8cad-c3b4661d33bc');
-        $pdf = Pdf::loadView('invoice.export-invoice',compact('transaction'))->setPaper('A4','portrait');
+        // $transaction = Transaction::findOrFail('80d9b19b-ba17-4aea-8cad-c3b4661d33bc');
+        $pdf = Pdf::loadView('invoice.export-invoice')->setPaper('A4','portrait');
         return $pdf->download("invoice-80d9b19b-ba17-4aea-8cad-c3b4661d33b-".uniqid().".pdf");
     }
 }
diff --git a/app/Http/Controllers/User/UserContactController.php b/app/Http/Controllers/User/Contact/UserContactController.php
similarity index 99%
rename from app/Http/Controllers/User/UserContactController.php
rename to app/Http/Controllers/User/Contact/UserContactController.php
index b6749f1..6ab1866 100644
--- a/app/Http/Controllers/User/UserContactController.php
+++ b/app/Http/Controllers/User/Contact/UserContactController.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Http\Controllers\User;
+namespace App\Http\Controllers\User\Contact;
 
 use Throwable;
 use App\Models\User;
diff --git a/app/Http/Controllers/User/UserDashboardController.php b/app/Http/Controllers/User/Dashboard/UserDashboardController.php
similarity index 89%
rename from app/Http/Controllers/User/UserDashboardController.php
rename to app/Http/Controllers/User/Dashboard/UserDashboardController.php
index c36c55d..050a97e 100644
--- a/app/Http/Controllers/User/UserDashboardController.php
+++ b/app/Http/Controllers/User/Dashboard/UserDashboardController.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Http\Controllers\User;
+namespace App\Http\Controllers\User\Dashboard;
 
 use App\Http\Controllers\Controller;
 use Illuminate\Http\Request;
diff --git a/app/Http/Controllers/User/PembeliController.php b/app/Http/Controllers/User/Pembeli/PembeliController.php
similarity index 99%
rename from app/Http/Controllers/User/PembeliController.php
rename to app/Http/Controllers/User/Pembeli/PembeliController.php
index f1596e8..cefb7e8 100644
--- a/app/Http/Controllers/User/PembeliController.php
+++ b/app/Http/Controllers/User/Pembeli/PembeliController.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Http\Controllers\User;
+namespace App\Http\Controllers\User\Pembeli;
 
 use App\Http\Controllers\Controller;
 use App\Models\Contact;
diff --git a/app/Http/Controllers/User/PenjualController.php b/app/Http/Controllers/User/Penjual/PenjualController.php
similarity index 99%
rename from app/Http/Controllers/User/PenjualController.php
rename to app/Http/Controllers/User/Penjual/PenjualController.php
index 9bae354..d794337 100644
--- a/app/Http/Controllers/User/PenjualController.php
+++ b/app/Http/Controllers/User/Penjual/PenjualController.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Http\Controllers\User;
+namespace App\Http\Controllers\User\Penjual;
 
 use App\Http\Controllers\Controller;
 use App\Models\Refund;
diff --git a/app/Http/Controllers/User/UserRefundController.php b/app/Http/Controllers/User/Refund/UserRefundController.php
similarity index 99%
rename from app/Http/Controllers/User/UserRefundController.php
rename to app/Http/Controllers/User/Refund/UserRefundController.php
index 61d2e50..cab7fbe 100644
--- a/app/Http/Controllers/User/UserRefundController.php
+++ b/app/Http/Controllers/User/Refund/UserRefundController.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Http\Controllers\User;
+namespace App\Http\Controllers\User\Refund;
 
 use Throwable;
 use Carbon\Carbon;
diff --git a/app/Http/Controllers/User/UserTransactionController.php b/app/Http/Controllers/User/Transaction/UserTransactionController.php
similarity index 96%
rename from app/Http/Controllers/User/UserTransactionController.php
rename to app/Http/Controllers/User/Transaction/UserTransactionController.php
index d461a54..2ac68a2 100644
--- a/app/Http/Controllers/User/UserTransactionController.php
+++ b/app/Http/Controllers/User/Transaction/UserTransactionController.php
@@ -1,6 +1,6 @@
 <?php
 
-namespace App\Http\Controllers\User;
+namespace App\Http\Controllers\User\Transaction;
 
 use Throwable;
 use Carbon\Carbon;
diff --git a/app/Models/User.php b/app/Models/User.php
index 277f6c4..c8a8bd9 100644
--- a/app/Models/User.php
+++ b/app/Models/User.php
@@ -10,7 +10,7 @@ use Laravel\Sanctum\HasApiTokens;
 use Tymon\JWTAuth\Contracts\JWTSubject;
 use Illuminate\Database\Eloquent\Concerns\HasUuids;
 
-class User extends Authenticatable
+class User extends Authenticatable implements JWTSubject
 {
     use HasApiTokens, HasFactory, Notifiable;
 
diff --git a/database/factories/UserFactory.php b/database/factories/UserFactory.php
index bdad536..a324d5b 100644
--- a/database/factories/UserFactory.php
+++ b/database/factories/UserFactory.php
@@ -34,6 +34,7 @@ class UserFactory extends Factory
             'status'=> $this->faker->randomElement(['Progress', 'Finished', 'Rejected']),
             'gender' => $this->faker->randomElement(['Laki-laki', 'Perempuan']),
             'kode_kelurahan' => '1101012002',
+            'keterangan' => $this->faker->sentence
         ];
     }
 
diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php
index a4a879a..1591301 100644
--- a/database/seeders/DatabaseSeeder.php
+++ b/database/seeders/DatabaseSeeder.php
@@ -68,7 +68,8 @@ class DatabaseSeeder extends Seeder
             'gender' => $faker->randomElement(['Laki-laki', 'Perempuan']),
             'kode_kelurahan' => '1101012002',
             'nama_bank' => 'mandiri',
-            'no_rek' => '019809210873'
+            'no_rek' => '019809210873',
+            'keterangan' => $faker->sentence()
         ]);
 
         $user2 = User::factory()->create([
@@ -89,7 +90,8 @@ class DatabaseSeeder extends Seeder
             'gender' => $faker->randomElement(['Laki-laki', 'Perempuan']),
             'kode_kelurahan' => '1101012002',
             'nama_bank' => 'bca',
-            'no_rek' => '01980921'
+            'no_rek' => '01980921',
+            'keterangan' => $faker->sentence()
         ]);
 
         User::factory(100)->create();
diff --git a/resources/views/Admin/refund/detail-refund.blade.php b/resources/views/Admin/refund/detail-refund.blade.php
index 748f345..2cc5813 100644
--- a/resources/views/Admin/refund/detail-refund.blade.php
+++ b/resources/views/Admin/refund/detail-refund.blade.php
@@ -106,12 +106,12 @@
                 const csrfToken = $('meta[name="csrf-token"]').attr("content");
 
                 Swal.fire({
-                    title: 'Setuju Refund',
-                    text: 'Apakah anda yakin untuk menyetujui refund ini?',
+                    title: 'Terima Refund?',
+                    text: 'Apakah anda yakin untuk menerima refund ini?',
                     icon: 'question',
                     confirmButtonText: 'Ya, setuju',
                     showCancelButton: true,
-                    cancelButtonText: 'Tunggu sebentar.'
+                    cancelButtonText: 'Tunggu, lihat detail dahulu'
                 }).then((result) => {
                     if (result.isConfirmed) {
                         Swal.fire({
@@ -142,9 +142,9 @@
                                     text: response.message,
                                     icon: response.status ? 'success' : 'error'
                                 }).then(function() {
-                                    // if (response.status) {
-                                    //     location.reload();
-                                    // }
+                                    if (response.status) {
+                                        location.reload();
+                                    }
                                 });
                                 console.log(response);
                             },
@@ -159,7 +159,7 @@
                     } else {
                         Swal.fire({
                             title: 'Ditunda',
-                            text: 'Mohon diperiksa dahulu sebelum disetujui',
+                            text: 'Mohon diperiksa dahulu sebelum menerima refund',
                             icon: 'info'
                         });
                     }
@@ -171,60 +171,74 @@
                 const csrfToken = $('meta[name="csrf-token"]').attr("content");
 
                 Swal.fire({
-                    title: 'Tolak Refund',
+                    title: 'Tolak Refund?',
                     text: 'Apakah anda yakin untuk menolak refund ini?',
                     icon: 'question',
                     confirmButtonText: 'Ya, setuju',
                     showCancelButton: true,
-                    cancelButtonText: 'Tunggu sebentar.'
+                    cancelButtonText: 'Tunggu, lihat detail dahulu'
                 }).then((result) => {
                     if (result.isConfirmed) {
                         Swal.fire({
-                            html: '<div class="mt-3"><lord-icon src="https://cdn.lordicon.com/etwtznjn.json" trigger="loop" colors="primary:#0ab39c,secondary:#405189" style="width:120px;height:120px"></lord-icon><div class="mt-4 pt-2 fs-15"><h4>Form Anda sedang diproses!</h4><p class="text-muted mx-4 mb-0">Mohon tunggu...</p></div></div>',
-                            allowEscapeKey: false,
-                            allowOutsideClick: false,
-                            didOpen: () => {
-                                Swal.showLoading();
-                            }
-                        });
+                            title: 'Tolak Refund?',
+                            text: 'Berikan alasan menolak refund ini'
+                            input: 'text',
+                            inputPlaceholder: 'Cth. Bukti foto tidak sesuai',
+                            confirmButtonText: 'Kirim',
+                            showCancelButton: true
+                            cancelButtonText: 'Batal'
+                        }).then((a) => {
+                            if (a.isConfirmed) {
+                                if (a.value) {
+                                    $.ajaxSetup({
+                                        headers: {
+                                            'X-CSRF-TOKEN': csrfToken,
+                                        }
+                                    });
 
-                        $.ajaxSetup({
-                            headers: {
-                                'X-CSRF-TOKEN': csrfToken,
-                            }
-                        });
-
-                        $.ajax({
-                            url: "{{ route('admin-refund.deny') }}",
-                            type: 'PUT',
-                            data: {
-                                id: id
-                            },
-                            success: function(response) {
-                                Swal.fire({
-                                    title: response.status ? 'Berhasil' :
-                                        'Gagal',
-                                    text: response.message,
-                                    icon: response.status ? 'success' : 'error'
-                                }).then(function() {
-                                    if (response.status) {
-                                        location.reload();
-                                    }
-                                });
-                            },
-                            error: function(error) {
-                                Swal.fire({
-                                    title: 'Gagal',
-                                    text: 'Terjadi kesalahan di error',
-                                    icon: 'error',
-                                });
+                                    $.ajax({
+                                        url: "{{ route('admin-refund.deny') }}",
+                                        type: 'PUT',
+                                        data: {
+                                            id: id,
+                                            complaint: a.value
+                                        },
+                                        success: function(response) {
+                                            Swal.fire({
+                                                title: response.status ?
+                                                    'Berhasil' :
+                                                    'Gagal',
+                                                text: response.message,
+                                                icon: response.status ?
+                                                    'success' : 'error'
+                                            }).then(function() {
+                                                if (response.status) {
+                                                    location.reload();
+                                                }
+                                            });
+                                        },
+                                        error: function(error) {
+                                            Swal.fire({
+                                                title: 'Gagal',
+                                                text: 'Terjadi kesalahan di error',
+                                                icon: 'error',
+                                            });
+                                        }
+                                    });
+                                } else {
+                                    Swal.fire({
+                                        title: 'Peringatan',
+                                        text: 'Masukkan alasan untuk menolak transaksi ini',
+                                        icon: 'warning'
+                                    });
+                                }
                             }
                         });
                     } else {
                         Swal.fire({
-                            title: 'Ditunda',
-                            text: 'Mohon diperiksa dahulu sebelum ditolak',
-                            icon: 'info'
+                            title: 'Peringatan',
+                            text: 'Mohon diperiksa dahulu sebelum menolak refund',
+                            icon: 'warning'
                         });
                     }
                 });
diff --git a/resources/views/Admin/transaction/detail-transaction.blade.php b/resources/views/Admin/transaction/detail-transaction.blade.php
index 8c73140..97fc1b8 100644
--- a/resources/views/Admin/transaction/detail-transaction.blade.php
+++ b/resources/views/Admin/transaction/detail-transaction.blade.php
@@ -187,11 +187,11 @@
                 const csrfToken = $('meta[name="csrf-token"]').attr('content');
 
                 Swal.fire({
-                    title: 'Terima Transaksi',
+                    title: 'Terima Transaksi?',
                     text: 'Apakah anda yakin untuk menerima transaksi ini?',
                     icon: 'question',
                     showCancelButton: true,
-                    cancelButtonText: 'Tunggu, Lihat sebentar',
+                    cancelButtonText: 'Tunggu, lihat detail dahulu',
                     confirmButtonText: 'Ya, terima transaksi ini'
                 }).then((result) => {
                     if (result.isConfirmed) {
@@ -237,6 +237,12 @@
                                 console.log(error);
                             }
                         });
+                    } else {
+                        Swal.fire({
+                            title: 'Peringatan',
+                            text: 'Periksa dahulu sebelum menerima transaksi',
+                            icon: 'warning'
+                        });
                     }
                 });
             });
@@ -246,55 +252,84 @@
                 const csrfToken = $('meta[name="csrf-token"]').attr('content');
 
                 Swal.fire({
-                    title: 'Tolak Transaksi',
+                    title: 'Tolak Transaksi?',
                     text: 'Apakah anda yakin untuk menolak transaksi ini?',
                     icon: 'question',
                     showCancelButton: true,
-                    cancelButtonText: 'Tunggu, Lihat sebentar',
+                    cancelButtonText: 'Tunggu, lihat detail dahulu',
                     confirmButtonText: 'Ya, tolak transaksi ini'
                 }).then((result) => {
                     if (result.isConfirmed) {
                         Swal.fire({
-                            html: '<div class="mt-3"><lord-icon src="https://cdn.lordicon.com/etwtznjn.json" trigger="loop" colors="primary:#0ab39c,secondary:#405189" style="width:120px;height:120px"></lord-icon><div class="mt-4 pt-2 fs-15"><h4>Form Anda sedang diproses!</h4><p class="text-muted mx-4 mb-0">Mohon tunggu...</p></div></div>',
-                            allowEscapeKey: false,
-                            allowOutsideClick: false,
-                            didOpen: () => {
-                                Swal.showLoading();
+                            title: 'Tolak Transaksi?',
+                            text: 'Berikan alasan untuk menolak transaksi ini',
+                            input: 'text',
+                            inputPlaceholder: 'Cth. terindikasi penipuan.',
+                            confirmButtonText: 'Kirim',
+                            showCancelButton: true,
+                            cancelButtonText: 'Batal'
+                        }).then((a) => {
+                            if (a.isConfirmed) {
+                                if (a.value) {
+                                    Swal.fire({
+                                        html: '<div class="mt-3"><lord-icon src="https://cdn.lordicon.com/etwtznjn.json" trigger="loop" colors="primary:#0ab39c,secondary:#405189" style="width:120px;height:120px"></lord-icon><div class="mt-4 pt-2 fs-15"><h4>Form Anda sedang diproses!</h4><p class="text-muted mx-4 mb-0">Mohon tunggu...</p></div></div>',
+                                        allowEscapeKey: false,
+                                        allowOutsideClick: false,
+                                        didOpen: () => {
+                                            Swal.showLoading();
+                                        }
+                                    });
+
+                                    $.ajaxSetup({
+                                        headers: {
+                                            'X-CSRF-TOKEN': csrfToken
+                                        }
+                                    });
+
+                                    $.ajax({
+                                        url: "{{ route('admin-transaction.deny-transaction') }}",
+                                        data: {
+                                            id: id,
+                                            complaint: a.value
+                                        },
+                                        type: 'PUT',
+                                        success: function(response) {
+                                            Swal.fire({
+                                                title: response.status ?
+                                                    'Berhasil' :
+                                                    'Gagal',
+                                                text: response.message,
+                                                icon: response.status ?
+                                                    'success' : 'error'
+                                            }).then(function() {
+                                                if (response.status) {
+                                                    location.reload();
+                                                }
+                                            });
+                                        },
+                                        error: function(error) {
+                                            Swal.fire({
+                                                title: 'Gagal',
+                                                text: 'Terjadi kesalahan di server',
+                                                icon: 'error'
+                                            });
+                                            console.log(error);
+                                        }
+                                    });
+                                } else {
+                                    Swal.fire({
+                                        title: 'Peringatan',
+                                        text: 'Masukkan alasan untuk menolak transaksi.',
+                                        icon: 'warning'
+                                    });
+                                }
                             }
                         });
-
-                        $.ajaxSetup({
-                            headers: {
-                                'X-CSRF-TOKEN': csrfToken
-                            }
-                        });
-
-                        $.ajax({
-                            url: "{{ route('admin-transaction.deny-transaction') }}",
-                            data: {
-                                id: id
-                            },
-                            type: 'PUT',
-                            success: function(response) {
-                                Swal.fire({
-                                    title: response.status ? 'Berhasil' :
-                                        'Gagal',
-                                    text: response.message,
-                                    icon: response.status ? 'success' : 'error'
-                                }).then(function() {
-                                    if (response.status) {
-                                        location.reload();
-                                    }
-                                });
-                            },
-                            error: function(error) {
-                                Swal.fire({
-                                    title: 'Gagal',
-                                    text: 'Terjadi kesalahan di server',
-                                    icon: 'error'
-                                });
-                                console.log(error);
-                            }
+                    } else {
+                        Swal.fire({
+                            title: 'Peringatan',
+                            text: 'Periksa dahulu sebelum menolak transaksi.',
+                            icon: 'warning'
                         });
                     }
                 });
diff --git a/resources/views/Admin/users/detail-user.blade.php b/resources/views/Admin/users/detail-user.blade.php
index 5e129f1..26cbdfc 100644
--- a/resources/views/Admin/users/detail-user.blade.php
+++ b/resources/views/Admin/users/detail-user.blade.php
@@ -31,6 +31,9 @@
                                 <h4 class="align-self-center mt-3">Status :
                                     {{ $user->status == 'Finished' ? 'Selesai diverifikasi' : ($user->status == 'Progress' ? 'Sedang diverifikasi' : 'Tolak') }}
                                 </h4>
+                                @if ($user->status == 'Rejected')
+                                    <p class="align-self-center">Keterangan : {{ $user->keterangan }}</p>
+                                @endif
                                 <hr class="border border-1 opacity-75 w-100">
                                 <div class="data-field">
                                     <span class="fw-bold text-start">NIK</span>
@@ -178,12 +181,12 @@
                 let id = $(this).data('id');
                 const csrfToken = $('meta[name="csrf-token"]').attr('content');
                 Swal.fire({
-                    title: 'Status Akun',
+                    title: 'Terima Akun?',
                     text: 'Apakah anda yakin menyetujui akun ini?',
                     icon: 'info',
                     confirmButtonText: 'Ya, setuju!',
                     showCancelButton: true,
-                    cancelButtonText: 'Tidak'
+                    cancelButtonText: 'Tunggu, lihat sebentar'
                 }).then((result) => {
                     if (result.isConfirmed) {
                         Swal.fire({
@@ -229,6 +232,12 @@
                                 });
                             }
                         });
+                    } else {
+                        Swal.fire({
+                            title: 'Peringatan',
+                            text: 'Silahkan periksa dahulu sebelum menerima user',
+                            icon: 'warning'
+                        });
                     }
                 });
             });
@@ -237,54 +246,85 @@
                 let id = $(this).data('id');
                 const csrfToken = $('meta[name="csrf-token"]').attr('content');
                 Swal.fire({
-                    title: 'Status Akun',
+                    title: 'Tolak Akun?',
                     text: 'Apakah anda yakin menolak akun ini?',
                     icon: 'info',
-                    confirmButtonText: 'Ya, setuju!',
+                    confirmButtonText: 'Ya, tolak!',
                     showCancelButton: true,
-                    cancelButtonText: 'Tidak'
+                    cancelButtonText: 'Tunggu, lihat sebentar'
                 }).then((result) => {
                     if (result.isConfirmed) {
                         Swal.fire({
-                            html: '<div class="mt-3"><lord-icon src="https://cdn.lordicon.com/etwtznjn.json" trigger="loop" colors="primary:#0ab39c,secondary:#405189" style="width:120px;height:120px"></lord-icon><div class="mt-4 pt-2 fs-15"><h4>Form Anda sedang diproses!</h4><p class="text-muted mx-4 mb-0">Mohon tunggu...</p></div></div>',
-                            allowEscapeKey: false,
-                            allowOutsideClick: false,
-                            didOpen: () => {
-                                Swal.showLoading();
+                            title: 'Tolak Akun?',
+                            text: 'Berikan alasan menolak akun ini?',
+                            icon: 'question',
+                            input: 'text',
+                            inputPlaceholder: 'Cth. Data tidak sesuai.',
+                            confirmButtonText: 'Kirim',
+                            showCancelButton: true,
+                            cancelButtonText: 'Batal'
+                        }).then((a) => {
+                            if (a.isConfirmed) {
+                                if (a.value) {
+                                    Swal.fire({
+                                        html: '<div class="mt-3"><lord-icon src="https://cdn.lordicon.com/etwtznjn.json" trigger="loop" colors="primary:#0ab39c,secondary:#405189" style="width:120px;height:120px"></lord-icon><div class="mt-4 pt-2 fs-15"><h4>Form Anda sedang diproses!</h4><p class="text-muted mx-4 mb-0">Mohon tunggu...</p></div></div>',
+                                        allowEscapeKey: false,
+                                        allowOutsideClick: false,
+                                        didOpen: () => {
+                                            Swal.showLoading();
+                                        }
+                                    });
+
+                                    $.ajaxSetup({
+                                        headers: {
+                                            'X-CSRF-TOKEN': csrfToken
+                                        }
+                                    });
+
+                                    $.ajax({
+                                        url: "{{ route('admin-user.deny') }}",
+                                        data: {
+                                            id: id,
+                                            keterangan: a.value
+                                        },
+                                        type: 'PUT',
+                                        success: function(response) {
+                                            Swal.fire({
+                                                title: response.status ?
+                                                    'Berhasil!' :
+                                                    'Gagal!',
+                                                text: response.message,
+                                                icon: response.status ?
+                                                    'success' : 'error',
+                                                confirmButtonText: 'OK'
+                                            }).then(function() {
+                                                location.reload();
+                                            });
+                                        },
+                                        error: function(error) {
+                                            Swal.fire({
+                                                title: 'Gagal!',
+                                                text: 'Gagal mengubah status akun, karena ' +
+                                                    error,
+                                                icon: 'info'
+                                            });
+                                        }
+                                    });
+                                } else {
+                                    Swal.fire({
+                                        title: 'Peringatan',
+                                        text: 'Masukkan alasan menolak user ini.',
+                                        icon: 'warning'
+                                    });
+                                }
                             }
                         });
 
-                        $.ajaxSetup({
-                            headers: {
-                                'X-CSRF-TOKEN': csrfToken
-                            }
-                        });
-
-                        $.ajax({
-                            url: "{{ route('admin-user.deny') }}",
-                            data: {
-                                id: id
-                            }
-                            type: 'PUT',
-                            success: function(response) {
-                                Swal.fire({
-                                    title: response.status ? 'Berhasil!' :
-                                        'Gagal!',
-                                    text: response.message,
-                                    icon: response.status ? 'success' : 'error',
-                                    confirmButtonText: 'OK'
-                                }).then(function() {
-                                    location.reload();
-                                });
-                            },
-                            error: function(error) {
-                                Swal.fire({
-                                    title: 'Gagal!',
-                                    text: 'Gagal mengubah status akun, karena ' +
-                                        error,
-                                    icon: 'info'
-                                });
-                            }
+                    } else {
+                        Swal.fire({
+                            title: 'Peringatan',
+                            text: 'Silahkan periksa dahulu sebelum menolak user',
+                            icon: 'warning'
                         });
                     }
                 });
diff --git a/resources/views/Admin/users/index.blade.php b/resources/views/Admin/users/index.blade.php
index 9357a94..df10532 100644
--- a/resources/views/Admin/users/index.blade.php
+++ b/resources/views/Admin/users/index.blade.php
@@ -53,7 +53,7 @@
                     render: function(data, type, row) {
                         var foto = data;
                         return `<figure class="avatar mr-2 avatar-xl">
-                    <img src="${foto !== null ? '{{ asset('storage/foto-profile/') }}' + foto : '{{ asset('assets/img/avatar/avatar-6.png') }}'}"
+                    <img src="${foto !== null ? "{{ asset('storage/foto-profile/') }}/" + foto : '{{ asset('assets/img/avatar/avatar-6.png') }}'}"
                         alt="...">
                 </figure>`;
                     },
@@ -108,64 +108,6 @@
                     className: 'text-center'
                 }],
             });
-
-            // Hapus data
-            $('#table-user').on('click', '#deleteUser', function() {
-                const csrfToken = $('meta[name="csrf-token"]').attr('content');
-                let dataId = $(this).data("id");
-
-                Swal.fire({
-                    title: 'Hapus data',
-                    text: 'Apakah yakin ingin menghapus data user ini?',
-                    icon: 'question',
-                    confirmButtonText: 'Ya, hapus!',
-                    showDenyButton: true,
-                    denyButtonText: 'Tidak, jangan hapus!',
-                }).then((result) => {
-                    if (result.isConfirmed) {
-                        $.ajaxSetup({
-                            headers: {
-                                'X-CSRF-TOKEN': csrfToken
-                            }
-                        });
-
-                        $.ajax({
-                            url: "{{ route('admin-user.destroy') }}"
-                            data: {
-                                id: dataId
-                            },
-                            type: 'DELETE',
-                            processData: false,
-                            contentType: false,
-                            success: function(response) {
-                                Swal.fire({
-                                    title: response.status ? 'Berhasil!' :
-                                        'Gagal!',
-                                    text: response.message,
-                                    icon: response.status ? 'success' : 'error',
-                                    confirmButtonText: 'OK'
-                                }).then(function() {
-                                    location.reload();
-                                });
-                            },
-                            error: function(error) {
-                                Swal.fire({
-                                    title: 'Gagal!',
-                                    text: 'Tidak ada data yang dihapus, karena ' +
-                                        error,
-                                    icon: 'info'
-                                });
-                            }
-                        });
-                    } else if (result.isDenied) {
-                        Swal.fire({
-                            title: 'Gagal!',
-                            text: 'Tidak ada data yang dihapus',
-                            icon: 'info'
-                        });
-                    }
-                });
-            });
         });
     </script>
 @endsection
diff --git a/resources/views/User/index.blade.php b/resources/views/User/index.blade.php
index a91abb9..b7d7a61 100644
--- a/resources/views/User/index.blade.php
+++ b/resources/views/User/index.blade.php
@@ -114,56 +114,10 @@
                             <h4>INCOME</h4>
                         </div>
                         <div class="card-body">
-                            <canvas id="myChart" height="158"></canvas>
+                            <canvas id="myChart" height="158">1412</canvas>
                         </div>
                     </div>
                 </div>
-
-
-                {{-- <div class="col-md-12">
-                    <div class="card">
-                        <div class="card-header">
-                            <h2>Transaction</h2>
-                        </div>
-                        <div class="card-body p-0">
-                            <div class="table-responsive table-invoice">
-                                <table class="table table-striped">
-                                    <tr>
-                                        <th>Order ID</th>
-                                        <th>Customer</th>
-                                        <th>Seller</th>
-                                        <th>Total</th>
-                                        <th>Due Date</th>
-                                        <th>Status</th>
-                                        <th>Image</th>
-                                    </tr>
-                                    @foreach ($refundUserss as $HistoryRefundUser)
-                                        <tr>
-                                            <td class="font-weight-600">
-                                                {{ $HistoryRefundUser['orderId'] }}</td>
-                                            <td class="font-weight-600">
-                                                {{ $HistoryRefundUser['Customer'] }}</td>
-                                            <td class="font-weight-600">
-                                                {{ $HistoryRefundUser['seller'] }}</td>
-                                            <td class="font-weight-600">
-                                                {{ $HistoryRefundUser['Total'] }}</td>
-                                            <td>{{ $HistoryRefundUser['dueDate'] }}</td>
-                                            <td>
-                                                <div class="badge badge-success" data-status="diterima"
-                                                    onclick="setStatus('diterima')">Diterima</div>
-                                            </td>
-                                            <td class="font-weight-600">
-                                                {{ $HistoryRefundUser['uploadBukti'] }}</td>
-                                            <td>
-
-                                        </tr>
-                                    @endforeach
-                                </table>
-                            </div>
-                        </div>
-                    </div>
-                </div> --}}
-
             </div>
         </section>
     </div>
diff --git a/resources/views/User/transaction/Pembeli/index.blade.php b/resources/views/User/transaction/Pembeli/index.blade.php
index abe4f1a..d760a94 100644
--- a/resources/views/User/transaction/Pembeli/index.blade.php
+++ b/resources/views/User/transaction/Pembeli/index.blade.php
@@ -421,7 +421,7 @@
                     text: 'Apakah anda yakin untuk membatalkan transaksi?',
                     icon: 'question',
                     showCancelButton: true,
-                    cancelButtonText: 'Tidak.',
+                    cancelButtonText: 'Tunggu, lihat detail dahulu.',
                     confirmButtonText: 'Ya, batalkan transaksi.'
                 }).then((result) => {
                     if (result.isConfirmed) {
@@ -484,13 +484,16 @@
                                     });
                                 } else {
                                     Swal.fire({
-                                        title: 'Gagal',
+                                        title: 'Peringatan',
                                         text: 'Masukan alasan untuk membatalkan transaksi',
-                                        icon: 'error'
+                                        icon: 'warning'
                                     });
                                 }
                             }
                         });
+                    } else {
+                        location.href = "{{ route('user-transaction.show', ':id') }}".replace(
+                            ':id', id);
                     }
                 });
             });
diff --git a/resources/views/User/transaction/penjual/index.blade.php b/resources/views/User/transaction/penjual/index.blade.php
index a90f022..9f2bfe0 100644
--- a/resources/views/User/transaction/penjual/index.blade.php
+++ b/resources/views/User/transaction/penjual/index.blade.php
@@ -236,44 +236,59 @@
                 const csrfToken = $('meta[name="csrf-token"]').attr('content');
 
                 Swal.fire({
-                    html: '<div class="mt-3"><lord-icon src="https://cdn.lordicon.com/etwtznjn.json" trigger="loop" colors="primary:#0ab39c,secondary:#405189" style="width:120px;height:120px"></lord-icon><div class="mt-4 pt-2 fs-15"><h4>Form Anda sedang diproses!</h4><p class="text-muted mx-4 mb-0">Mohon tunggu...</p></div></div>',
-                    allowEscapeKey: false,
-                    allowOutsideClick: false,
-                    didOpen: () => {
-                        Swal.showLoading();
-                    }
-                });
-
-                $.ajaxSetup({
-                    headers: {
-                        'X-CSRF-TOKEN': csrfToken
-                    }
-                });
-
-                $.ajax({
-                    url: "{{ route('user-penjual.accept') }}",
-                    type: 'PUT',
-                    data: {
-                        id: id,
-                    },
-                    success: function(response) {
+                    title: 'Terima Transaksi?',
+                    text: 'Apakah anda yakin untuk menerima transaksi ini?',
+                    icon: 'question',
+                    showCancelButton: true,
+                    cancelButtonText: "Tunggu, lihat detail dahulu",
+                    confirmButtonText: 'Ya, proses transaksi'
+                }).then((result) => {
+                    if (result.isConfirmed) {
                         Swal.fire({
-                            title: response.status ? 'Berhasil' : 'Gagal',
-                            text: response.message,
-                            icon: response.status ? 'success' : 'error',
-                        }).then(function() {
-                            Swal.close();
-                            if (response.status) {
-                                listPenjual.ajax.reload();
+                            html: '<div class="mt-3"><lord-icon src="https://cdn.lordicon.com/etwtznjn.json" trigger="loop" colors="primary:#0ab39c,secondary:#405189" style="width:120px;height:120px"></lord-icon><div class="mt-4 pt-2 fs-15"><h4>Form Anda sedang diproses!</h4><p class="text-muted mx-4 mb-0">Mohon tunggu...</p></div></div>',
+                            allowEscapeKey: false,
+                            allowOutsideClick: false,
+                            didOpen: () => {
+                                Swal.showLoading();
                             }
                         });
-                    },
-                    error: function(error) {
-                        Swal.fire({
-                            title: 'Gagal',
-                            text: 'Pemrosesan transaksi gagal',
-                            icon: 'error'
+
+                        $.ajaxSetup({
+                            headers: {
+                                'X-CSRF-TOKEN': csrfToken
+                            }
                         });
+
+                        $.ajax({
+                            url: "{{ route('user-penjual.accept') }}",
+                            type: 'PUT',
+                            data: {
+                                id: id,
+                            },
+                            success: function(response) {
+                                Swal.fire({
+                                    title: response.status ? 'Berhasil' :
+                                        'Gagal',
+                                    text: response.message,
+                                    icon: response.status ? 'success' : 'error',
+                                }).then(function() {
+                                    Swal.close();
+                                    if (response.status) {
+                                        listPenjual.ajax.reload();
+                                    }
+                                });
+                            },
+                            error: function(error) {
+                                Swal.fire({
+                                    title: 'Gagal',
+                                    text: 'Pemrosesan transaksi gagal',
+                                    icon: 'error'
+                                });
+                            }
+                        });
+                    } else {
+                        location.href = "{{ route('user-transaction.show', ':id') }}".replace(':id',
+                            id);
                     }
                 });
             });
@@ -349,15 +364,13 @@
                                     });
                                 } else {
                                     Swal.fire({
-                                        title: 'Gagal',
+                                        title: 'Peringatan',
                                         text: 'Masukan alasan untuk menolak transaksi',
-                                        icon: 'error'
+                                        icon: 'warning'
                                     });
                                 }
                             }
                         });
-
-
                     } else {
                         location.href = "{{ route('user-transaction.show', ':id') }}".replace(':id',
                             id);
diff --git a/resources/views/index.blade.php b/resources/views/index.blade.php
index 549b1d8..a8586e0 100644
--- a/resources/views/index.blade.php
+++ b/resources/views/index.blade.php
@@ -457,7 +457,7 @@
                             },
                             type: 'GET',
                             success: function(response) {
-                                let status = response.message[0].status
+                                let status = response.message.status
                                 if (response.status) {
                                     Swal.fire({
                                         title: 'Akun ditemukan',
@@ -465,7 +465,8 @@
                                             'Finished' ? ' siap digunakan' : (
                                                 status == 'Progress' ?
                                                 ' masih proses verifikasi' :
-                                                ' ditolak')),
+                                                ' ditolak. Alasan: ' + response
+                                                .message.keterangan)),
                                         icon: (status == 'Finished' ? 'success' : (
                                             status == 'Progress' ? 'info' :
                                             'error')),
@@ -475,8 +476,7 @@
                                 } else {
                                     Swal.fire({
                                         title: 'Gagal',
-                                        text: 'Akun dengen email ' + email +
-                                            ' tidak tersedia',
+                                        text: response.message,
                                         icon: 'error',
                                         confirmButtonText: 'OK'
                                     });
diff --git a/routes/api.php b/routes/api.php
index ab5de87..243086e 100644
--- a/routes/api.php
+++ b/routes/api.php
@@ -1,15 +1,8 @@
 <?php
 
-use App\Http\Controllers\Admin\AdminRefundController;
-use App\Http\Controllers\Admin\AdminSettingController;
-use App\Http\Controllers\Admin\AdminUserController;
 use Illuminate\Support\Facades\Route;
-use App\Http\Controllers\API\LoginApiController;
-use App\Http\Controllers\Profile\ProfileController;
-use App\Http\Controllers\User\UserContactController;
-use App\Http\Controllers\User\UserDashboardController;
-use App\Http\Controllers\User\UserRefundController;
-use App\Http\Controllers\User\UserTransactionController;
+use App\Http\Controllers\API\Login\LoginApiController;
+use Illuminate\Support\Facades\Auth;
 
 /*
 |--------------------------------------------------------------------------
@@ -33,34 +26,17 @@ Route::group(
     ],
     function () {
         Route::post('login', [LoginApiController::class,'login']);
-        Route::post('logout', [LoginApiController::class,'logout']);
-        Route::post('refresh', [LoginApiController::class,'refresh']);
-        Route::post('me', [LoginApiController::class,'me']);
+        Route::get('logout', [LoginApiController::class,'logout']);
+        Route::get('refresh', [LoginApiController::class,'refresh']);
+        Route::get('me', [LoginApiController::class,'me']);
         Route::post('register',[LoginApiController::class,'register']);
-        Route::post('hai',[LoginApiController::class,'hai']);
-        Route::post('status',[LoginApiController::class,'check']);
+        Route::post('hai',[LoginApiController::class,'test']);
+        Route::get('status',[LoginApiController::class,'check']);
     },
 );
 
 
 Route::middleware(['auth'])->group(function(){
-    Route::middleware(['admin'])->group(function(){
-        Route::prefix('admin')->group(function(){
-            // aprove atau deny dan hapus user
-            Route::controller(AdminUserController::class)->group(function(){
-
-            });
-
-            // approve atau deny dan hapus refund
-            Route::controller(AdminRefundController::class)->group(function(){
-
-            });
-
-            Route::controller(AdminSettingController::class)->group(function(){
-
-            });
-        });
-    });
 
     Route::prefix('profile')->group(function(){
         Route::controller(ProfileController::class)->group(function(){
diff --git a/routes/web.php b/routes/web.php
index 73bfd60..32880ca 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -3,27 +3,30 @@
 use App\Models\Refunds;
 use App\Models\Transactions;
 use Illuminate\Support\Facades\Route;
+
 //Admin
-use App\Http\Controllers\Login\LoginController;
-use App\Http\Controllers\Admin\AdminUserController;
-use App\Http\Controllers\User\UserRefundController;
+use App\Http\Controllers\Admin\User\AdminUserController;
+use App\Http\Controllers\Admin\Setting\AdminSettingController;
+use App\Http\Controllers\Admin\Dashboard\AdminDashboardController;
+use App\Http\Controllers\Admin\Transaction\AdminTransactionController;
+use App\Http\Controllers\Admin\Refund\AdminRefundController;
+
 //Login
-use App\Http\Controllers\User\UserContactController;
-use App\Http\Controllers\Admin\AdminRefundController;
+use App\Http\Controllers\Login\LoginController;
+
 //User
-use App\Http\Controllers\Admin\AdminSettingController;
-use App\Http\Controllers\User\UserDashboardController;
-use App\Http\Controllers\Admin\AdminDashboardController;
-use App\Http\Controllers\User\UserTransactionController;
-use App\Http\Controllers\Admin\AdminTransactionController;
+use App\Http\Controllers\User\Contact\UserContactController;
+use App\Http\Controllers\User\Refund\UserRefundController;
+use App\Http\Controllers\User\Dashboard\UserDashboardController;
+use App\Http\Controllers\User\Transaction\UserTransactionController;
+use App\Http\Controllers\User\Pembeli\PembeliController;
+use App\Http\Controllers\User\Penjual\PenjualController;
 
 //Profile
 use App\Http\Controllers\Profile\ProfileController;
 
 //Invoice
 use App\Http\Controllers\Invoice\InvoiceController;
-use App\Http\Controllers\User\PembeliController;
-use App\Http\Controllers\User\PenjualController;
 
 // use Illuminate\Foundation\Auth\User;
 
@@ -80,7 +83,7 @@ Route::controller(LoginController::class)->group(function(){
     Route::post('kode-verifikasi','sendVerificationCode')->name('kirim-kode');
     Route::get('ocr','getOcr');
     Route::get('email','email');
-    Route::get('test-invoice','invoice');
+    Route::get('test','invoice');
 });
 
 // admin dan user