Perubahan fungsi pembayaran
This commit is contained in:
parent
5f01f0d124
commit
2fe079984d
@ -16,7 +16,7 @@ class UserRefundController extends Controller
|
||||
]);
|
||||
}
|
||||
|
||||
public function createRefund(Request $request)
|
||||
public function create(Request $request)
|
||||
{
|
||||
return view('user.refund.new-refund');
|
||||
}
|
||||
|
@ -16,6 +16,7 @@ use Ramsey\Uuid\Uuid;
|
||||
use Midtrans\Config;
|
||||
use Midtrans\Snap;
|
||||
use Midtrans\Transaction as Trans;
|
||||
use Stichoza\GoogleTranslate\GoogleTranslate;
|
||||
|
||||
class UserTransactionController extends Controller
|
||||
{
|
||||
@ -23,14 +24,24 @@ 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', [
|
||||
'transactions' => Transaction::where('pembeli', Auth::user()->email)
|
||||
// ->orderByRaw("CASE WHEN status = 'pending' THEN 1 WHEN status = 'Finished' THEN 2 WHEN status = 'Rejected' THEN 3 ELSE 4 END ASC")
|
||||
->latest()
|
||||
->get(),
|
||||
]);
|
||||
// dd(Transaction::where('pembeli',Auth::user()->email)->get());
|
||||
}
|
||||
|
||||
/**
|
||||
@ -39,7 +50,10 @@ class UserTransactionController extends Controller
|
||||
public function indexPenjual()
|
||||
{
|
||||
return view('user.transaction.penjual.index', [
|
||||
'transactions' => Transaction::where('penjual', Auth::user()->email)->get(),
|
||||
'transactions' => Transaction::where('penjual', Auth::user()->email)
|
||||
// ->orderByRaw("CASE WHEN status = 'Progress' THEN 1 WHEN status = 'Finished' THEN 2 WHEN status = 'Rejected' THEN 3 ELSE 4 END ASC")
|
||||
->latest()
|
||||
->get(),
|
||||
]);
|
||||
}
|
||||
|
||||
@ -50,15 +64,33 @@ class UserTransactionController extends Controller
|
||||
'trackings' => TransactionDescription::where('order_id', $id)->get(),
|
||||
]);
|
||||
|
||||
// $transaction = Transaction::findOrFail($id);
|
||||
|
||||
// var_dump($transaction->metode_pembayaran == 'qris');
|
||||
|
||||
// dd(Transaction::findOrFail($id));
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*/
|
||||
public function createTransaction(Request $request)
|
||||
public function createTransaction()
|
||||
{
|
||||
return view('user.transaction.pembeli.new-transaction');
|
||||
$now = Carbon::now();
|
||||
$bulan = $now->format('F');
|
||||
$tahun = $now->year;
|
||||
$persentase_keuntungan = Setting::where('status', 'Active')
|
||||
->where('bulan', '=', $bulan)
|
||||
->where('tahun', '=', $tahun)
|
||||
->value('persentase');
|
||||
if (is_null($persentase_keuntungan)) {
|
||||
$persentase_keuntungan = Setting::where('status', 'Active')
|
||||
->latest()
|
||||
->value('persentase');
|
||||
}
|
||||
return view('user.transaction.pembeli.new-transaction', [
|
||||
'persentase_keuntungan' => $persentase_keuntungan,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -89,13 +121,8 @@ class UserTransactionController extends Controller
|
||||
$alamat = ucwords(strtolower(Auth::user()->alamat));
|
||||
$id = Uuid::uuid4();
|
||||
|
||||
$now = Carbon::now()->tz('Asia/Jakarta');
|
||||
$bulan = $now->format('F');
|
||||
$tahun = $now->year;
|
||||
$now = Carbon::now();
|
||||
|
||||
// $persentase_keuntungan = Setting::where('status','Active')
|
||||
// ->where('bulan','=',$bulan)
|
||||
// ->where('tahun','=',$tahun)->get();
|
||||
$persentase_keuntungan = $request->get('persentase_keuntungan');
|
||||
|
||||
$total_harga = $request->get('total_harga');
|
||||
@ -135,7 +162,7 @@ class UserTransactionController extends Controller
|
||||
'last_name' => $nama_belakang_pembeli,
|
||||
'email' => $pembeli,
|
||||
'phone' => $nohp_pembeli,
|
||||
'address' => Auth::user()->alamat,
|
||||
'address' => $alamat,
|
||||
'city' => Auth::user()->village->district->city->name,
|
||||
'country_code' => 'IDN',
|
||||
],
|
||||
@ -150,13 +177,6 @@ class UserTransactionController extends Controller
|
||||
],
|
||||
];
|
||||
|
||||
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;
|
||||
|
||||
$snap_token = Snap::getSnapToken($params);
|
||||
$token = $snap_token;
|
||||
$status = 'pending';
|
||||
@ -209,31 +229,48 @@ class UserTransactionController extends Controller
|
||||
{
|
||||
}
|
||||
|
||||
public function paymentTransaction(Request $request, $id)
|
||||
public function paymentTransaction($id)
|
||||
{
|
||||
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;
|
||||
// Membuat objek Google Translate
|
||||
$translator = new GoogleTranslate();
|
||||
|
||||
// Mengatur bahasa sumber (Inggris) dan bahasa target (Indonesia)
|
||||
$translator->setSource('en');
|
||||
$translator->setTarget('id');
|
||||
|
||||
// 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;
|
||||
|
||||
$payment = Trans::status($id);
|
||||
$result = json_decode(json_encode($payment), true);
|
||||
return response()->json([
|
||||
'status' => true,
|
||||
'message' => $result,
|
||||
]);
|
||||
$query = Transaction::where('id', $id)->update([
|
||||
'acquire' => $result['acquirer'],
|
||||
'currency' => $result['currency'],
|
||||
'fraud_status' => $result['fraud_status'],
|
||||
'issuer' => $result['issuer'],
|
||||
'merchant_id' => $result['merchant_id'],
|
||||
'metode_pembayaran' => $result['payment_type'],
|
||||
'tanggal_pembayaran' => $result['settlement_time'],
|
||||
'tanggal_transaksi' => $result['transaction_time'],
|
||||
'signature_key' => $result['signature_key'],
|
||||
'status' => $result['transaction_status'],
|
||||
'tipe_transaction' => $result['transaction_type'],
|
||||
'status_code' => $result['status_code'],
|
||||
'status_message' => $result['status_message'],
|
||||
'fraud_status' => $result['fraud_status'],
|
||||
]);
|
||||
if ($query) {
|
||||
TransactionDescription::create([
|
||||
'order_id' => $id,
|
||||
'status' => $result['transaction_status'],
|
||||
'user' => Auth::user()->email,
|
||||
'judul' => 'fa fa-plus',
|
||||
'background' => 'bg-buyer',
|
||||
'deskripsi' => Auth::user()->nama_depan . ' telah membayar menggunakan ' . $result['payment_type'] . ' ' . $result['acquirer'].'. '.$translator->translate($result['status_message']),
|
||||
]);
|
||||
return response()->json([
|
||||
'status' => true,
|
||||
'message' => 'Pembayaran sukses. Proses akan dilanjutkan ke penjual',
|
||||
@ -277,4 +314,25 @@ class UserTransactionController extends Controller
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
public function cancelTransaction(){
|
||||
$cancel = \Midtrans\Transaction::cancel('005d662f-eaf2-45aa-8789-b5da82a8948d');
|
||||
var_dump($cancel); // Hasilnya 200 atau kode
|
||||
}
|
||||
|
||||
public function translate()
|
||||
{
|
||||
// Membuat objek Google Translate
|
||||
$translator = new GoogleTranslate();
|
||||
|
||||
// Mengatur bahasa sumber (Inggris) dan bahasa target (Indonesia)
|
||||
$translator->setSource('en');
|
||||
$translator->setTarget('id');
|
||||
|
||||
// Menerjemahkan teks
|
||||
$translatedText = $translator->translate('Hello, world!');
|
||||
|
||||
// Output hasil terjemahan
|
||||
echo $translatedText;
|
||||
}
|
||||
}
|
||||
|
@ -25,7 +25,7 @@ class TransactionDescription extends Model
|
||||
|
||||
//Relasi
|
||||
public function order(){
|
||||
return $this->belongsTo(Transaction::class, 'id', 'order_id');
|
||||
return $this->belongsTo(Transaction::class, 'order_id', 'id');
|
||||
}
|
||||
|
||||
public function user(){
|
||||
|
@ -57,5 +57,9 @@ class Transaction extends Model
|
||||
public function refunds(){
|
||||
return $this->hasMany(Refund::class, 'order_id', 'id');
|
||||
}
|
||||
|
||||
public function transactionDescription(){
|
||||
return $this->hasMany(TransactionDescription::class, 'order_id', 'id');
|
||||
}
|
||||
//Relasi
|
||||
}
|
||||
|
@ -19,6 +19,7 @@
|
||||
"nesbot/carbon": "^2.69",
|
||||
"pusher/pusher-php-server": "^7.2",
|
||||
"ramsey/uuid": "^4.7",
|
||||
"stichoza/google-translate-php": "^5.1",
|
||||
"thiagoalessio/tesseract_ocr": "^2.12",
|
||||
"tymon/jwt-auth": "^2.0"
|
||||
},
|
||||
|
82
composer.lock
generated
82
composer.lock
generated
@ -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": "4dd1066d585142b363e4e114601be8ce",
|
||||
"content-hash": "7c67133036db6b4f4df2682df682403c",
|
||||
"packages": [
|
||||
{
|
||||
"name": "brick/math",
|
||||
@ -3696,6 +3696,86 @@
|
||||
},
|
||||
"time": "2022-11-25T16:15:06+00:00"
|
||||
},
|
||||
{
|
||||
"name": "stichoza/google-translate-php",
|
||||
"version": "v5.1.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Stichoza/google-translate-php.git",
|
||||
"reference": "e43089e0c6fcc366027e8bf593060bb4e9c2c839"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Stichoza/google-translate-php/zipball/e43089e0c6fcc366027e8bf593060bb4e9c2c839",
|
||||
"reference": "e43089e0c6fcc366027e8bf593060bb4e9c2c839",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-json": "*",
|
||||
"ext-mbstring": "*",
|
||||
"guzzlehttp/guzzle": "^7.0",
|
||||
"php": "^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^9.5.10"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Stichoza\\GoogleTranslate\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Levan Velijanashvili",
|
||||
"email": "me@stichoza.com"
|
||||
}
|
||||
],
|
||||
"description": "Free Google Translate API PHP Package",
|
||||
"homepage": "https://github.com/Stichoza/google-translate-php",
|
||||
"keywords": [
|
||||
"google",
|
||||
"php",
|
||||
"translate",
|
||||
"translating",
|
||||
"translator"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/Stichoza/google-translate-php/issues",
|
||||
"source": "https://github.com/Stichoza/google-translate-php/tree/v5.1.2"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://btc.com/bc1qc25j4x7yahghm8nnn6lypnw59nptylsw32nkfl",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://www.paypal.me/stichoza",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://ko-fi.com/stichoza",
|
||||
"type": "ko_fi"
|
||||
},
|
||||
{
|
||||
"url": "https://liberapay.com/stichoza",
|
||||
"type": "liberapay"
|
||||
},
|
||||
{
|
||||
"url": "https://opencollective.com/stichoza",
|
||||
"type": "open_collective"
|
||||
},
|
||||
{
|
||||
"url": "https://www.patreon.com/stichoza",
|
||||
"type": "patreon"
|
||||
}
|
||||
],
|
||||
"time": "2023-08-04T01:11:03+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/console",
|
||||
"version": "v6.3.4",
|
||||
|
@ -70,7 +70,7 @@ return [
|
||||
|
|
||||
*/
|
||||
|
||||
'timezone' => 'UTC',
|
||||
'timezone' => 'Asia/Jakarta',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
@ -27,18 +27,16 @@ return new class extends Migration
|
||||
$table->string('signature_key')->nullable();
|
||||
$table->string('token');
|
||||
$table->string('metode_pembayaran')->nullable();
|
||||
$table->string('acquire')->nullable();
|
||||
$table->string('issuer')->nullable();
|
||||
$table->char('currency',3)->nullable();
|
||||
$table->string('fraud_status')->nullable();
|
||||
$table->string('merchant_id')->nullable();
|
||||
$table->string('status_code')->nullable();
|
||||
$table->string('tipe_transaction')->nullable();
|
||||
$table->string('status_message')->nullable();
|
||||
$table->enum('status',['settlement','capture','pending','cancel','refund','expire','failure','progress','failed','sending','sended','finished'])->default('pending'); // transaction_status
|
||||
$table->timestamp('batas_pembayaran');
|
||||
$table->timestamp('batas_pengiriman_barang_awal');
|
||||
$table->timestamp('batas_pengiriman_barang_akhir');
|
||||
$table->timestamp('tanggal_pembayaran')->nullable();
|
||||
$table->timestamp('tanggal_transaksi')->nullable();
|
||||
$table->timestamps();
|
||||
$table->foreign('pembeli')->on('users')->references('email');
|
||||
$table->foreign('penjual')->on('users')->references('email');
|
||||
|
@ -246,7 +246,7 @@ select.form-control:not([size]):not([multiple]),
|
||||
}
|
||||
|
||||
textarea.form-control {
|
||||
height: 64px !important;
|
||||
min-height: 200px !important;
|
||||
}
|
||||
|
||||
.custom-control {
|
||||
|
@ -52,6 +52,6 @@ $("#table-2").dataTable({
|
||||
|
||||
// Transaksi pembeli
|
||||
$("#table-3").dataTable({
|
||||
columnDefs: [{ sortable: false, targets: [5] }],
|
||||
columnDefs: [{ sortable: false, targets: [7] }],
|
||||
searchable: true,
|
||||
});
|
||||
|
@ -55,8 +55,8 @@
|
||||
<link rel="stylesheet" href="{{ asset('assets/css/style.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('assets/css/components.css') }}">
|
||||
<!-- Start GA -->
|
||||
{{-- <script async src="https://www.googletagmanager.com/gtag/js?id=UA-94034622-3"></script> --}}
|
||||
{{-- <script>
|
||||
{{-- <script async src="https://www.googletagmanager.com/gtag/js?id=UA-94034622-3"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
|
||||
function gtag() {
|
||||
|
@ -24,7 +24,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mt-sm-4">
|
||||
<div class="col-12 col-md-12 col-lg-5">
|
||||
<div class="col-sm-12 col-md-12 col-lg-5">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="activities">
|
||||
@ -35,11 +35,11 @@
|
||||
class="activity-icon {{ $tracking->background }} text-white shadow-primary">
|
||||
<i class="{{ $tracking->judul }}" style="font-size: 30px;"
|
||||
aria-hidden="true"></i>
|
||||
<!-- Mengganti ikon dengan ikon clipboard-list dan mengatur ukuran ikon -->
|
||||
</div>
|
||||
<div class="activity-detail">
|
||||
<div class="mb-2">
|
||||
<span class="text-job text-primary">{{ $tracking->created_at }}</span>
|
||||
<span
|
||||
class="text-job text-primary">{{ date('F j, Y, g:i:s a', strtotime($tracking->created_at)) }}</span>
|
||||
</div>
|
||||
<p>{{ $tracking->deskripsi }}</p>
|
||||
</div>
|
||||
@ -48,7 +48,6 @@
|
||||
<div class="activity">
|
||||
<div class="activity-icon bg-primary text-white shadow-primary">
|
||||
<i class="fas fa-ban" style="font-size: 36px;"></i>
|
||||
<!-- Mengganti ikon dengan ikon clipboard-list dan mengatur ukuran ikon -->
|
||||
</div>
|
||||
<div class="activity-detail">
|
||||
<div class="mb-2">
|
||||
@ -63,120 +62,224 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section-body">
|
||||
<div class="invoice">
|
||||
<div class="invoice-print">
|
||||
<h2 style="margin-bottom: -1em">REKBER</h2>
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<hr>
|
||||
<div class="section-title">Keterangan</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<address>
|
||||
<strong>Pembeli:</strong><br>
|
||||
{{ ucwords(strtolower($transaction->data_pembeli->nama_depan . ' ' . $transaction->data_pembeli->nama_belakang)) }}<br>
|
||||
{{ ucwords(strtolower($transaction->data_pembeli->alamat)) }}<br>
|
||||
{{ ucwords(strtolower($transaction->data_pembeli->getVillageName() . ', ' . $transaction->data_pembeli->getDistrictName())) }}<br>
|
||||
{{ ucwords(strtolower($transaction->data_pembeli->getCityName() . ', ' . $transaction->data_pembeli->getProvinceName())) }}
|
||||
</address>
|
||||
<div class="col-lg-7 col-sm-12">
|
||||
<div class="section-body">
|
||||
<div class="invoice">
|
||||
<div class="invoice-print">
|
||||
<h2 style="margin-bottom: -1em">REKBER</h2>
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<hr>
|
||||
<div class="section-title">Keterangan</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<address>
|
||||
<strong>Pembeli:</strong><br>
|
||||
{{ ucwords(strtolower($transaction->data_pembeli->nama_depan . ' ' . $transaction->data_pembeli->nama_belakang)) }}<br>
|
||||
{{ ucwords(strtolower($transaction->data_pembeli->alamat)) }}<br>
|
||||
{{ ucwords(strtolower($transaction->data_pembeli->getVillageName() . ', ' . $transaction->data_pembeli->getDistrictName())) }}<br>
|
||||
{{ ucwords(strtolower($transaction->data_pembeli->getCityName() . ', ' . $transaction->data_pembeli->getProvinceName())) }}
|
||||
</address>
|
||||
</div>
|
||||
<div class="col-md-6 text-md-right">
|
||||
<address>
|
||||
<strong>Penjual:</strong><br>
|
||||
{{ ucwords(strtolower($transaction->data_penjual->nama_depan . ' ' . $transaction->data_penjual->nama_belakang)) }}<br>
|
||||
{{ ucwords(strtolower($transaction->data_penjual->alamat)) }}<br>
|
||||
{{ ucwords(strtolower($transaction->data_penjual->getVillageName() . ', ' . $transaction->data_penjual->getDistrictName())) }}<br>
|
||||
{{ ucwords(strtolower($transaction->data_penjual->getCityName() . ', ' . $transaction->data_penjual->getProvinceName())) }}
|
||||
</address>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 text-md-right">
|
||||
<address>
|
||||
<strong>Penjual:</strong><br>
|
||||
{{ ucwords(strtolower($transaction->data_penjual->nama_depan . ' ' . $transaction->data_penjual->nama_belakang)) }}<br>
|
||||
{{ ucwords(strtolower($transaction->data_penjual->alamat)) }}<br>
|
||||
{{ ucwords(strtolower($transaction->data_penjual->getVillageName() . ', ' . $transaction->data_penjual->getDistrictName())) }}<br>
|
||||
{{ ucwords(strtolower($transaction->data_penjual->getCityName() . ', ' . $transaction->data_penjual->getProvinceName())) }}
|
||||
</address>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12 text-md-left">
|
||||
<address>
|
||||
<strong>Tanggal Transaksi:</strong><br>
|
||||
{{ $transaction->created_at }}<br><br>
|
||||
</address>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<address>
|
||||
<strong>Metode Pembayaran:</strong><br>
|
||||
Visa ending **** 4242<br>
|
||||
npannisa@gmail.com
|
||||
</address>
|
||||
</div>
|
||||
<div class="col-md-6 text-md-right">
|
||||
<address>
|
||||
<strong>Tanggal Pembayaran:</strong><br>
|
||||
{{ $transaction->updated_at }}<br><br>
|
||||
{{-- {{$transaction->tanggal_pembayaran}}<br><br> --}}
|
||||
</address>
|
||||
<div class="row">
|
||||
<div class="col-md-12 text-md-left">
|
||||
<address>
|
||||
<strong>Tanggal Transaksi:</strong><br>
|
||||
{{ $transaction->created_at }}<br><br>
|
||||
</address>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<address>
|
||||
<strong>Metode Pembayaran:</strong><br>
|
||||
Visa ending **** 4242<br>
|
||||
npannisa@gmail.com
|
||||
</address>
|
||||
</div>
|
||||
<div class="col-md-6 text-md-right">
|
||||
<address>
|
||||
<strong>Tanggal Pembayaran:</strong><br>
|
||||
{{ $transaction->updated_at }}<br><br>
|
||||
{{-- {{$transaction->tanggal_pembayaran}}<br><br> --}}
|
||||
</address>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mt-4">
|
||||
<div class="col-md-12">
|
||||
<div class="section-title">Rangkuman Transaksi</div>
|
||||
<p class="section-lead">Semua barang yang didaftarkan dalam transaksi.</p>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-hover table-md">
|
||||
<tr>
|
||||
<th data-width="40">#</th>
|
||||
<th>Nama Barang</th>
|
||||
<th class="text-center">Harga</th>
|
||||
<th class="text-center">Jumlah</th>
|
||||
<th class="text-right">Total</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1</td>
|
||||
<td>{{ $transaction->nama_barang }}</td>
|
||||
<td class="text-center">{{ $transaction->harga_barang }}</td>
|
||||
<td class="text-center">{{ $transaction->jumlah_barang }}</td>
|
||||
<td class="text-right">
|
||||
{{ $transaction->harga_barang * $transaction->jumlah_barang }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="row mt-4">
|
||||
<div class="col-lg-8">
|
||||
<div class="section-title">Payment Method</div>
|
||||
<p class="section-lead">{{$transaction->metode_pembayaran}}</p>
|
||||
<div class="images">
|
||||
<img src="{{ asset('assets/img/visa.png') }}" alt="visa">
|
||||
<img src="{{ asset('assets/img/jcb.png') }}" alt="jcb">
|
||||
<img src="{{ asset('assets/img/mastercard.png') }}" alt="mastercard">
|
||||
<img src="{{ asset('assets/img/paypal.png') }}" alt="paypal">
|
||||
</div>
|
||||
<div class="row mt-4">
|
||||
<div class="col-md-12">
|
||||
<div class="section-title">Rangkuman Transaksi</div>
|
||||
<p class="section-lead">Semua barang yang didaftarkan dalam transaksi.</p>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped table-hover table-md">
|
||||
<tr>
|
||||
<th data-width="40">#</th>
|
||||
<th>Nama Barang</th>
|
||||
<th class="text-center">Harga</th>
|
||||
<th class="text-center">Jumlah</th>
|
||||
<th class="text-right">Total</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1</td>
|
||||
<td>{{ $transaction->nama_barang }}</td>
|
||||
<td class="text-center">{{ $transaction->harga_barang }}</td>
|
||||
<td class="text-center">{{ $transaction->jumlah_barang }}</td>
|
||||
<td class="text-right">
|
||||
{{ $transaction->harga_barang * $transaction->jumlah_barang }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="col-lg-4 text-right">
|
||||
<div class="invoice-detail-item">
|
||||
<div class="invoice-detail-name">Subtotal</div>
|
||||
<div class="invoice-detail-value">Rp {{ number_format($transaction->total_harga, 2, ',', '.') }}</div>
|
||||
</div>
|
||||
<div class="invoice-detail-item">
|
||||
<div class="invoice-detail-name">Biaya Admin</div>
|
||||
<div class="invoice-detail-value">
|
||||
Rp {{ number_format($transaction->total_keuntungan, 2, ',', '.') }}
|
||||
<div class="row mt-4">
|
||||
<div class="col-lg-8">
|
||||
<div class="section-title">Payment Method</div>
|
||||
<p class="section-lead">{{ $transaction->metode_pembayaran }}</p>
|
||||
<div class="images">
|
||||
<img src="{{ asset('assets/img/visa.png') }}" alt="visa">
|
||||
<img src="{{ asset('assets/img/jcb.png') }}" alt="jcb">
|
||||
<img src="{{ asset('assets/img/mastercard.png') }}" alt="mastercard">
|
||||
<img src="{{ asset('assets/img/paypal.png') }}" alt="paypal">
|
||||
</div>
|
||||
</div>
|
||||
<hr class="mt-2 mb-2">
|
||||
<div class="invoice-detail-item">
|
||||
<div class="invoice-detail-name">Total</div>
|
||||
<div class="invoice-detail-value invoice-detail-value-lg">
|
||||
Rp {{ number_format($transaction->total_bayar, 2, ',', '.') }}</div>
|
||||
<div class="col-lg-4 text-right">
|
||||
<div class="invoice-detail-item">
|
||||
<div class="invoice-detail-name">Subtotal</div>
|
||||
<div class="invoice-detail-value">Rp
|
||||
{{ number_format($transaction->total_harga, 2, ',', '.') }}</div>
|
||||
</div>
|
||||
<div class="invoice-detail-item">
|
||||
<div class="invoice-detail-name">Biaya Admin</div>
|
||||
<div class="invoice-detail-value">
|
||||
Rp {{ number_format($transaction->total_keuntungan, 2, ',', '.') }}
|
||||
</div>
|
||||
</div>
|
||||
<hr class="mt-2 mb-2">
|
||||
<div class="invoice-detail-item">
|
||||
<div class="invoice-detail-name">Total</div>
|
||||
<div class="invoice-detail-value invoice-detail-value-lg">
|
||||
Rp {{ number_format($transaction->total_bayar, 2, ',', '.') }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
{{-- <div class="text-right">
|
||||
@if ($transaction->metode_pembayaran == "qris")
|
||||
|
||||
<button class="btn btn-danger" style="min-width: 100px; min-height: 60px; font-size: 16px" id="bayar">Bayar</button>
|
||||
@endif
|
||||
<button class="btn btn-outline-danger" style="min-width: 80px; min-height: 60px; font-size: 12px">Batal {{$transaction->metode_pembayaran}}</button>
|
||||
</div> --}}
|
||||
</div>
|
||||
<hr>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
{{-- <script type="text/javascript" src="https://app.sandbox.midtrans.com/snap/snap.js"
|
||||
data-client-key="SB-Mid-client-rk6kY5XbPLChy3Lg"></script>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
// Bayar
|
||||
$('#bayar').on('click', function() {
|
||||
const id = $(this).data('id');
|
||||
const token = $(this).data('token');
|
||||
const csrfToken = $('meta[name="csrf-token"]').attr('content');
|
||||
|
||||
snap.pay(token, {
|
||||
onSuccess: function(result) {
|
||||
const formData = new FormData();
|
||||
formData.append('status', result.transaction_status);
|
||||
formData.append('tanggal_pembayaran', result.transaction_time);
|
||||
formData.append('metode_pembayaran', result.payment_type);
|
||||
|
||||
$.ajaxSetup({
|
||||
headers: {
|
||||
'X-CSRF-TOKEN': csrfToken
|
||||
}
|
||||
});
|
||||
$.ajax({
|
||||
url: "{{ route('payment-transaction.pembeli', ':id') }}"
|
||||
.replace(':id', id),
|
||||
type: "POST",
|
||||
data: formData,
|
||||
contentType: false,
|
||||
processData: false,
|
||||
success: function(response) {
|
||||
Swal.fire({
|
||||
title: response.status ? 'Berhasil' :
|
||||
'Gagal',
|
||||
text: response.message,
|
||||
icon: response.status ? 'success' :
|
||||
'error',
|
||||
confirmButtonText: 'OK'
|
||||
});
|
||||
console.log(response);
|
||||
},
|
||||
error: function(error) {
|
||||
Swal.fire({
|
||||
title: 'Gagal',
|
||||
text: 'Gagal mengupdate pembayaran ke database',
|
||||
icon: 'error'
|
||||
});
|
||||
}
|
||||
});
|
||||
console.log(result);
|
||||
},
|
||||
onPending: function(result) {
|
||||
Swal.fire({
|
||||
title: 'Ditunda',
|
||||
text: 'Pemabayaran ditunda. Silahkan lakukan pembayaran nanti',
|
||||
icon: 'info'
|
||||
});
|
||||
console.log(result);
|
||||
},
|
||||
onError: function(result) {
|
||||
Swal.fire({
|
||||
title: 'Gagal',
|
||||
text: 'Terjadi kesalahan karena ' + result,
|
||||
icon: 'error'
|
||||
});
|
||||
console.log(result);
|
||||
},
|
||||
onClose: function(error) {
|
||||
Swal.fire({
|
||||
title: 'Ditunda',
|
||||
text: 'Kamu menutup halaman pembayaran. Silahkan lakukan pembayaran nanti',
|
||||
icon: 'info'
|
||||
});
|
||||
console.log(error);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$('table-3').on('click', '#orderHasNotReceived', function() {
|
||||
const id = $(this).data('id');
|
||||
console.log(id);
|
||||
});
|
||||
|
||||
$('#table-3').on('click', '#orderHasReceived', function() {
|
||||
const id = $(this).data('id');
|
||||
console.log(id);
|
||||
});
|
||||
|
||||
$('#table-3').on('click', '#refund', function() {
|
||||
const id = $(this).data('id');
|
||||
console.log(id);
|
||||
});
|
||||
});
|
||||
</script> --}}
|
||||
@endsection
|
||||
|
@ -5,9 +5,8 @@
|
||||
<div class="section-header">
|
||||
<div class="section-header-breadcrumb">
|
||||
<div class="breadcrumb-item active"><a href="#">Dashboard</a></div>
|
||||
<div class="breadcrumb-item"><a href="#"> Transaction</a></div>
|
||||
<div class="breadcrumb-item">Manajemen Kontak</div>
|
||||
<div class="breadcrumb-item">Halaman Refund</div>
|
||||
<div class="breadcrumb-item"><a href="{{ route('user-transaction.index.pembeli') }}">Transaksi Pembeli</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -44,15 +43,18 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($transactions as $transaction)
|
||||
@forelse ($transactions as $transaction)
|
||||
<tr>
|
||||
<td>{{ $loop->iteration }}</td>
|
||||
<td>{{ $transaction->id }}</td>
|
||||
<td>{{ $transaction->data_penjual->nama_depan.' '.$transaction->data_penjual->nama_belakang }}</td>
|
||||
<td>Rp {{number_format($transaction->total_bayar,2, ',', '.') }}</td>
|
||||
<td>{{ $transaction->data_penjual->nama_depan . ' ' . $transaction->data_penjual->nama_belakang }}
|
||||
</td>
|
||||
<td>Rp {{ number_format($transaction->total_bayar, 2, ',', '.') }}</td>
|
||||
<td>{{ $transaction->created_at }}</td>
|
||||
<td>{{ $transaction->updated_at }}</td>
|
||||
<td>{{ ($transaction->status == 'pending' ? 'Menunggu Pembayaran' : 'Selesai') }}</td>
|
||||
<td><a href="#" data-toggle="modal"
|
||||
data-target="#modalKeteranganStatus">{{ ucwords($transaction->status) }}</a>
|
||||
</td>
|
||||
<td>
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-primary dropdown-toggle"
|
||||
@ -62,29 +64,38 @@
|
||||
</button>
|
||||
|
||||
<ul class="dropdown-menu">
|
||||
<li><a class="dropdown-item" href="{{route('user-transaction.detail.pembeli',$transaction->id)}}">Detail</a></li>
|
||||
{{-- @if ($transaction->status == 'Pending')
|
||||
|
||||
@endif --}}
|
||||
<li><a class="dropdown-item"
|
||||
href="/refund-transaction">Refund</a></li>
|
||||
{{-- <li><a class="dropdown-item"
|
||||
href="/invoice-transaction">Bayar</a></li> --}}
|
||||
<li><a class="dropdown-item" id="bayar"
|
||||
data-id="{{ $transaction->id }}"
|
||||
data-token="{{$transaction->token}}">Bayar</a>
|
||||
{{-- data-id="{{ $transaction }}">Bayar</a> --}}
|
||||
href="{{ route('user-transaction.detail.pembeli', $transaction->id) }}">Detail</a>
|
||||
</li>
|
||||
|
||||
</li>
|
||||
<li><a class="dropdown-item" id="selesai"
|
||||
data-id="{{ $transaction->id }}">Selesai</a>
|
||||
{{-- data-id="{{ $transaction }}">Selesai</a> --}}
|
||||
</li>
|
||||
@if ($transaction->status == 'sended')
|
||||
<li><a class="dropdown-item" data-toggle="modal"
|
||||
data-target="#modalFinish" id="tracking"
|
||||
data-id="{{ $transaction->id }}"
|
||||
href="#">Selesaikan</a>
|
||||
</li>
|
||||
@endif
|
||||
|
||||
@if ($transaction->status == 'pending')
|
||||
<li><a class="dropdown-item" id="bayar"
|
||||
data-id="{{ $transaction->id }}"
|
||||
data-token="{{ $transaction->token }}"
|
||||
href="#">Bayar</a>
|
||||
</li>
|
||||
@endif
|
||||
|
||||
@if (!$transaction->transactionDescription->isEmpty())
|
||||
<li><a class="dropdown-item" data-toggle="modal"
|
||||
data-target="#modalTracking"
|
||||
data-transaction="{{ $transaction->transactionDescription }}">Tracking</a>
|
||||
</li>
|
||||
@endif
|
||||
</ul>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@empty
|
||||
@endforelse
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@ -94,8 +105,10 @@
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
@extends('user.transaction.pembeli.modal-bayar-transaction')
|
||||
@extends('user.transaction.pembeli.modal-end-transaction')
|
||||
@extends('user.transaction.pembeli.modal-tracking')
|
||||
@extends('user.transaction.pembeli.modal-keterangan-status')
|
||||
|
||||
<script type="text/javascript" src="https://app.sandbox.midtrans.com/snap/snap.js"
|
||||
data-client-key="SB-Mid-client-rk6kY5XbPLChy3Lg"></script>
|
||||
<script>
|
||||
@ -103,7 +116,7 @@
|
||||
// Bayar
|
||||
$('#table-3').on('click', '#bayar', function() {
|
||||
const id = $(this).data('id');
|
||||
const token =$(this).data('token');
|
||||
const token = $(this).data('token');
|
||||
const csrfToken = $('meta[name="csrf-token"]').attr('content');
|
||||
|
||||
snap.pay(token, {
|
||||
@ -114,25 +127,29 @@
|
||||
formData.append('metode_pembayaran', result.payment_type);
|
||||
|
||||
$.ajaxSetup({
|
||||
headers:{
|
||||
headers: {
|
||||
'X-CSRF-TOKEN': csrfToken
|
||||
}
|
||||
});
|
||||
$.ajax({
|
||||
url:"{{route('payment-transaction.pembeli',':id')}}".replace(':id',id),
|
||||
type:"POST",
|
||||
url: "{{ route('payment-transaction.pembeli', ':id') }}"
|
||||
.replace(':id', id),
|
||||
type: "POST",
|
||||
data: formData,
|
||||
contentType: false,
|
||||
processData: false,
|
||||
success:function(response){
|
||||
success: function(response) {
|
||||
Swal.fire({
|
||||
title: response.status ? 'Berhasil' : 'Gagal',
|
||||
title: response.status ? 'Berhasil' :
|
||||
'Gagal',
|
||||
text: response.message,
|
||||
icon: response.status ? 'success' : 'error',
|
||||
icon: response.status ? 'success' :
|
||||
'error',
|
||||
confirmButtonText: 'OK'
|
||||
});
|
||||
console.log(response);
|
||||
},error:function(error){
|
||||
},
|
||||
error: function(error) {
|
||||
Swal.fire({
|
||||
title: 'Gagal',
|
||||
text: 'Gagal mengupdate pembayaran ke database',
|
||||
@ -143,40 +160,119 @@
|
||||
console.log(result);
|
||||
},
|
||||
onPending: function(result) {
|
||||
/* You may add your own implementation here */
|
||||
// alert("wating your payment!");
|
||||
Swal.fire({
|
||||
title: 'Ditunda',
|
||||
text: 'Pemabayaran ditunda. Silahkan tunggu sebentar ' + result,
|
||||
text: 'Pemabayaran ditunda. Silahkan lakukan pembayaran nanti',
|
||||
icon: 'info'
|
||||
});
|
||||
console.log(result);
|
||||
},
|
||||
onError: function(result) {
|
||||
/* You may add your own implementation here */
|
||||
Swal.fire({
|
||||
title : 'Gagal',
|
||||
text: 'Terjadi kesalahan ' + result,
|
||||
title: 'Gagal',
|
||||
text: 'Terjadi kesalahan karena ' + result,
|
||||
icon: 'error'
|
||||
});
|
||||
console.log(result);
|
||||
},
|
||||
onClose: function(error) {
|
||||
/* You may add your own implementation here */
|
||||
Swal.fire({
|
||||
title: 'Ditunda',
|
||||
text: 'Kamu menutup halaman pembayaran. Silahkan masuk lagi untuk melakukan pembayaran',
|
||||
icon: 'warning'
|
||||
text: 'Kamu menutup halaman pembayaran. Silahkan lakukan pembayaran nanti',
|
||||
icon: 'info'
|
||||
});
|
||||
console.log(error);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
$('#table-3').on('click', '#selesai', function() {
|
||||
const id = $(this).data('id');
|
||||
{{-- Modal --}}
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('#modalTracking').on('show.bs.modal', function(event) {
|
||||
var triggerLink = $(event.relatedTarget); // Tombol yang memicu modal
|
||||
var transactionDatas = triggerLink.data('transaction'); // Ambil data dari tombol
|
||||
|
||||
// Buat variabel untuk menyimpan HTML aktivitas
|
||||
transactionDatas = transactionDatas.reverse();
|
||||
var activitiesHtml = '';
|
||||
|
||||
// Periksa apakah ada data transaksi
|
||||
if (transactionDatas && transactionDatas.length > 0) {
|
||||
// Iterasi melalui data transaksi dan tambahkan ke activitiesHtml
|
||||
$.each(transactionDatas, function(index, transactionDescription) {
|
||||
activitiesHtml += `
|
||||
<div class="activity">
|
||||
<div class="activity-icon ${transactionDescription.background} text-white shadow-primary">
|
||||
<i class="${transactionDescription.judul}" style="font-size: 36px;"></i>
|
||||
</div>
|
||||
<div class="activity-detail">
|
||||
<div class="mb-2">
|
||||
<span class="text-job text-primary">${new Date(transactionDescription.created_at).toLocaleString()}</span>
|
||||
</div>
|
||||
<p>${transactionDescription.deskripsi}</p>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
});
|
||||
} else {
|
||||
// Tidak ada data transaksi, tambahkan pesan kosong
|
||||
activitiesHtml += `
|
||||
<div class="activity">
|
||||
<div class="activity-icon bg-primary text-white shadow-primary">
|
||||
<i class="fas fa-ban" style="font-size: 36px;"></i>
|
||||
</div>
|
||||
<div class="activity-detail">
|
||||
<div class="mb-2">
|
||||
<span class="text-job text-primary">--, --:--:-- --</span>
|
||||
</div>
|
||||
<p>Kosong</p>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
}
|
||||
|
||||
// Menampilkan data dalam modal
|
||||
var modal = $(this);
|
||||
modal.find('.activities').html(activitiesHtml);
|
||||
});
|
||||
|
||||
$('#modalFinish').on('show.bs.modal', function(event) {
|
||||
var triggerLink = $(event.relatedTarget);
|
||||
var id = triggerLink.data('id');
|
||||
var activitiesHtml = '';
|
||||
|
||||
var modal = $(this);
|
||||
activitiesHtml += `
|
||||
<a href="#" type="button" class="btn btn-warning" data-id="${id}" id="orderHasNotReceived">Pesanan Belum diterima</a>
|
||||
<a href="#" type="button" class="btn btn-primary" data-id="${id}" id="orderHasReceived">Pesanan diterima</a>
|
||||
<a href="#" type="button" class="btn btn-danger" data-id="${id}" id="refund">Refund</a>
|
||||
`;
|
||||
modal.find('.modal-footer').html(activitiesHtml);
|
||||
console.log(id);
|
||||
});
|
||||
|
||||
//pesanan belum datang
|
||||
$('#modalFinish').on('click', '#orderHasNotReceived', function() {
|
||||
var id = $(this).data('id');
|
||||
console.log(id);
|
||||
});
|
||||
|
||||
//selesai
|
||||
$('#modalFinish').on('click', '#orderHasReceived', function() {
|
||||
var id = $(this).data('id');
|
||||
console.log(id);
|
||||
});
|
||||
|
||||
// refund
|
||||
$('#modalFinish').on('click', '#refund', function() {
|
||||
var id = $(this).data('id');
|
||||
console.log(id);
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
@endsection
|
||||
|
@ -1,33 +0,0 @@
|
||||
<div class="modal fade" id="bayar" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1"
|
||||
aria-labelledby="staticBackdropLabel" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header d-flex justify-content-center">
|
||||
<h3 class="modal-title fs-5" id="staticBackdropLabel">Lakukan Pembayaran</h3>
|
||||
<a type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></a>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form action="#" method="post">
|
||||
<div class="mb-3">
|
||||
<label for="nominal" class="form-label">Nominal</label>
|
||||
<input type="text" class="form-control" name="nominal" id="nominal" required>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="tujuan" class="form-label">Tujuan</label>
|
||||
<input type="text" class="form-control" name="tujuan" id="tujuan" required>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="textare" class="form-label">Deskripsi</label>
|
||||
<textarea class="form-control" id="deskripsi" rows="3"></textarea>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer">
|
||||
<a href="/invoice-transaction" type="button" class="btn btn-primary">Selesai</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -1,4 +1,4 @@
|
||||
<div class="modal fade" id="selesai" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1"
|
||||
<div class="modal fade" id="modalFinish" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1"
|
||||
aria-labelledby="staticBackdropLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered">
|
||||
<!-- Menggunakan class modal-dialog-centered untuk memusatkan modal -->
|
||||
@ -8,8 +8,7 @@
|
||||
<a type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></a>
|
||||
</div>
|
||||
<div class="modal-footer d-flex justify-content-center">
|
||||
<a href="/pembeli" type="button" class="btn btn-danger">Pesanan Belum diterima</a>
|
||||
<a href="/pembeli" type="button" class="btn btn-primary">Pesanan diterima</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -0,0 +1,72 @@
|
||||
<div class="modal fade" id="modalKeteranganStatus" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1"
|
||||
aria-labelledby="staticBackdropLabel" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header d-flex justify-content-center">
|
||||
<h3 class="modal-title fs-5" id="staticBackdropLabel">Keterangan Status Transaksi</h3>
|
||||
<a type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></a>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Pending</label>
|
||||
<p class="form-control">asdas</p>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Capture</label>
|
||||
<p class="form-control">asdas</p>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Settlement</label>
|
||||
<p class="form-control">asdas</p>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Cancel</label>
|
||||
<p class="form-control">asdas</p>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Expire</label>
|
||||
<p class="form-control">asdas</p>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Progress</label>
|
||||
<p class="form-control">asdas</p>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Sending</label>
|
||||
<p class="form-control">asdas</p>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Sended</label>
|
||||
<p class="form-control">asdas</p>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Finished</label>
|
||||
<p class="form-control">asdas</p>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Failure</label>
|
||||
<p class="form-control">asdas</p>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Failed</label>
|
||||
<p class="form-control">asdas</p>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Refund</label>
|
||||
<p class="form-control">asdas</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -0,0 +1,25 @@
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="modalTracking" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle"
|
||||
aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h2 class="modal-title" id="exampleModalLongTitle">Tracking Information</h2>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="section-body">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="activities">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -99,7 +99,7 @@
|
||||
|
||||
<div class="form-row">
|
||||
<label style="margin-right: 200px;" id="biayaAdmin" data-admin="">Biaya Admin
|
||||
(0.1%)</label>
|
||||
({{$persentase_keuntungan}}%)</label>
|
||||
<div style="display: inline-block;" id="totalBiayaAdmin">Rp 0,00</div>
|
||||
</div>
|
||||
|
||||
@ -127,7 +127,7 @@
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
let totalHarga = 0;
|
||||
let biayaAdmin = 0.1;
|
||||
let biayaAdmin = {{$persentase_keuntungan}};
|
||||
let totalBiayaAdmin = 0;
|
||||
let totalBayar = 0;
|
||||
|
||||
@ -295,7 +295,7 @@
|
||||
let hargaBarang = document.querySelector('[name="harga_barang"]').value;
|
||||
let satuanBarang = document.querySelector('[name="satuan_barang"]').value;
|
||||
let jumlahBarang = document.querySelector('[name="jumlah_barang"]').value;
|
||||
let deskripsi = document.querySelector('[name="deskripsi"]').value;
|
||||
let deskripsi = document.querySelector('textarea[name="deskripsi"]').value;
|
||||
|
||||
let emptyInput = [];
|
||||
|
||||
@ -353,7 +353,7 @@
|
||||
formData.append('jumlah_barang', jumlahBarang);
|
||||
// formData.append('batas_pengiriman', batasPengiriman);
|
||||
formData.append('deskripsi', deskripsi);
|
||||
formData.append('persentase_keuntungan', 0.1);
|
||||
formData.append('persentase_keuntungan', biayaAdmin);
|
||||
formData.append('total_keuntungan', totalBiayaAdmin);
|
||||
formData.append('total_harga', totalHarga);
|
||||
formData.append('total_bayar', totalBayar);
|
||||
|
@ -26,30 +26,32 @@
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped" id="table-1">
|
||||
<table class="table table-striped" id="table-3">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>No</th>
|
||||
<th>Order ID</th>
|
||||
<th>Pembeli</th>
|
||||
<th>Total</th>
|
||||
<th>Batas Pengiriman Barang</th>
|
||||
<th>Tanggal Pembuatan</th>
|
||||
<th>Tanggal Update</th>
|
||||
<th>Status</th>
|
||||
<th>Action</th>
|
||||
<th>Aksi</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($transactions as $transaction)
|
||||
@forelse ($transactions as $transaction)
|
||||
<tr>
|
||||
<td>{{ $loop->iteration }}</td>
|
||||
<td class="font-weight-600">{{ $transaction->id }}</td>
|
||||
<td class="font-weight-600">
|
||||
{{ ucwords(strtolower($transaction->data_pembeli->nama_depan . ' ' . $transaction->data_pembeli->nama_belakang)) }}
|
||||
<td>{{ $transaction->id }}</td>
|
||||
<td>{{ $transaction->data_pembeli->nama_depan . ' ' . $transaction->data_pembeli->nama_belakang }}
|
||||
</td>
|
||||
<td>Rp {{ number_format($transaction->total_bayar, 2, ',', '.') }}</td>
|
||||
<td>{{ $transaction->created_at }}</td>
|
||||
<td>{{ $transaction->updated_at }}</td>
|
||||
<td><a href="#" data-toggle="modal"
|
||||
data-target="#modalKeteranganStatus">{{ ucwords($transaction->status) }}</a>
|
||||
</td>
|
||||
<td class="font-weight-600">{{ $transaction->total_bayar }}</td>
|
||||
{{-- <td class="font-weight-600">{{ $transaction->batas_pengiriman_barang }}</td> --}}
|
||||
<td>{{ $transaction->batas_pengiriman_barang }}</td>
|
||||
<td class="font-weight-600">{{ $transaction->status }}</td>
|
||||
<td>
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-primary dropdown-toggle"
|
||||
@ -62,13 +64,32 @@
|
||||
href="{{ route('user-transaction.detail.pembeli', $transaction->id) }}">Detail</a>
|
||||
</li>
|
||||
<li><a class="dropdown-item" data-toggle="modal"
|
||||
data-target="#tracking">Tracking</a></li>
|
||||
{{-- <li><a class="dropdown-item" href="/tracking">Tracking</a></li> --}}
|
||||
data-target="#tracking" id="tracking"
|
||||
data-tracking="{{ $transaction->transactionDescription }}"
|
||||
href="#">Tracking</a>
|
||||
</li>
|
||||
{{-- Setelah dibayar --}}
|
||||
@if ($transaction->status == 'settlement')
|
||||
<li><a class="dropdown-item" href="#">Process</a>
|
||||
</li>
|
||||
@endif
|
||||
{{-- Pengiriman barang --}}
|
||||
@if ($transaction->status == 'progress')
|
||||
<li><a class="dropdown-item" href="#">Kirim
|
||||
Barang</a>
|
||||
</li>
|
||||
@endif
|
||||
@if ($transaction->status == 'sending')
|
||||
<li><a class="dropdown-item" href="#">Barang sudah
|
||||
sampai</a>
|
||||
</li>
|
||||
@endif
|
||||
</ul>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@empty
|
||||
@endforelse
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@ -80,4 +101,13 @@
|
||||
</section>
|
||||
</div>
|
||||
@extends('user.transaction.penjual.modal-tracking')
|
||||
@extends('user.transaction.penjual.modal-keterangan-status')
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('#table-3').on('click', '#tracking', function() {
|
||||
const transactionTracking = $(this).data('tracking');
|
||||
console.log(transactionTracking);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endsection
|
||||
|
@ -0,0 +1,72 @@
|
||||
<div class="modal fade" id="modalKeteranganStatus" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1"
|
||||
aria-labelledby="staticBackdropLabel" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header d-flex justify-content-center">
|
||||
<h3 class="modal-title fs-5" id="staticBackdropLabel">Keterangan Status Transaksi</h3>
|
||||
<a type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></a>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Pending</label>
|
||||
<p class="form-control">asdas</p>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Capture</label>
|
||||
<p class="form-control">asdas</p>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Settlement</label>
|
||||
<p class="form-control">asdas</p>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Cancel</label>
|
||||
<p class="form-control">asdas</p>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Expire</label>
|
||||
<p class="form-control">asdas</p>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Progress</label>
|
||||
<p class="form-control">asdas</p>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Sending</label>
|
||||
<p class="form-control">asdas</p>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Sended</label>
|
||||
<p class="form-control">asdas</p>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Finished</label>
|
||||
<p class="form-control">asdas</p>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Failure</label>
|
||||
<p class="form-control">asdas</p>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Failed</label>
|
||||
<p class="form-control">asdas</p>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Refund</label>
|
||||
<p class="form-control">asdas</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -14,103 +14,36 @@
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="activities">
|
||||
{{-- @forelse ($transaction->transactionDescription as $transactionDescription)
|
||||
<div class="activity">
|
||||
<div class="activity-icon bg-primary text-white shadow-primary">
|
||||
<i class="fas fa-clipboard-list" style="font-size: 36px;"></i>
|
||||
|
||||
<div class="activity-icon {{$transactionDescription->background}} text-white shadow-primary">
|
||||
<i class="{{$transactionDescription->judul}}" style="font-size: 36px;"></i>
|
||||
</div>
|
||||
<div class="activity-detail">
|
||||
<div class="mb-2">
|
||||
<span class="text-job text-primary">August 21, 2023, 8:30:15 am</span>
|
||||
<span class="text-job text-primary">{{date("F j, Y, g:i:s a", strtotime($transactionDescription->created_at))}}</span>
|
||||
</div>
|
||||
<p>User Created Trade</p>
|
||||
<p>{{$transactionDescription->deskripsi}}</p>
|
||||
</div>
|
||||
</div>
|
||||
@empty
|
||||
<div class="activity">
|
||||
<div class="activity-icon bg-primary text-white shadow-primary">
|
||||
<i class="fas fa-bell" style="font-size: 36px;"></i>
|
||||
|
||||
<i class="fas fa-ban" style="font-size: 36px;"></i>
|
||||
</div>
|
||||
<div class="activity-detail">
|
||||
<div class="mb-2">
|
||||
<span class="text-job text-primary">August 22, 2023, 8:30:15 am</span>
|
||||
<span class="text-job text-primary">--, --:--:-- --</span>
|
||||
</div>
|
||||
<p>System Notified Admin</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="activity">
|
||||
<div class="activity-icon bg-primary text-white shadow-primary">
|
||||
<i class="fas fa-check-circle" style="font-size: 36px;"></i>
|
||||
|
||||
</div>
|
||||
<div class="activity-detail">
|
||||
<div class="mb-2">
|
||||
<span class="text-job text-primary">August 23, 2023, 8:30:15 am</span>
|
||||
</div>
|
||||
<p>Admin Accepted Trade</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="activity">
|
||||
<div class="activity-icon bg-primary text-white shadow-primary">
|
||||
<i class="fas fa-trash-alt" style="font-size: 36px;"></i>
|
||||
|
||||
</div>
|
||||
<div class="activity-detail">
|
||||
<div class="mb-2">
|
||||
<span class="text-job text-primary">August 24, 2023, 8:30:15 am</span>
|
||||
</div>
|
||||
<p>Trade in system</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="activity">
|
||||
<div class="activity-icon bg-primary text-white shadow-primary">
|
||||
<i class="fas fa-clipboard-check" style="font-size: 36px;"></i>
|
||||
|
||||
</div>
|
||||
<div class="activity-detail">
|
||||
<div class="mb-2">
|
||||
<span class="text-job text-primary">August 24, 2023, 8:30:15 am</span>
|
||||
</div>
|
||||
<p>Transaction Success</p>
|
||||
<p>Kosong</p>
|
||||
</div>
|
||||
</div>
|
||||
@endforelse --}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="#" class="btn btn-primary mx-1">Back</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
{{-- @extends('layout.main')
|
||||
@section('content')
|
||||
@foreach ($detail_transaction as $detail_transactions)
|
||||
<div class="main-content">
|
||||
<section class="section">
|
||||
<div class="tracking-container">
|
||||
<h2>Tracking Information</h2>
|
||||
<div class="tracking-info">
|
||||
<p>Tracking Number: <span
|
||||
class="tracking-status">{{ $detail_transactions['tracking_number'] }}</span></p>
|
||||
<p>Order ID: <span class="tracking-status">{{ $detail_transactions['orderId'] }}</span></p>
|
||||
<p>Status: <span class="tracking-status">{{ $detail_transactions['status'] }}</span></p>
|
||||
<p>Estimated: {{ $detail_transactions['estimated'] }}</p>
|
||||
</div>
|
||||
<h2>Tracking Details</h2>
|
||||
<ul>
|
||||
<li>{{ $detail_transactions['tracking_detail1'] }}</li>
|
||||
<li>{{ $detail_transactions['tracking_detail2'] }}</li>
|
||||
<li>{{ $detail_transactions['tracking_detail3'] }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
@endforeach
|
||||
@endsection --}}
|
||||
|
@ -161,14 +161,15 @@ Route::middleware(['auth'])->group(function(){
|
||||
Route::get('tambah-transaction','createTransaction')->name('tambah-transaction.pembeli');
|
||||
Route::post('store-transaction','storeTransaction')->name('store-transaction.pembeli');
|
||||
Route::post('payment-transaction/{id}','paymentTransaction')->name('payment-transaction.pembeli');
|
||||
Route::get('status','status');
|
||||
//Penjual
|
||||
Route::get('user-transaction-penjual','indexPenjual')->name('user-transaction.index.penjual');
|
||||
|
||||
|
||||
Route::get('translate','cancelTransaction');
|
||||
});
|
||||
// Tampilan refund
|
||||
Route::controller(UserRefundController::class)->group(function(){
|
||||
Route::get('user-refund','index')->name('user-refund.index');
|
||||
Route::get('user-refund-create','create')->name('user-refund.create');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user