diff --git a/app/Http/Controllers/Admin/AdminRefundController.php b/app/Http/Controllers/Admin/AdminRefundController.php index 13e9657..077faf2 100644 --- a/app/Http/Controllers/Admin/AdminRefundController.php +++ b/app/Http/Controllers/Admin/AdminRefundController.php @@ -6,17 +6,23 @@ use App\Models\Refund; use App\Models\Refunds; use App\Http\Controllers\Controller; use App\Models\RefundDescription; +use App\Models\Transaction; +use App\Models\TransactionDescription; use Illuminate\Http\Request; +use Illuminate\Support\Facades\DB; +use Illuminate\Support\Facades\Log; +use Throwable; class AdminRefundController extends Controller { /** * Display a listing of the resource. */ + public function index() { - return view('admin.refund.index',[ - "refunds" => Refund::latest()->get() + return view('admin.refund.index', [ + 'refunds' => Refund::latest()->get(), ]); } @@ -26,22 +32,95 @@ class AdminRefundController extends Controller public function show($id) { $refund = Refund::find($id); - $refundDescription = RefundDescription::where('refund_id',$id)->get(); - return view('admin.refund.detail-refund',[ - "refund"=> $refund, - 'descriptions' => $refundDescription + $refundDescription = RefundDescription::where('refund_id', $id)->get(); + return view('admin.refund.detail-refund', [ + 'refund' => $refund, + 'descriptions' => $refundDescription, ]); } - public function aprroveRefund($id){ - $query = Refund::where('id',$id)->update([ + public function aprroveRefund($id) + { + $transaction = Transaction::where('id', $id)->first(); - ]); + $refund = Refund::where('transaction_id', $id)->first(); + + $params = [ + 'refund_key' => $id . '-ref1', + 'amount' => $transaction->total_harga, + 'reason' => $refund->complaint, + ]; + + // $refundMidtrans = Trans::refund($id, $params); + + try { + Transaction::where('id', $id)->update([ + 'status_transaksi' => 'refund', + 'status_pembayaran' => 'refund' + ]); + + Refund::where('transaction_id', $id)->update([ + 'status' => 'refund', + ]); + + TransactionDescription::create([ + 'transcation_id' => $id, + 'status' => 'refund', + 'user' => auth()->user()->email, + 'judul' => 'fas fa-long-arrow-alt-left', + 'background' => 'bg-primary', + 'deskripsi' => 'Admin telah menyetujui refund.', + ]); + + DB::commit(); + + return response()->json([ + 'status' => false, + 'message' => 'Refund berhasil dilakukan', + // 'refundMidtrans' => $refundMidtrans, + ]); + } catch (Throwable $e) { + DB::rollBack(); + + Log::error($e->getMessage()); + + return response()->json([ + 'status' => false, + 'message' => 'Refund gagal dilakukan', + // 'refundMidtrans' => $refundMidtrans + ]); + } } - public function denyRefund($id){ - $query = Refund::where('id',$id)->update([ + public function denyRefund($id) + { + try { + Transaction::where('id', $id)->update([ + 'status_transaksi' => 'finished', + 'status_pembayaran' => 'settlement' + ]); - ]); + Refund::where('transaction_id', $id)->update([ + 'status' => 'deny', + ]); + + TransactionDescription::create([ + 'transcation_id' => $id, + 'status' => 'deny', + 'user' => auth()->user()->email, + 'judul' => 'fas fa-long-arrow-alt-left', + 'background' => 'bg-primary', + 'deskripsi' => 'Admin telah menyetujui refund.', + ]); + } catch (Throwable $e) { + DB::rollBack(); + + Log::error($e->getMessage()); + + return response()->json([ + 'status' => false, + 'message' => 'Refund gagal dilakukan', + ]); + } } } diff --git a/app/Http/Controllers/Admin/AdminTransactionController.php b/app/Http/Controllers/Admin/AdminTransactionController.php index ec6439a..ade9579 100644 --- a/app/Http/Controllers/Admin/AdminTransactionController.php +++ b/app/Http/Controllers/Admin/AdminTransactionController.php @@ -6,6 +6,7 @@ use App\Models\Transaction; use App\Http\Controllers\Controller; use App\Models\TransactionDescription; use Illuminate\Http\Request; +use Throwable; class AdminTransactionController extends Controller { @@ -32,4 +33,20 @@ class AdminTransactionController extends Controller ->get(), ]); } + + public function aprroveTransaction($id){ + try{ + + }catch(Throwable $e){ + + } + } + + public function denyTransaction($id){ + try{ + + }catch(Throwable $e){ + + } + } } diff --git a/app/Http/Controllers/User/UserRefundController.php b/app/Http/Controllers/User/UserRefundController.php index dc7b920..4ba2596 100644 --- a/app/Http/Controllers/User/UserRefundController.php +++ b/app/Http/Controllers/User/UserRefundController.php @@ -8,6 +8,7 @@ use App\Models\RefundUser; use App\Models\Refund; use App\Models\RefundDescription; use App\Models\Transaction; +use App\Models\TransactionDescription; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Log; use Throwable; @@ -32,11 +33,13 @@ class UserRefundController extends Controller try{ DB::beginTransaction(); - $transaction = Transaction::where('id',$id)->first(); + $transaction = Transaction::where('id',$id)->update([ + 'status_transaksi' => 'refund', + ]); $refund = Refund::create([ 'transaction_id' => $id, - 'total' => $transaction->harga, + 'total' => $transaction->total_harga, 'due_date' => $transaction, 'complain' => $request->complain ]); @@ -64,6 +67,15 @@ class UserRefundController extends Controller } } + TransactionDescription::create([ + 'transcation_id' => $id, + 'status' => 'pending', + 'user' => auth()->user()->email, + 'judul' => 'fas fa-clock', + 'background' => 'bg-buyer', + 'deskripsi' => auth()->user()->nama_depan.' mengajukan refund.', + ]); + DB::commit(); }catch(Throwable $e){ DB::rollback(); @@ -77,11 +89,7 @@ class UserRefundController extends Controller public function show($id){ $refund = Refund::find($id); $refundDescription = RefundDescription::where($id)->get(); - return view('admin.refund.detail-refund',[ - "refund"=> $refund, - 'descriptions' => $refundDescription - ]); - return view('user.refund.history-refund',[ + return view('user.refund.detail-refund',[ 'refund' => $refund, 'descriptions' => $refundDescription ]); diff --git a/app/Http/Controllers/User/UserTransactionController.php b/app/Http/Controllers/User/UserTransactionController.php index 930e2e4..25671f2 100644 --- a/app/Http/Controllers/User/UserTransactionController.php +++ b/app/Http/Controllers/User/UserTransactionController.php @@ -13,11 +13,10 @@ use App\Models\User; use Carbon\Carbon; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\DB; +use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Log; +use Illuminate\Support\Facades\Storage; use Ramsey\Uuid\Uuid; -use Midtrans\Config; -use Midtrans\Snap; -use Midtrans\Transaction as Trans; use Stichoza\GoogleTranslate\GoogleTranslate; use Throwable; @@ -27,16 +26,6 @@ class UserTransactionController extends Controller * Display a listing of the resource. */ - public function __construct() - { - Config::$serverKey = 'SB-Mid-server-8rydZAwKoWuoQ6g_3ot0-K7p'; - Config::$isProduction = false; - // Set sanitization on (default) - Config::$isSanitized = true; - // Set 3DS transaction for credit card to true - Config::$is3ds = true; - } - public function indexPembeli() { return view('user.transaction.pembeli.index', [ @@ -103,79 +92,42 @@ class UserTransactionController extends Controller public function store(Request $request) { $pembeli = Auth::user()->email; - $penjual = $request->get('email_penjual'); - $nama_barang = $request->get('nama_barang'); - $satuan_barang = $request->get('satuan_barang'); - $deskripsi_transaksi = $request->get('deskripsi'); - $harga_barang = $request->get('harga_barang'); - $jumlah_barang = $request->get('jumlah_barang'); + $penjual = $request->email_penjual; + $nama_barang = $request->nama_barang; + $satuan_barang = $request->satuan_barang; + $deskripsi_transaksi = $request->deskripsi; + $harga_barang = $request->harga_barang; + $jumlah_barang = $request->jumlah_barang; $nama_depan_pembeli = Auth::user()->nama_depan; $nama_belakang_pembeli = Auth::user()->nama_belakang; $nohp_pembeli = Auth::user()->nohp; $nama_penjual = User::where('email', $penjual)->value('nama_depan'); + $bank_penjual = User::where('email', $penjual)->value('nama_bank'); + $no_rek_penjual = User::where('email', $penjual)->value('no_rek'); + + if ($bank_penjual == '' && $no_rek_penjual == '') { + return response()->json([ + 'status' => false, + 'message' => 'Penjual belum memiliki/memasukan nomor rek bank', + ]); + } + $alamat = ucwords(strtolower(Auth::user()->alamat)); - $id = Uuid::uuid4(); $now = Carbon::now(); - $persentase_keuntungan = $request->get('persentase_keuntungan'); + $persentase_keuntungan = $request->persentase_keuntungan; - $total_harga = $request->get('total_harga'); - $total_keuntungan = $request->get('total_keuntungan'); - $total_bayar = $request->get('total_bayar'); + $total_harga = $request->total_harga; + $total_keuntungan = $request->total_keuntungan; + $total_bayar = $request->total_bayar; - $batas_pembayaran = $now->addDays(1)->toDateTimeString(); - $batas_pengiriman_barang_awal = $now->addDays(2)->toDateTimeString(); + $batas_pembayaran = $now->addDays(1)->toTimeString(); + $batas_konfirmasi_transaksi = $now->addDays(2)->toDateTimeString(); + $batas_pengiriman_barang_awal = $now->addDays(3)->toDateTimeString(); $batas_pengiriman_barang_akhir = $now->addDays(4)->toDateTimeString(); - $params = [ - 'transaction_details' => [ - 'order_id' => $id, - 'gross_amount' => $total_bayar, - ], - 'item_details' => [ - [ - 'id' => $nama_barang . time(), - 'price' => $harga_barang, - 'quantity' => $jumlah_barang, - 'name' => $nama_barang, - ], - [ - 'id' => 'BA01', - 'price' => $total_keuntungan, - 'quantity' => 1, - 'name' => 'Biaya Admin', - ], - ], - 'customer_details' => [ - 'firts_name' => $nama_depan_pembeli, - 'last_name' => $nama_belakang_pembeli, - 'email' => $pembeli, - 'phone' => $nohp_pembeli, - 'billing' => [ - 'first_name' => $nama_depan_pembeli, - 'last_name' => $nama_belakang_pembeli, - 'email' => $pembeli, - 'phone' => $nohp_pembeli, - 'address' => $alamat, - 'city' => Auth::user()->village->district->city->name, - 'country_code' => 'IDN', - ], - ], - 'callbacks' => [ - 'finish' => route('user-transaction.index.pembeli'), - ], - 'enabled_payments' => ['credit_card', 'gopay', 'shopeepay'], - 'expiry' => [ - 'start_time' => $now->format('Y-m-d H:i:s P'), - 'unit' => 'days', - 'duration' => 1, - ], - ]; - - $snap_token = Snap::getSnapToken($params); - $token = $snap_token; $status = 'created'; try { @@ -193,13 +145,66 @@ class UserTransactionController extends Controller 'total_keuntungan' => $total_keuntungan, 'total_harga' => $total_harga, 'total_bayar' => $total_bayar, - 'token' => $token, - 'status' => $status, + 'nama_bank_penjual' => $bank_penjual, + 'no_rek_penjual' => $no_rek_penjual, + 'status_transaksi' => $status, 'batas_pembayaran' => $batas_pembayaran, + 'batas_konfirmasi_transaksi' => $batas_konfirmasi_transaksi, 'batas_pengiriman_barang_awal' => $batas_pengiriman_barang_awal, 'batas_pengiriman_barang_akhir' => $batas_pengiriman_barang_akhir, ]); + $params = [ + 'transaction_details' => [ + 'order_id' => $query->id, + 'gross_amount' => $total_bayar, + ], + 'item_details' => [ + [ + 'id' => $nama_barang . time(), + 'price' => $harga_barang, + 'quantity' => $jumlah_barang, + 'name' => $nama_barang, + ], + [ + 'id' => 'BA01', + 'price' => $total_keuntungan, + 'quantity' => 1, + 'name' => 'Biaya Admin', + ], + ], + 'customer_details' => [ + 'firts_name' => $nama_depan_pembeli, + 'last_name' => $nama_belakang_pembeli, + 'email' => $pembeli, + 'phone' => $nohp_pembeli, + 'billing' => [ + 'first_name' => $nama_depan_pembeli, + 'last_name' => $nama_belakang_pembeli, + 'email' => $pembeli, + 'phone' => $nohp_pembeli, + 'address' => $alamat, + 'city' => Auth::user()->village->district->city->name, + 'country_code' => 'IDN', + ], + ], + 'callbacks' => [ + 'finish' => route('user-pembeli.index'), + ], + 'enabled_payments' => ['credit_card', 'gopay', 'qris'], + ]; + + $auth = base64_encode(env('MIDTRANS_SERVER_KEY')); + + $response = Http::withHeaders([ + 'Content-Type' => 'application/json', + 'Authorization' => "Basic $auth", + ])->post('https://app.sandbox.midtrans.com/snap/v1/transactions', $params); + + Transaction::where('id', $query->id)->update([ + 'token' => $response['token'], + ]); + $contact = Contact::where('pemilik_kontak', $pembeli) ->where('relasi_kontak', $penjual) ->count(); @@ -238,17 +243,17 @@ class UserTransactionController extends Controller } } - public function acceptTransaction($id) + public function acceptTransaction(Request $request) { try { DB::beginTransaction(); - Transaction::where('id', $id)->update([ - 'status' => 'process', + Transaction::where('id', $request->id)->update([ + 'status_transaksi' => 'process', ]); TransactionDescription::create([ - 'transaction_id' => $id, + 'transaction_id' => $request->id, 'status' => 'process', 'background' => 'bg-seller', 'user' => Auth::user()->email, @@ -274,17 +279,17 @@ class UserTransactionController extends Controller } } - public function sendingOrder($id) + public function sendingOrder(Request $request) { try { DB::beginTransaction(); - Transaction::where('id', $id)->update([ - 'status' => 'sending', + Transaction::where('id', $request->id)->update([ + 'status_transaksi' => 'sending', ]); TransactionDescription::create([ - 'transaction_id' => $id, + 'transaction_id' => $request->id, 'status' => 'sending', 'background' => 'bg-seller', 'user' => Auth::user()->email, @@ -310,22 +315,33 @@ class UserTransactionController extends Controller } } - public function sentOrder($id) + public function sentOrder(Request $request) { try { DB::beginTransaction(); - Transaction::where('id', $id)->update([ - 'status' => 'sended', + Transaction::where('id', $request->id)->update([ + 'status_transaksi' => 'sent', ]); + $bukti_foto = ''; + + if ($request->hasFile('bukti_foto')) { + $file = $request->file('bukti_foto'); + $bukti_foto = time() . '.' . $file->getClientOriginalExtension(); + $path = 'bukti-foto/' . $bukti_foto; + + Storage::disk('public')->put($path, file_get_contents($file)); + } + TransactionDescription::create([ - 'transaction_id' => $id, - 'status' => 'sended', + 'transaction_id' => $request->id, + 'status' => 'sent', 'background' => 'bg-seller', 'user' => Auth::user()->email, 'judul' => 'fas fa-check', 'deskripsi' => 'Pesanan telah sampai di tempat pembeli.', + 'bukti_foto' => $bukti_foto, ]); DB::commit(); @@ -346,29 +362,30 @@ class UserTransactionController extends Controller } } - public function finishTransaction($id) + public function finishTransaction(Request $request) { try { DB::beginTransaction(); - Transaction::where('id', $id)->update([ - 'status' => 'finished', + Transaction::where('id', $request->id)->update([ + 'status_transaksi' => 'finished', + 'status_pembayaran' => 'settlement', ]); TransactionDescription::create([ - 'transaction_id' => $id, + 'transaction_id' => $request->id, 'status' => 'finished', 'background' => 'bg-buyer', 'user' => Auth::user()->email, 'judul' => 'fas fa-check', - 'deskripsi' => 'Pesanan telah diselesaikan oleh '.auth()->user()->nama_depan.'.', + 'deskripsi' => 'Pesanan telah diselesaikan oleh ' . auth()->user()->nama_depan . '.', ]); DB::commit(); return response()->json([ 'status' => true, - 'message' => 'Pesanan telah diselesaikan oleh '.auth()->user()->nama_depan.'.', + 'message' => 'Pesanan telah diselesaikan oleh ' . auth()->user()->nama_depan . '.', ]); } catch (Throwable $e) { DB::rollBack(); @@ -382,111 +399,189 @@ class UserTransactionController extends Controller } } - public function payTransaction($id) + public function payTransaction(Request $request) { - // Membuat objek Google Translate - $translator = new GoogleTranslate(); + try { + DB::beginTransaction(); - // Mengatur bahasa sumber (Inggris) dan bahasa target (Indonesia) - $translator->setSource('en'); - $translator->setTarget('id'); + $auth = base64_encode(env('MIDTRANS_SERVER_KEY')); - $payment = Trans::status($id); - $result = json_decode(json_encode($payment), true); - if ($result['status_code'] == '200') { - try { - DB::beginTransaction(); + $response = Http::withHeaders([ + 'Content-Type' => 'application/json', + 'Authorization' => "Basic $auth", + ])->get('https://api.sandbox.midtrans.com/v2/' . $request->id . '/status'); - Transaction::where('id', $id)->update([ - 'currency' => $result['currency'], - 'merchant_id' => $result['merchant_id'], - 'metode_pembayaran' => $result['payment_type'], - 'tanggal_transaksi' => $result['transaction_time'], - 'signature_key' => $result['signature_key'], - 'status' => $result['transaction_status'], - 'fraud_status' => $result['fraud_status'], - ]); + $result = json_decode($response->body(), true); - TransactionDescription::create([ - 'transaction_id' => $id, - 'status' => $result['transaction_status'], - 'user' => Auth::user()->email, - 'judul' => 'fas fa-check', - 'status_code' => $result['status_code'], - 'background' => 'bg-buyer', - 'deskripsi' => Auth::user()->nama_depan . ' telah sukses melakukan pembayaran. Transaksi diteruskan ke penjual.', - ]); - - DB::rollBack(); - - return response()->json([ - 'status' => true, - 'message' => 'Pembayaran sukses.', - ]); - } catch (Throwable $e) { - DB::rollBack(); - - Log::error($e->getMessage()); - - return response()->json([ - 'status' => false, - 'message' => 'Transaksi pembayaran gagal.', - ]); + if ($result['transaction'] == 'settlement') { + $transaction = 'success'; + } elseif ($result['transaction'] == 'capture') { + if ($result['fraud_status'] == 'accept') { + $transaction = 'success'; + } elseif ($result['fraud_status'] == 'challenge') { + $transaction = 'challenge'; + } + } else { + $transaction = 'failure'; } - } else { - return response()->json([ - 'status' => false, - 'message' => 'Transaksi pembayaran gagal', + + $query1 = Transaction::where('id', $request->id)->update([ + 'metode_pembayaran' => $result['payment_type'], + 'tanggal_transaksi' => now(), + 'status_transaksi' => $transaction, + 'status_pembayaran' => $result['transaction_status'], + 'fraud_status' => $result['fraud_status'], + 'reference_id' => $result['reference_id'], + 'signature_key' => $result['signature_key'], ]); - } - } - - public function cancelTransaction($id) - { - // Membuat objek Google Translate - $translator = new GoogleTranslate(); - - $translator->setSource('en'); - $translator->setTarget('id'); - - $cancel = json_decode(json_encode(Trans::cancel($id)), true); - if ($cancel['status_code'] == '200') { - try { - DB::beginTransaction(); - - Transaction::where('id', $id)->update([ - 'status' => 'cancel', - ]); + if ($transaction == 'success') { TransactionDescription::create([ - 'transcation_id' => $id, - 'status' => 'cancel', - 'user' => Auth::user()->email, - 'judul' => 'fas fa-exclamation', + 'transaction_id' => $request->id, + 'status' => 'success', 'background' => 'bg-buyer', - 'deskripsi' => 'Transaksi dibatalkan', + 'judul' => 'fas fa-money-bill', + 'deskripsi' => Auth::user()->nama_depan . ' telah sukses melakukan pembayaran. Transaksi diteruskan ke penjual.', + 'user' => auth()->user()->email, ]); DB::commit(); return response()->json([ 'status' => true, - 'message' => 'Transaksi berhasil dibatal', + 'message' => 'Pembayaran sukses', + 'data' => $query1, + ]); + } elseif ($transaction == 'challenge') { + TransactionDescription::create([ + 'transaction_id' => $request->id, + 'status' => 'challenge', + 'background' => 'bg-primary', + 'judul' => 'fas fa-clock', + 'deskripsi' => 'Transaksi ' . auth()->user()->email . ' terindikasi masalah, tunggu sesaat hingga admin menyetujui pembayaran.', + 'user' => auth()->user()->email, + 'keterangan' => $result['status_message'], ]); - } catch (Throwable $e) { - DB::rollBack(); - Log::error($e->getMessage()); + DB::commit(); return response()->json([ 'status' => false, - 'message' => 'Transaksi gagal dibatalkan', + 'message' => 'Pembayaran ditunda hingga disetujui oleh admin', + 'data' => $query1, + ]); + } else { + TransactionDescription::create([ + 'transaction_id' => $request->id, + 'status' => 'failure', + 'background' => 'bg-primary', + 'judul' => 'fas fa-exclamation', + 'deskripsi' => 'Terjadi kegagalan pembayaran.', + 'user' => auth()->user()->email, + 'keterangan' => $result['status_message'], + ]); + + DB::commit(); + + return response()->json([ + 'status' => false, + 'message' => 'Transaksi pembayaran gagal', + 'data' => $query1, ]); } - } else { + } catch (Throwable $e) { + DB::rollBack(); + + Log::error($e->getMessage()); + return response()->json([ 'status' => false, - 'message' => $translator->translate($cancel['status_message']), + 'message' => 'Transaksi pembayaran gagal.', + ]); + } + + return response()->json(); + } + + public function cancelTransaction(Request $request) + { + $auth = base64_encode(env('MIDTRANS_SERVER_KEY')); + + $response = Http::withHeaders([ + 'Content-Type' => 'application/json', + 'Authorization' => "Basic $auth", + ])->post('https://api.sandbox.midtrans.com/v2/' . $request->id . '/cancel'); + + $result = json_decode($response->body(), true); + + try { + DB::beginTransaction(); + + Transaction::where('id', $request->id)->update([ + 'status_transaksi' => 'failure', + 'status_pembayaran' => $result['transaction_status'], + ]); + + TransactionDescription::create([ + 'transaction_id' => $request->id, + 'status' => 'cancel', + 'background' => 'bg-buyer', + 'judul' => 'fas fa-exclamation', + 'deskripsi' => auth()->user()->nama_depan . ' telah membatalkan transaksi.', + 'user' => auth()->user()->email, + ]); + + DB::commit(); + + return response()->json([ + 'status' => true, + 'message' => 'Transaksi berhasil dibatalkan', + ]); + } catch (Throwable $e) { + DB::rollBack(); + + Log::error($e->getMessage()); + + return response()->json([ + 'status' => false, + 'message' => 'Transaksi gagal dibatalkan', + ]); + } + } + + public function pendingTransaction(Request $request) + { + $auth = base64_encode(env('MIDTRANS_SERVER_KEY')); + + $response = Http::withHeaders([ + 'Content-Type' => 'application/json', + 'Authorization' => "Basic $auth", + ])->get('https://api.sandbox.midtrans.com/v2/' . $request->id . '/status'); + + $result = json_decode($response->body(), true); + + try { + + DB::beginTransaction(); + + Transaction::where('id', $request->id)->update([ + 'status_pembayaran' => $result['transaction_status'] + ]); + + DB::commit(); + + return response()->json([ + 'status' => true, + 'message' => 'Pembayaran di-pending, silahkan masuk lagi dan bayar secepat mungkin.', + ]); + } catch (Throwable $e) { + DB::rollBack(); + + Log::error($e->getMessage()); + + return response()->json([ + 'status' => false, + 'message' => 'Terjadi error di bagian server.', ]); } } diff --git a/app/Models/TransactionDescription.php b/app/Models/TransactionDescription.php index 66aebdd..3ff4aea 100644 --- a/app/Models/TransactionDescription.php +++ b/app/Models/TransactionDescription.php @@ -15,18 +15,20 @@ class TransactionDescription extends Model * @var array */ protected $fillable = [ - 'order_id', + 'transaction_id', 'user', 'judul', 'status', 'status_code', 'background', - 'deskripsi' + 'deskripsi', + 'keterangan', + 'bukti_foto' ]; //Relasi - public function order(){ - return $this->belongsTo(Transaction::class, 'order_id', 'id'); + public function transaction(){ + return $this->belongsTo(Transaction::class, 'transaction_id', 'id'); } public function user(){ diff --git a/app/Models/transaction.php b/app/Models/transaction.php index 9f5ae37..9213d15 100644 --- a/app/Models/transaction.php +++ b/app/Models/transaction.php @@ -27,10 +27,13 @@ class Transaction extends Model 'total_harga', 'total_bayar', 'token', - 'status', + 'status_transaksi', + 'status_pembayaran', 'batas_pembayaran', 'batas_pengiriman_barang_awal', 'batas_pengiriman_barang_akhir', + 'nama_bank_penjual', + 'no_rek_penjual' ]; /** diff --git a/composer.json b/composer.json index baec890..01e309d 100644 --- a/composer.json +++ b/composer.json @@ -15,7 +15,6 @@ "laravel/sanctum": "^3.2", "laravel/tinker": "^2.8", "laravolt/indonesia": "^0.34.0", - "midtrans/midtrans-php": "^2.5", "nesbot/carbon": "^2.69", "pusher/pusher-php-server": "^7.2", "ramsey/uuid": "^4.7", diff --git a/composer.lock b/composer.lock index e91429d..d3d028d 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "7c67133036db6b4f4df2682df682403c", + "content-hash": "12fffdf5c68db05168e9385fccb5dec2", "packages": [ { "name": "brick/math", @@ -1056,16 +1056,16 @@ }, { "name": "laravel/framework", - "version": "v10.29.0", + "version": "v10.30.1", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "2d002849a16ad131110a50cbea4d64dbb78515a3" + "reference": "7a2da50258c4d0f693b738d3f3c69b2693aea6c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/2d002849a16ad131110a50cbea4d64dbb78515a3", - "reference": "2d002849a16ad131110a50cbea4d64dbb78515a3", + "url": "https://api.github.com/repos/laravel/framework/zipball/7a2da50258c4d0f693b738d3f3c69b2693aea6c1", + "reference": "7a2da50258c4d0f693b738d3f3c69b2693aea6c1", "shasum": "" }, "require": { @@ -1254,20 +1254,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2023-10-24T13:48:53+00:00" + "time": "2023-11-01T13:52:17+00:00" }, { "name": "laravel/prompts", - "version": "v0.1.12", + "version": "v0.1.13", "source": { "type": "git", "url": "https://github.com/laravel/prompts.git", - "reference": "b35f249028c22016e45e48626e19e5d42fd827ff" + "reference": "e1379d8ead15edd6cc4369c22274345982edc95a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/prompts/zipball/b35f249028c22016e45e48626e19e5d42fd827ff", - "reference": "b35f249028c22016e45e48626e19e5d42fd827ff", + "url": "https://api.github.com/repos/laravel/prompts/zipball/e1379d8ead15edd6cc4369c22274345982edc95a", + "reference": "e1379d8ead15edd6cc4369c22274345982edc95a", "shasum": "" }, "require": { @@ -1309,9 +1309,9 @@ ], "support": { "issues": "https://github.com/laravel/prompts/issues", - "source": "https://github.com/laravel/prompts/tree/v0.1.12" + "source": "https://github.com/laravel/prompts/tree/v0.1.13" }, - "time": "2023-10-18T14:18:57+00:00" + "time": "2023-10-27T13:53:59+00:00" }, { "name": "laravel/sanctum", @@ -2124,61 +2124,6 @@ ], "time": "2023-10-17T14:13:20+00:00" }, - { - "name": "midtrans/midtrans-php", - "version": "2.5.2", - "source": { - "type": "git", - "url": "https://github.com/Midtrans/midtrans-php.git", - "reference": "a1ad0c824449ca8c68c4cf11b3417ad518311d2b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Midtrans/midtrans-php/zipball/a1ad0c824449ca8c68c4cf11b3417ad518311d2b", - "reference": "a1ad0c824449ca8c68c4cf11b3417ad518311d2b", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "ext-json": "*", - "php": ">=5.4" - }, - "require-dev": { - "phpunit/phpunit": "5.7.*", - "psy/psysh": "0.4.*" - }, - "type": "library", - "autoload": { - "psr-4": { - "Midtrans\\": "Midtrans/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Andri Setiawan", - "email": "andri.setiawan@veritrans.co.id" - }, - { - "name": "Alvin Litani", - "email": "alvin.litani@veritrans.co.id" - }, - { - "name": "Ismail Faruqi", - "email": "ismail.faruqi@veritrans.co.id" - } - ], - "description": "PHP Wrapper for Midtrans Payment API.", - "homepage": "https://midtrans.com", - "support": { - "issues": "https://github.com/Midtrans/midtrans-php/issues", - "source": "https://github.com/Midtrans/midtrans-php/tree/2.5.2" - }, - "time": "2021-08-23T08:52:05+00:00" - }, { "name": "monolog/monolog", "version": "3.5.0", @@ -6517,16 +6462,16 @@ }, { "name": "filp/whoops", - "version": "2.15.3", + "version": "2.15.4", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "c83e88a30524f9360b11f585f71e6b17313b7187" + "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/c83e88a30524f9360b11f585f71e6b17313b7187", - "reference": "c83e88a30524f9360b11f585f71e6b17313b7187", + "url": "https://api.github.com/repos/filp/whoops/zipball/a139776fa3f5985a50b509f2a02ff0f709d2a546", + "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546", "shasum": "" }, "require": { @@ -6576,7 +6521,7 @@ ], "support": { "issues": "https://github.com/filp/whoops/issues", - "source": "https://github.com/filp/whoops/tree/2.15.3" + "source": "https://github.com/filp/whoops/tree/2.15.4" }, "funding": [ { @@ -6584,7 +6529,7 @@ "type": "github" } ], - "time": "2023-07-13T12:00:00+00:00" + "time": "2023-11-03T12:00:00+00:00" }, { "name": "hamcrest/hamcrest-php", @@ -8895,5 +8840,5 @@ "php": "^8.1" }, "platform-dev": [], - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.6.0" } diff --git a/database/migrations/2023_08_01_073859_create_transactions_table.php b/database/migrations/2023_08_01_073859_create_transactions_table.php index b69dc42..0e81c28 100644 --- a/database/migrations/2023_08_01_073859_create_transactions_table.php +++ b/database/migrations/2023_08_01_073859_create_transactions_table.php @@ -26,13 +26,14 @@ return new class extends Migration $table->double('total_harga'); // gross amount $table->double('total_bayar'); $table->string('signature_key')->nullable(); - $table->string('token'); + $table->string('reference_id')->nullable(); + $table->string('token')->nullable(); $table->string('metode_pembayaran')->nullable(); - $table->char('currency',3)->nullable(); $table->string('fraud_status')->nullable(); - $table->string('merchant_id')->nullable(); - $table->enum('status',['settlement','capture','pending','cancel','refund', 'expire','failure','process','sending','sended','finished','created'])->default('created'); // transaction_status - $table->timestamp('batas_pembayaran'); + $table->enum('status_transaksi',['success','challenge','failure','process','sending','sent','finished','created', 'refund'])->default('created'); // transaction_status + $table->enum('status_pembayaran',['settlement','capture','pending','expire','failure','cancel','refund'])->nullable(); // status transaksi dari midtrans + $table->timestamp('batas_pembayaran')->nullable(); + $table->timestamp('batas_konfirmasi_transaksi')->nullable(); $table->timestamp('batas_pengiriman_barang_awal'); $table->timestamp('batas_pengiriman_barang_akhir'); $table->timestamp('tanggal_transaksi')->nullable(); diff --git a/database/migrations/2023_08_16_044527_create_refunds_table.php b/database/migrations/2023_08_16_044527_create_refunds_table.php index 70f14e1..fe26600 100644 --- a/database/migrations/2023_08_16_044527_create_refunds_table.php +++ b/database/migrations/2023_08_16_044527_create_refunds_table.php @@ -17,7 +17,7 @@ return new class extends Migration $table->foreignUuid('transaction_id'); $table->double('total',10); $table->timestamp('due_date'); - $table->enum('status',['partial refund','deny','pending'])->default('pending'); + $table->enum('status',['refund','deny','pending'])->default('pending'); $table->text('complaint'); $table->timestamps(); $table->foreign('transaction_id')->on('transactions')->references('id'); diff --git a/database/migrations/2023_09_04_022513_create_transaction_descriptions_table.php b/database/migrations/2023_09_04_022513_create_transaction_descriptions_table.php index e409f3c..ed8f347 100644 --- a/database/migrations/2023_09_04_022513_create_transaction_descriptions_table.php +++ b/database/migrations/2023_09_04_022513_create_transaction_descriptions_table.php @@ -19,6 +19,7 @@ return new class extends Migration $table->string('background'); $table->string('judul'); $table->string('deskripsi'); + $table->string('keterangan')->nullable(); $table->string('status_code')->nullable(); $table->string('bukti_foto')->nullable(); $table->timestamps(); diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 75d6c9f..158dcf4 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -4,6 +4,7 @@ namespace Database\Seeders; // use Illuminate\Database\Console\Seeds\WithoutModelEvents; +use App\Models\Contact; use App\Models\Refund; use App\Models\RefundDescription; use Illuminate\Database\Seeder; @@ -66,6 +67,8 @@ class DatabaseSeeder extends Seeder 'persentase_kemiripan' => 100, 'gender' => $faker->randomElement(['Laki-laki', 'Perempuan']), 'kode_kelurahan' => '1101012002', + 'nama_bank' => 'mandiri', + 'no_rek' => '019809210873' ]); $user2 = User::factory()->create([ @@ -85,7 +88,10 @@ class DatabaseSeeder extends Seeder 'persentase_kemiripan' => 100, 'gender' => $faker->randomElement(['Laki-laki', 'Perempuan']), 'kode_kelurahan' => '1101012002', + 'nama_bank' => 'bca', + 'no_rek' => '01980921' ]); + // User::factory(20)->create(); $now = Carbon::now()->tz('Asia/Jakarta'); @@ -113,12 +119,12 @@ class DatabaseSeeder extends Seeder 'total_harga' => 2, 'total_bayar' => 2, 'token' => 'asda', - 'status' => 'pending', + 'status_transaksi' => 'created', 'batas_pembayaran' => now(), 'batas_pengiriman_barang_awal' => now(), 'batas_pengiriman_barang_akhir' => now(), - 'nama_bank_penjual' => 'asd', - 'no_rek_penjual' => '21-', + 'nama_bank_penjual' => $user2->nama_bank, + 'no_rek_penjual' => $user2->no_rek, ]); TransactionDescription::create([ @@ -144,12 +150,13 @@ class DatabaseSeeder extends Seeder 'total_harga' => 2, 'total_bayar' => 2, 'token' => 'asda', - 'status' => 'refund', + 'status_transaksi' => 'success', + 'status_pembayaran' => 'refund', 'batas_pembayaran' => now(), 'batas_pengiriman_barang_awal' => now(), 'batas_pengiriman_barang_akhir' => now(), - 'nama_bank_penjual' => 'asd', - 'no_rek_penjual' => '21-', + 'nama_bank_penjual' => $user2->nama_bank, + 'no_rek_penjual' => $user2->no_rek, ]); $refund = Refund::create([ @@ -171,6 +178,16 @@ class DatabaseSeeder extends Seeder 'type' => 'image' ]); + Contact::create([ + 'pemilik_kontak' => $user1->email, + 'relasi_kontak' => $user2->email + ]); + + Contact::create([ + 'pemilik_kontak' => $user2->email, + 'relasi_kontak' => $user1->email + ]); + $this->call([ProvincesSeeder::class, CitiesSeeder::class, DistrictsSeeder::class, VillagesSeeder::class]); } } diff --git a/docker/8.3/Dockerfile b/docker/8.3/Dockerfile new file mode 100644 index 0000000..aa79dfb --- /dev/null +++ b/docker/8.3/Dockerfile @@ -0,0 +1,64 @@ +FROM ubuntu:22.04 + +LABEL maintainer="Taylor Otwell" + +ARG WWWGROUP +ARG NODE_VERSION=20 +ARG POSTGRES_VERSION=15 + +WORKDIR /var/www/html + +ENV DEBIAN_FRONTEND noninteractive +ENV TZ=UTC + +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone + +RUN apt-get update \ + && mkdir -p /etc/apt/keyrings \ + && apt-get install -y gnupg gosu curl ca-certificates zip unzip git supervisor sqlite3 libcap2-bin libpng-dev python2 dnsutils librsvg2-bin fswatch \ + && curl -sS 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x14aa40ec0831756756d7f66c4f4ea0aae5267a6c' | gpg --dearmor | tee /etc/apt/keyrings/ppa_ondrej_php.gpg > /dev/null \ + && echo "deb [signed-by=/etc/apt/keyrings/ppa_ondrej_php.gpg] https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy main" > /etc/apt/sources.list.d/ppa_ondrej_php.list \ + && apt-get update \ + && apt-get install -y php8.3-cli php8.3-dev \ + php8.3-pgsql php8.3-sqlite3 php8.3-gd \ + php8.3-curl \ + php8.3-imap php8.3-mysql php8.3-mbstring \ + php8.3-xml php8.3-zip php8.3-bcmath php8.3-soap \ + php8.3-intl php8.3-readline \ + php8.3-ldap \ + # php8.3-msgpack php8.3-igbinary php8.3-redis php8.3-swoole \ + # php8.3-memcached php8.3-pcov php8.3-xdebug \ + # php8.3-imagick \ + && curl -sLS https://getcomposer.org/installer | php -- --install-dir=/usr/bin/ --filename=composer \ + && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ + && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_VERSION.x nodistro main" > /etc/apt/sources.list.d/nodesource.list \ + && apt-get update \ + && apt-get install -y nodejs \ + && npm install -g npm \ + && npm install -g pnpm \ + && npm install -g bun \ + && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | tee /etc/apt/keyrings/yarn.gpg >/dev/null \ + && echo "deb [signed-by=/etc/apt/keyrings/yarn.gpg] https://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ + && curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | tee /etc/apt/keyrings/pgdg.gpg >/dev/null \ + && echo "deb [signed-by=/etc/apt/keyrings/pgdg.gpg] http://apt.postgresql.org/pub/repos/apt jammy-pgdg main" > /etc/apt/sources.list.d/pgdg.list \ + && apt-get update \ + && apt-get install -y yarn \ + && apt-get install -y mysql-client \ + && apt-get install -y postgresql-client-$POSTGRES_VERSION \ + && apt-get -y autoremove \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* + +RUN setcap "cap_net_bind_service=+ep" /usr/bin/php8.3 + +RUN groupadd --force -g $WWWGROUP sail +RUN useradd -ms /bin/bash --no-user-group -g $WWWGROUP -u 1337 sail + +COPY start-container /usr/local/bin/start-container +COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf +COPY php.ini /etc/php/8.3/cli/conf.d/99-sail.ini +RUN chmod +x /usr/local/bin/start-container + +EXPOSE 8000 + +ENTRYPOINT ["start-container"] diff --git a/docker/8.3/php.ini b/docker/8.3/php.ini new file mode 100644 index 0000000..39dcbca --- /dev/null +++ b/docker/8.3/php.ini @@ -0,0 +1,7 @@ +[PHP] +post_max_size = 100M +upload_max_filesize = 100M +variables_order = EGPCS + +[opcache] +opcache.enable_cli=1 diff --git a/docker/8.3/start-container b/docker/8.3/start-container new file mode 100644 index 0000000..b864399 --- /dev/null +++ b/docker/8.3/start-container @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +if [ ! -z "$WWWUSER" ]; then + usermod -u $WWWUSER sail +fi + +if [ ! -d /.composer ]; then + mkdir /.composer +fi + +chmod -R ugo+rw /.composer + +if [ $# -gt 0 ]; then + exec gosu $WWWUSER "$@" +else + exec /usr/bin/supervisord -c /etc/supervisor/conf.d/supervisord.conf +fi diff --git a/docker/8.3/supervisord.conf b/docker/8.3/supervisord.conf new file mode 100644 index 0000000..9d28479 --- /dev/null +++ b/docker/8.3/supervisord.conf @@ -0,0 +1,14 @@ +[supervisord] +nodaemon=true +user=root +logfile=/var/log/supervisor/supervisord.log +pidfile=/var/run/supervisord.pid + +[program:php] +command=/usr/bin/php -d variables_order=EGPCS /var/www/html/artisan serve --host=0.0.0.0 --port=80 +user=sail +environment=LARAVEL_SAIL="1" +stdout_logfile=/dev/stdout +stdout_logfile_maxbytes=0 +stderr_logfile=/dev/stderr +stderr_logfile_maxbytes=0 diff --git a/public/assets/img/metode_pembayaran/shopeepay.png b/public/assets/img/metode_pembayaran/shopeepay.png new file mode 100644 index 0000000..6cb563e Binary files /dev/null and b/public/assets/img/metode_pembayaran/shopeepay.png differ diff --git a/public/assets/js/page/modules-datatables.js b/public/assets/js/page/modules-datatables.js index cb2bb12..3bc67eb 100644 --- a/public/assets/js/page/modules-datatables.js +++ b/public/assets/js/page/modules-datatables.js @@ -70,12 +70,12 @@ $("#table-5").dataTable({ // Contact User $("#table-6").dataTable({ - columnDefs: [{ sortable: false, targets: [4] }], + columnDefs: [{ sortable: false, targets: [2] }], searchable: true, }); //Refund User $("#table-7").dataTable({ - columnDefs: [{ sortable: false, targets: [5] }], + columnDefs: [{ sortable: false, targets: [7] }], searchable: true, }); diff --git a/resources/views/Admin/refund/detail-refund.blade.php b/resources/views/Admin/refund/detail-refund.blade.php index 75d8c9d..ef9f58e 100644 --- a/resources/views/Admin/refund/detail-refund.blade.php +++ b/resources/views/Admin/refund/detail-refund.blade.php @@ -3,11 +3,11 @@
-

Detail

+

Detail Refund

- +
@@ -28,23 +28,37 @@

ID Order
-
{{ $refund->order_id }}
+
{{ $refund->transaction_id }}

-
Customer Name
+
Nama Barang
+
+ {{ $refund->transaction->nama_barang }} +
+

+
+
Nama Pembeli
{{ $refund->transaction->data_pembeli->nama_depan . ' ' . $refund->transaction->data_pembeli->nama_belakang }}

-
Seller Name
+
Nama Penjual
{{ $refund->transaction->data_penjual->nama_depan . ' ' . $refund->transaction->data_penjual->nama_belakang }}

-
Total
-
{{ $refund->total }}
+
Harga Satuan Barang
+
{{ $refund->satuan_barang }}
+

+
+
Jumlah Barang
+
{{ $refund->jumlah_barang }}
+

+
+
Total Harga
+
{{ $refund->total_harga }}

Batas Pengajuan Refund
@@ -55,7 +69,7 @@
{{ $refund->complaint }}
- @if ($refund) + @if ($refund->status == 'pending')
Accept diff --git a/resources/views/User/contact/index.blade.php b/resources/views/User/contact/index.blade.php index 04eba8f..e82ed34 100644 --- a/resources/views/User/contact/index.blade.php +++ b/resources/views/User/contact/index.blade.php @@ -28,8 +28,6 @@ # Nama - Email - No. HP Aksi @@ -40,10 +38,6 @@ {{ $contact->relasiKontak->nama_depan . ' ' . $contact->relasiKontak->nama_belakang }} - {{ $contact->relasiKontak->email }} - - {{ $contact->relasiKontak->nohp }} -
diff --git a/resources/views/User/refund/detail-refund.blade.php b/resources/views/User/refund/detail-refund.blade.php index 75d8c9d..80e19c7 100644 --- a/resources/views/User/refund/detail-refund.blade.php +++ b/resources/views/User/refund/detail-refund.blade.php @@ -3,11 +3,11 @@
-

Detail

+

Detail Refund

- - - + + +
@@ -54,15 +54,6 @@
Alasan Komplain
{{ $refund->complaint }}
- - @if ($refund) -
- Accept - Decline -
- @endif -

@@ -70,5 +61,4 @@
- @include('admin.refund.modal-next-detail-refund') @endsection diff --git a/resources/views/User/refund/index.blade.php b/resources/views/User/refund/index.blade.php index 5f4e586..062125d 100644 --- a/resources/views/User/refund/index.blade.php +++ b/resources/views/User/refund/index.blade.php @@ -24,6 +24,8 @@ Nama Barang Penjual Total + Tanggal Pengajuan + Batas Konfirmasi Status Aksi @@ -37,6 +39,8 @@ {{ $refund->transaction->data_penjual->nama_depan }} {{ $refund->total }} + {{ $refund->created_at }} + {{ $refund->due_date }} {{ ucwords($refund->status) }} diff --git a/resources/views/User/transaction/Pembeli/index.blade.php b/resources/views/User/transaction/Pembeli/index.blade.php index 901645e..2014cc2 100644 --- a/resources/views/User/transaction/Pembeli/index.blade.php +++ b/resources/views/User/transaction/Pembeli/index.blade.php @@ -57,17 +57,17 @@ {{ $transaction->updated_at }} status_transaksi, ['created']) ? 'badge-light' - : (in_array($transaction->status, ['settlement', 'capture']) + : (in_array($transaction->status_transaksi, ['success', 'challenge']) ? 'badge-info' - : (in_array($transaction->status, ['process', 'sending', 'sended']) + : (in_array($transaction->status_transaksi, ['process', 'sending', 'sent']) ? 'badge-warning' - : (in_array($transaction->status, ['cancel', 'expire', 'failure', 'refund']) + : (in_array($transaction->status_transaksi, ['cancel', 'failure', 'refund']) ? 'badge-danger' - : ($transaction->status == 'finished' + : ($transaction->status_transaksi == 'finished' ? 'badge-success' - : '')))) }}">{{ ucwords($transaction->status) }} + : '')))) }}">{{ ucwords($transaction->status_transaksi) }}
@@ -79,11 +79,11 @@
- @extends('user.transaction.pembeli.modal-end-transaction') @extends('user.transaction.pembeli.modal-tracking') @extends('user.transaction.pembeli.modal-keterangan-status') + data-client-key="SB-Mid-client-lEMALcmIPviksRRe"> - {{-- --}} @endsection diff --git a/resources/views/User/transaction/penjual/modal-pengiriman-selesai.blade.php b/resources/views/User/transaction/penjual/modal-pengiriman-selesai.blade.php new file mode 100644 index 0000000..4647d3c --- /dev/null +++ b/resources/views/User/transaction/penjual/modal-pengiriman-selesai.blade.php @@ -0,0 +1,25 @@ + + diff --git a/resources/views/layouts/js.blade.php b/resources/views/layouts/js.blade.php index c76576e..df8ba32 100644 --- a/resources/views/layouts/js.blade.php +++ b/resources/views/layouts/js.blade.php @@ -8,7 +8,7 @@ {{-- +{{-- --}} {{-- --}} diff --git a/resources/views/profile/index.blade.php b/resources/views/profile/index.blade.php index fd89577..2ce97e9 100644 --- a/resources/views/profile/index.blade.php +++ b/resources/views/profile/index.blade.php @@ -93,12 +93,12 @@
Nama Bank/e-Wallet Tujuan
-
Dana
+
{{ auth()->user()->nama_bank }}
Nomor Rekening/e-Wallet Tujuan
-
088376473
+
{{ auth()->user()->no_rek }}
diff --git a/routes/web.php b/routes/web.php index 6e11d0e..cdf028a 100644 --- a/routes/web.php +++ b/routes/web.php @@ -153,17 +153,18 @@ Route::middleware(['auth'])->group(function(){ Route::get('user-pembeli/tambah-transaksi','create')->name('user-pembeli.create'); Route::get('user-pembeli/invoice/{id}','invoice')->name('user-pembeli.invoice'); Route::post('user-pembeli','store')->name('user-pembeli.store'); - Route::put('user-pembeli/bayar-transaksi/{id}','payTransaction')->name('user-pembeli.pay'); - Route::put('user-pembeli/batal-transaksi/{id}','cancelTransaction')->name('user-pembeli.cancel'); - Route::put('user-pembeli/transaksi-selesai/{id}','finishTransaction')->name('user-pembeli.finish'); + Route::put('user-pembeli/bayar-transaksi','payTransaction')->name('user-pembeli.pay'); + Route::put('user-pembeli/batal-transaksi','cancelTransaction')->name('user-pembeli.cancel'); + Route::put('user-pembeli/transaksi-selesai','finishTransaction')->name('user-pembeli.finish'); Route::put('user-pembeli/transaksi-komplain/{id}','complaintTransaction')->name('user-pembeli.complain'); //Penjual Route::get('user-penjual','indexPenjual')->name('user-penjual.index'); Route::get('user-penjual/detail-transaksi/{id}','show')->name('user-penjual.show'); - Route::put('user-penjual/terima-transaksi/{id}','acceptTransaction')->name('user-penjual.accept'); - Route::put('user-penjual/kirim-pesanan/{id}','sendingOrder')->name('user-penjual.sending'); - Route::put('user-penjual/selesai-kirim-pesanan/{id}','sentOrder')->name('user-penjual.sent'); + Route::get('user-penjual/tolak-transaksi','denyTransaction')->name('user-penjual.deny'); + Route::put('user-penjual/terima-transaksi','acceptTransaction')->name('user-penjual.accept'); + Route::put('user-penjual/kirim-pesanan','sendingOrder')->name('user-penjual.sending'); + Route::put('user-penjual/selesai-kirim-pesanan','sentOrder')->name('user-penjual.sent'); }); // Tampilan refund