Baik, siap! Kita akan melanjutkan ke tahap pengembangan berikutnya: Proses Checkout dan Manajemen Pesanan Vendor (Dasar).
Pada tahap ini, kita akan memungkinkan pengguna untuk menyelesaikan pembelian mereka dengan memilih alamat, metode pengiriman, menerapkan voucher, dan melakukan pembayaran. Kita juga akan membuat tampilan dasar bagi vendor untuk melihat pesanan yang masuk.
Tahap 11: Proses Checkout & Manajemen Pesanan (Pembeli)
11.1. Checkout Controller
Kita akan membuat controller untuk mengelola alur checkout.
CheckoutController
14 Jul, 18.11
Buka https://g.co/gemini/share/9af2b1a893a0
Bash
php artisan make:controller CheckoutController
11.2. Rute Checkout
Tambahkan rute ini di routes/web.php di dalam grup middleware auth:
Rute Checkout (routes/web.php)
14 Jul, 18.11
Buka https://g.co/gemini/share/9e8636572d57
11.3. Tampilan Checkout
Buat direktori resources/views/checkout/ dan di dalamnya buat file index.blade.php.
Checkout Index View (checkout/index.blade.php)
14 Jul, 18.11
Buka https://g.co/gemini/share/c43c2f6a5e5b
11.4. Tampilan Sukses Checkout
Buat file resources/views/checkout/success.blade.php.
Checkout Success View (checkout/success.blade.php)
14 Jul, 18.11
Buka https://g.co/gemini/share/e408f77b2012
11.5. Penambahan Enums untuk Status Pesanan dan Pembayaran
Pastikan file-file Enum ini sudah ada di app/Enums/.
OrderStatusEnum dan PaymentStatusEnum
14 Jul, 18.11
Buka https://g.co/gemini/share/171bb919af36
Tahap 12: Manajemen Pesanan Vendor (Dasar)
Kita akan membuat tampilan dasar bagi vendor untuk melihat pesanan yang masuk ke toko mereka.
12.1. Vendor Order Controller
VendorOrderController
14 Jul, 18.11
Buka https://g.co/gemini/share/500b8492d0ac
Bash
php artisan make:controller Vendor/OrderController
12.2. Rute Pesanan Vendor
Tambahkan rute ini di routes/web.php di dalam grup vendor middleware:
Rute Pesanan Vendor (routes/web.php)
14 Jul, 18.11
Buka https://g.co/gemini/share/8fbc7e24fdb3
12.3. Tampilan Daftar Pesanan Vendor
Buat direktori resources/views/vendor/orders/ dan di dalamnya buat file index.blade.php.
Vendor Orders Index View (vendor/orders/index.blade.php)
14 Jul, 18.11
Buka https://g.co/gemini/share/bafa63ff3b95
12.4. Tampilan Detail Pesanan Vendor
Buat file resources/views/vendor/orders/show.blade.php.
Vendor Orders Show View (vendor/orders/show.blade.php)
14 Jul, 18.11
Buka https://g.co/gemini/share/5b95e8ceaf8b
Ringkasan Tahap Pengembangan Saat Ini:
Anda telah berhasil mengimplementasikan:
- Proses Checkout Lengkap:
- Tampilan checkout yang menampilkan ringkasan keranjang.
- Pemilihan alamat pengiriman dari daftar user.
- Pemilihan kurir yang tersedia.
- Input voucher diskon dengan perhitungan dinamis via AJAX.
- Pilihan metode pembayaran (saldo digital, transfer bank, kartu kredit).
- Logika penempatan pesanan, pengurangan stok, pencatatan pembayaran, dan penggunaan voucher.
- Halaman sukses pesanan dengan detail.
- Manajemen Pesanan Vendor (Dasar):
- Controller untuk menampilkan pesanan yang relevan dengan vendor yang login.
- Tampilan daftar pesanan vendor.
- Tampilan detail pesanan vendor, termasuk item yang relevan dengan toko mereka.
- Fungsionalitas dasar untuk vendor memperbarui status pesanan (misal: dari pending ke processing, ready_to_ship, shipped).
- Penambahan Enums OrderStatusEnum dan PaymentStatusEnum.
Langkah Selanjutnya yang Perlu Anda Lakukan:
- Pastikan semua file Enum yang direferensikan oleh model Anda di app/Enums/ telah dibuat.
- Uji coba:
- Pastikan ada produk yang diterbitkan (status = ‘published’) dan ada kurir yang aktif di database.
- Login sebagai user (bisa juga vendor atau kurir).
- Tambahkan produk ke keranjang.
- Lanjutkan ke /checkout.
- Pilih alamat dan kurir, coba masukkan kode voucher (Anda perlu menambahkan voucher dummy di database secara manual untuk testing).
- Coba lakukan pembayaran dengan saldo digital (pastikan saldo Anda cukup, bisa di-top-up via /wallet/topup).
- Setelah pesanan berhasil, periksa apakah stok berkurang dan transaksi tercatat.
- Login sebagai vendor, akses /vendor/orders untuk melihat pesanan yang masuk ke toko Anda. Coba perbarui status pesanan.
Setelah Anda berhasil mengimplementasikan dan menguji coba bagian ini, kita bisa melanjutkan ke tahap berikutnya, seperti Manajemen Kurir (lanjutan), Manajemen Staff/Moderator Vendor, Sistem Ulasan, atau Laporan.
Apakah ada pertanyaan atau bagian yang ingin Anda perjelas sebelum melanjutkan?
