diff --git a/app/Http/Controllers/TransactionController.php b/app/Http/Controllers/TransactionController.php index 8dc07ef..d0d5f74 100644 --- a/app/Http/Controllers/TransactionController.php +++ b/app/Http/Controllers/TransactionController.php @@ -9,6 +9,7 @@ use Illuminate\Support\Facades\DB; use App\Http\Requests\TransactionRequest; use App\Http\Resources\TransactionResource; +use App\Http\Resources\UserTransactionResource; use function PHPUnit\Framework\isNull; @@ -114,4 +115,14 @@ public function success(Request $request) { return view('transaksi.success', compact('transaction', 'date', 'time')); } + + public function index() { + $transactions = Transaction::with('subscription')->where('user_id', auth()->id())->latest()->get(); + + return response()->json([ + 'success' => true, + 'status' => 'success', + 'data' => UserTransactionResource::collection($transactions) + ]); + } } diff --git a/app/Http/Resources/UserTransactionResource.php b/app/Http/Resources/UserTransactionResource.php new file mode 100644 index 0000000..e73761d --- /dev/null +++ b/app/Http/Resources/UserTransactionResource.php @@ -0,0 +1,29 @@ + + */ + public function toArray(Request $request): array + { + return [ + 'id' => $this->id, + 'nama_paket' => $this->subscription->name, + 'metode_pembayaran' => $this->payment_method, + 'no_transaksi' => $this->order_id, + 'jumlah_bayar' => $this->gross_amount, + 'status' => $this->status, + 'tanggal' => Carbon::parse($this->transaction_time ?? $this->created_at)->getDays(), + 'jam' => Carbon::parse($this->transaction_time ?? $this->created_at)->gettimeofday(), + ]; + } +} diff --git a/routes/api.php b/routes/api.php index 7fea0cc..d5f137f 100644 --- a/routes/api.php +++ b/routes/api.php @@ -75,5 +75,6 @@ Route::post('/midtrans/notif-hook', [MidtransNotificationController::class, 'notif']); Route::get('/transaksi/bayar/{transaction}', [TransactionController::class, 'pay']); - ROute::get('/transaksi/sukses', [TransactionController::class, 'success']); + Route::get('/transaksi/sukses', [TransactionController::class, 'success']); + Route::get('/transaksi', [TransactionController::class, 'index']); });