diff --git a/app/Http/Controllers/User/UserRefundController.php b/app/Http/Controllers/User/UserRefundController.php
index 3c334921..4a1e7942 100644
--- a/app/Http/Controllers/User/UserRefundController.php
+++ b/app/Http/Controllers/User/UserRefundController.php
@@ -16,7 +16,7 @@ class UserRefundController extends Controller
]);
}
- public function createRefund(Request $request)
+ public function create(Request $request)
{
return view('user.refund.new-refund');
}
diff --git a/app/Http/Controllers/User/UserTransactionController.php b/app/Http/Controllers/User/UserTransactionController.php
index c428785f..bd6fd7c5 100644
--- a/app/Http/Controllers/User/UserTransactionController.php
+++ b/app/Http/Controllers/User/UserTransactionController.php
@@ -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;
+ }
}
diff --git a/app/Models/TransactionDescription.php b/app/Models/TransactionDescription.php
index 2de4dc0d..6810c6ba 100644
--- a/app/Models/TransactionDescription.php
+++ b/app/Models/TransactionDescription.php
@@ -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(){
diff --git a/app/Models/transaction.php b/app/Models/transaction.php
index 0be7a712..1bcbfa43 100644
--- a/app/Models/transaction.php
+++ b/app/Models/transaction.php
@@ -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
}
diff --git a/composer.json b/composer.json
index a21d63ed..baec8906 100644
--- a/composer.json
+++ b/composer.json
@@ -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"
},
diff --git a/composer.lock b/composer.lock
index fd325124..0a92de12 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": "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",
diff --git a/config/app.php b/config/app.php
index f2b78631..db4e2065 100644
--- a/config/app.php
+++ b/config/app.php
@@ -70,7 +70,7 @@ return [
|
*/
- 'timezone' => 'UTC',
+ 'timezone' => 'Asia/Jakarta',
/*
|--------------------------------------------------------------------------
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 abfe6318..c32cebb1 100644
--- a/database/migrations/2023_08_01_073859_create_transactions_table.php
+++ b/database/migrations/2023_08_01_073859_create_transactions_table.php
@@ -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');
diff --git a/public/assets/css/style.css b/public/assets/css/style.css
index b1643918..5f31c320 100644
--- a/public/assets/css/style.css
+++ b/public/assets/css/style.css
@@ -246,7 +246,7 @@ select.form-control:not([size]):not([multiple]),
}
textarea.form-control {
- height: 64px !important;
+ min-height: 200px !important;
}
.custom-control {
diff --git a/public/assets/js/page/modules-datatables.js b/public/assets/js/page/modules-datatables.js
index 9d5dd38b..bc155477 100644
--- a/public/assets/js/page/modules-datatables.js
+++ b/public/assets/js/page/modules-datatables.js
@@ -52,6 +52,6 @@ $("#table-2").dataTable({
// Transaksi pembeli
$("#table-3").dataTable({
- columnDefs: [{ sortable: false, targets: [5] }],
+ columnDefs: [{ sortable: false, targets: [7] }],
searchable: true,
});
diff --git a/resources/views/User/layout/main.blade.php b/resources/views/User/layout/main.blade.php
index 19db48d7..1134f3b5 100644
--- a/resources/views/User/layout/main.blade.php
+++ b/resources/views/User/layout/main.blade.php
@@ -55,8 +55,8 @@
- {{-- --}}
- {{--
+
+ --}}
@endsection
diff --git a/resources/views/User/transaction/Pembeli/index.blade.php b/resources/views/User/transaction/Pembeli/index.blade.php
index 3318ac70..d036e4c5 100644
--- a/resources/views/User/transaction/Pembeli/index.blade.php
+++ b/resources/views/User/transaction/Pembeli/index.blade.php
@@ -5,9 +5,8 @@
@@ -44,15 +43,18 @@
- @foreach ($transactions as $transaction)
+ @forelse ($transactions as $transaction)
{{ $loop->iteration }} |
{{ $transaction->id }} |
- {{ $transaction->data_penjual->nama_depan.' '.$transaction->data_penjual->nama_belakang }} |
- Rp {{number_format($transaction->total_bayar,2, ',', '.') }} |
+ {{ $transaction->data_penjual->nama_depan . ' ' . $transaction->data_penjual->nama_belakang }}
+ |
+ Rp {{ number_format($transaction->total_bayar, 2, ',', '.') }} |
{{ $transaction->created_at }} |
{{ $transaction->updated_at }} |
- {{ ($transaction->status == 'pending' ? 'Menunggu Pembayaran' : 'Selesai') }} |
+ {{ ucwords($transaction->status) }}
+ |
|
- @endforeach
+ @empty
+ @endforelse
@@ -94,8 +105,10 @@
- @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')
+
- $('#table-3').on('click', '#selesai', function() {
- const id = $(this).data('id');
+ {{-- Modal --}}
+
@endsection
diff --git a/resources/views/User/transaction/Pembeli/modal-bayar-transaction.blade.php b/resources/views/User/transaction/Pembeli/modal-bayar-transaction.blade.php
deleted file mode 100644
index 20a7e8d2..00000000
--- a/resources/views/User/transaction/Pembeli/modal-bayar-transaction.blade.php
+++ /dev/null
@@ -1,33 +0,0 @@
-
diff --git a/resources/views/User/transaction/Pembeli/modal-end-transaction.blade.php b/resources/views/User/transaction/Pembeli/modal-end-transaction.blade.php
index 447af15b..0f39dcd2 100644
--- a/resources/views/User/transaction/Pembeli/modal-end-transaction.blade.php
+++ b/resources/views/User/transaction/Pembeli/modal-end-transaction.blade.php
@@ -1,4 +1,4 @@
-
diff --git a/resources/views/User/transaction/Pembeli/modal-keterangan-status.blade.php b/resources/views/User/transaction/Pembeli/modal-keterangan-status.blade.php
new file mode 100644
index 00000000..b1b1e665
--- /dev/null
+++ b/resources/views/User/transaction/Pembeli/modal-keterangan-status.blade.php
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/views/User/transaction/Pembeli/modal-tracking.blade.php b/resources/views/User/transaction/Pembeli/modal-tracking.blade.php
new file mode 100644
index 00000000..4647d3cd
--- /dev/null
+++ b/resources/views/User/transaction/Pembeli/modal-tracking.blade.php
@@ -0,0 +1,25 @@
+
+
diff --git a/resources/views/User/transaction/Pembeli/new-transaction.blade.php b/resources/views/User/transaction/Pembeli/new-transaction.blade.php
index 442106a7..2a05b6b5 100644
--- a/resources/views/User/transaction/Pembeli/new-transaction.blade.php
+++ b/resources/views/User/transaction/Pembeli/new-transaction.blade.php
@@ -99,7 +99,7 @@
@@ -127,7 +127,7 @@
@endsection
diff --git a/resources/views/User/transaction/penjual/modal-keterangan-status.blade.php b/resources/views/User/transaction/penjual/modal-keterangan-status.blade.php
new file mode 100644
index 00000000..b1b1e665
--- /dev/null
+++ b/resources/views/User/transaction/penjual/modal-keterangan-status.blade.php
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/views/User/transaction/penjual/modal-tracking.blade.php b/resources/views/User/transaction/penjual/modal-tracking.blade.php
index 4761a743..aa97e496 100644
--- a/resources/views/User/transaction/penjual/modal-tracking.blade.php
+++ b/resources/views/User/transaction/penjual/modal-tracking.blade.php
@@ -14,103 +14,36 @@
+ {{-- @forelse ($transaction->transactionDescription as $transactionDescription)
-
-
-
+
+
- August 21, 2023, 8:30:15 am
+ {{date("F j, Y, g:i:s a", strtotime($transactionDescription->created_at))}}
-
User Created Trade
+
{{$transactionDescription->deskripsi}}
+ @empty
-
-
+
- August 22, 2023, 8:30:15 am
+ --, --:--:-- --
-
System Notified Admin
-
-
-
-
-
-
-
-
-
- August 23, 2023, 8:30:15 am
-
-
Admin Accepted Trade
-
-
-
-
-
-
-
-
-
- August 24, 2023, 8:30:15 am
-
-
Trade in system
-
-
-
-
-
-
-
-
-
- August 24, 2023, 8:30:15 am
-
-
Transaction Success
+
Kosong
+ @endforelse --}}
-
-
-
-
-
-{{-- @extends('layout.main')
-@section('content')
- @foreach ($detail_transaction as $detail_transactions)
-
-
-
-
Tracking Information
-
-
Tracking Number: {{ $detail_transactions['tracking_number'] }}
-
Order ID: {{ $detail_transactions['orderId'] }}
-
Status: {{ $detail_transactions['status'] }}
-
Estimated: {{ $detail_transactions['estimated'] }}
-
-
Tracking Details
-
- - {{ $detail_transactions['tracking_detail1'] }}
- - {{ $detail_transactions['tracking_detail2'] }}
- - {{ $detail_transactions['tracking_detail3'] }}
-
-
-
-
- @endforeach
-@endsection --}}
diff --git a/routes/web.php b/routes/web.php
index b957287d..2acf4111 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -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');
});
});
});