Revisi kontroller transaksi
This commit is contained in:
parent
1a3a6234ad
commit
ebd309e471
@ -6,14 +6,11 @@ use App\Models\Transaction;
|
||||
use App\Models\TransactionDescription;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Contact;
|
||||
use App\Models\Refund;
|
||||
use App\Models\RefundDescription;
|
||||
use App\Models\Setting;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\TransactionUser;
|
||||
use App\Models\User;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Support\Facades\Http;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
@ -169,9 +166,7 @@ class UserTransactionController extends Controller
|
||||
'callbacks' => [
|
||||
'finish' => route('user-transaction.index.pembeli'),
|
||||
],
|
||||
'enabled_payments' => [
|
||||
'credit_card', 'gopay', 'shopeepay'
|
||||
],
|
||||
'enabled_payments' => ['credit_card', 'gopay', 'shopeepay'],
|
||||
'expiry' => [
|
||||
'start_time' => $now->format('Y-m-d H:i:s P'),
|
||||
'unit' => 'days',
|
||||
@ -183,7 +178,7 @@ class UserTransactionController extends Controller
|
||||
$token = $snap_token;
|
||||
$status = 'created';
|
||||
|
||||
try{
|
||||
try {
|
||||
DB::beginTransaction();
|
||||
|
||||
$query = Transaction::create([
|
||||
@ -231,7 +226,7 @@ class UserTransactionController extends Controller
|
||||
'status' => true,
|
||||
'message' => 'Berhasil menambahkan transaksi. Silahkan lakukan pembayaran.',
|
||||
]);
|
||||
}catch(Throwable $e){
|
||||
} catch (Throwable $e) {
|
||||
DB::rollBack();
|
||||
|
||||
Log::error($e->getMessage());
|
||||
@ -245,10 +240,13 @@ class UserTransactionController extends Controller
|
||||
|
||||
public function acceptTransaction($id)
|
||||
{
|
||||
$query = Transaction::where('id', $id)->update([
|
||||
try {
|
||||
DB::beginTransaction();
|
||||
|
||||
Transaction::where('id', $id)->update([
|
||||
'status' => 'process',
|
||||
]);
|
||||
if ($query) {
|
||||
|
||||
TransactionDescription::create([
|
||||
'transaction_id' => $id,
|
||||
'status' => 'process',
|
||||
@ -258,11 +256,17 @@ class UserTransactionController extends Controller
|
||||
'deskripsi' => 'Transaksi telah diterima oleh ' . Auth::user()->nama_depan,
|
||||
]);
|
||||
|
||||
DB::commit();
|
||||
|
||||
return response()->json([
|
||||
'status' => true,
|
||||
'message' => 'Transaksi telah diterima. Siapkan pesanan untuk dikirim ke penjual.',
|
||||
]);
|
||||
} else {
|
||||
} catch (Throwable $e) {
|
||||
DB::rollBack();
|
||||
|
||||
Log::error($e->getMessage());
|
||||
|
||||
return response()->json([
|
||||
'status' => false,
|
||||
'message' => 'Gagal update status karena kesalahan server.',
|
||||
@ -272,10 +276,13 @@ class UserTransactionController extends Controller
|
||||
|
||||
public function sendingOrder($id)
|
||||
{
|
||||
$query = Transaction::where('id', $id)->update([
|
||||
try {
|
||||
DB::beginTransaction();
|
||||
|
||||
Transaction::where('id', $id)->update([
|
||||
'status' => 'sending',
|
||||
]);
|
||||
if ($query) {
|
||||
|
||||
TransactionDescription::create([
|
||||
'transaction_id' => $id,
|
||||
'status' => 'sending',
|
||||
@ -285,11 +292,17 @@ class UserTransactionController extends Controller
|
||||
'deskripsi' => 'Pesanan telah dikirim oleh ' . Auth::user()->nama_depan . ' dan sedang dalam perjalanan menuju pembeli.',
|
||||
]);
|
||||
|
||||
DB::commit();
|
||||
|
||||
return response()->json([
|
||||
'status' => true,
|
||||
'message' => 'Pesanan sedang dikirim dan menuju pembeli.',
|
||||
]);
|
||||
} else {
|
||||
} catch (Throwable $e) {
|
||||
DB::rollBack();
|
||||
|
||||
Log::error($e->getMessage());
|
||||
|
||||
return response()->json([
|
||||
'status' => false,
|
||||
'message' => 'Gagal update status karena kesalahan server.',
|
||||
@ -299,10 +312,13 @@ class UserTransactionController extends Controller
|
||||
|
||||
public function sentOrder($id)
|
||||
{
|
||||
$query = Transaction::where('id', $id)->update([
|
||||
try {
|
||||
DB::beginTransaction();
|
||||
|
||||
Transaction::where('id', $id)->update([
|
||||
'status' => 'sended',
|
||||
]);
|
||||
if ($query) {
|
||||
|
||||
TransactionDescription::create([
|
||||
'transaction_id' => $id,
|
||||
'status' => 'sended',
|
||||
@ -312,11 +328,17 @@ class UserTransactionController extends Controller
|
||||
'deskripsi' => 'Pesanan telah sampai di tempat pembeli.',
|
||||
]);
|
||||
|
||||
DB::commit();
|
||||
|
||||
return response()->json([
|
||||
'status' => true,
|
||||
'message' => 'Pesanan telah sampai di tempat pembeli.',
|
||||
]);
|
||||
} else {
|
||||
} catch (Throwable $e) {
|
||||
DB::rollBack();
|
||||
|
||||
Log::error($e->getMessage());
|
||||
|
||||
return response()->json([
|
||||
'status' => false,
|
||||
'message' => 'Gagal update status karena kesalahan server.',
|
||||
@ -326,24 +348,33 @@ class UserTransactionController extends Controller
|
||||
|
||||
public function finishTransaction($id)
|
||||
{
|
||||
$query = Transaction::where('id', $id)->update([
|
||||
try {
|
||||
DB::beginTransaction();
|
||||
|
||||
Transaction::where('id', $id)->update([
|
||||
'status' => 'finished',
|
||||
]);
|
||||
if ($query) {
|
||||
|
||||
TransactionDescription::create([
|
||||
'transaction_id' => $id,
|
||||
'status' => 'sended',
|
||||
'status' => 'finished',
|
||||
'background' => 'bg-buyer',
|
||||
'user' => Auth::user()->email,
|
||||
'judul' => 'fas fa-check',
|
||||
'deskripsi' => 'Pesanan telah sampai di tempat pembeli.',
|
||||
'deskripsi' => 'Pesanan telah diselesaikan oleh '.auth()->user()->nama_depan.'.',
|
||||
]);
|
||||
|
||||
DB::commit();
|
||||
|
||||
return response()->json([
|
||||
'status' => true,
|
||||
'message' => 'Pesanan telah sampai di tempat pembeli.',
|
||||
'message' => 'Pesanan telah diselesaikan oleh '.auth()->user()->nama_depan.'.',
|
||||
]);
|
||||
} else {
|
||||
} catch (Throwable $e) {
|
||||
DB::rollBack();
|
||||
|
||||
Log::error($e->getMessage());
|
||||
|
||||
return response()->json([
|
||||
'status' => false,
|
||||
'message' => 'Gagal update status karena kesalahan server.',
|
||||
@ -362,8 +393,11 @@ class UserTransactionController extends Controller
|
||||
|
||||
$payment = Trans::status($id);
|
||||
$result = json_decode(json_encode($payment), true);
|
||||
if (in_array($result['status_code'], ['200', '201', '202'])) {
|
||||
$query = Transaction::where('id', $id)->update([
|
||||
if ($result['status_code'] == '200') {
|
||||
try {
|
||||
DB::beginTransaction();
|
||||
|
||||
Transaction::where('id', $id)->update([
|
||||
'currency' => $result['currency'],
|
||||
'merchant_id' => $result['merchant_id'],
|
||||
'metode_pembayaran' => $result['payment_type'],
|
||||
@ -372,47 +406,33 @@ class UserTransactionController extends Controller
|
||||
'status' => $result['transaction_status'],
|
||||
'fraud_status' => $result['fraud_status'],
|
||||
]);
|
||||
if ($query) {
|
||||
if ($result['transaction_status'] == 'pending') {
|
||||
|
||||
TransactionDescription::create([
|
||||
'transaction_id' => $id,
|
||||
'status' => $result['transaction_status'],
|
||||
'user' => Auth::user()->email,
|
||||
'judul' => 'fas fa-clock',
|
||||
'status_code' => $result['status_code'],
|
||||
'background' => 'bg-buyer',
|
||||
'deskripsi' => 'Pembayaran ditunda.',
|
||||
]);
|
||||
return response()->json([
|
||||
'status' => true,
|
||||
'message' => 'Transaksi ditunda. Silahkan bayar nanti selama dalam waktu batas pembayaran.',
|
||||
]);
|
||||
} else {
|
||||
TransactionDescription::create([
|
||||
'transaction_id' => $id,
|
||||
'status' => $result['transaction_status'],
|
||||
'user' => Auth::user()->email,
|
||||
'judul' => 'fas fa-plus',
|
||||
'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.',
|
||||
]);
|
||||
}
|
||||
} else {
|
||||
} catch (Throwable $e) {
|
||||
DB::rollBack();
|
||||
|
||||
Log::error($e->getMessage());
|
||||
|
||||
return response()->json([
|
||||
'status' => false,
|
||||
'message' => 'Transaksi pembayaran gagal.',
|
||||
]);
|
||||
}
|
||||
} elseif (in_array($result['status_code'], ['400', '401', '402', '403', '404', '405', '406', '407', '408', '409', '410', '411', '412', '413'])) {
|
||||
return response()->json([
|
||||
'status' => false,
|
||||
'message' => 'Terjadi kesalahan di server.',
|
||||
]);
|
||||
} else {
|
||||
return response()->json([
|
||||
'status' => false,
|
||||
@ -426,17 +446,18 @@ class UserTransactionController extends Controller
|
||||
// Membuat objek Google Translate
|
||||
$translator = new GoogleTranslate();
|
||||
|
||||
// Mengatur bahasa sumber (Inggris) dan bahasa target (Indonesia)
|
||||
$translator->setSource('en');
|
||||
$translator->setTarget('id');
|
||||
|
||||
$transaction = Transaction::where('id', $id)->first();
|
||||
$cancel = json_decode(json_encode(Trans::cancel($id)), true);
|
||||
if ($cancel['status_code'] == '200') {
|
||||
try {
|
||||
DB::beginTransaction();
|
||||
|
||||
if ($transaction->status == 'created') {
|
||||
$query = Transaction::where('id', $id)->update([
|
||||
Transaction::where('id', $id)->update([
|
||||
'status' => 'cancel',
|
||||
]);
|
||||
if ($query) {
|
||||
|
||||
TransactionDescription::create([
|
||||
'transcation_id' => $id,
|
||||
'status' => 'cancel',
|
||||
@ -446,53 +467,31 @@ class UserTransactionController extends Controller
|
||||
'deskripsi' => 'Transaksi dibatalkan',
|
||||
]);
|
||||
|
||||
DB::commit();
|
||||
|
||||
return response()->json([
|
||||
'status' => true,
|
||||
'message' => 'Transaksi berhasil dibatal',
|
||||
]);
|
||||
} else {
|
||||
} catch (Throwable $e) {
|
||||
DB::rollBack();
|
||||
|
||||
Log::error($e->getMessage());
|
||||
|
||||
return response()->json([
|
||||
'status' => false,
|
||||
'message' => 'Transaksi gagal dibatalkan',
|
||||
]);
|
||||
}
|
||||
} else {
|
||||
$cancel = json_decode(json_encode(Trans::cancel($id)), true);
|
||||
if ($cancel['status_code'] == '200') {
|
||||
$query = Transaction::where('id', $id)->update([
|
||||
'status' => $cancel['transaction_status'],
|
||||
]);
|
||||
if ($query) {
|
||||
TransactionDescription::create([
|
||||
'transaction_id' => $id,
|
||||
'status' => $cancel['transaction_status'],
|
||||
'user' => Auth::user()->email,
|
||||
'judul' => 'fas fa-exclamation',
|
||||
'status_code' => $cancel['status_code'],
|
||||
'background' => 'bg-buyer',
|
||||
'deskripsi' => $translator->translate($cancel['status_message']),
|
||||
]);
|
||||
|
||||
return response()->json([
|
||||
'status' => true,
|
||||
'message' => $translator->translate($cancel['status_message']),
|
||||
]);
|
||||
} else {
|
||||
return response()->json([
|
||||
'status' => false,
|
||||
'message' => $translator->translate($cancel['status_message']),
|
||||
]);
|
||||
}
|
||||
} elseif ($cancel['status_code'] == '412') {
|
||||
return response()->json([
|
||||
'status' => false,
|
||||
'message' => $translator->translate($cancel['status_message']),
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function complainTransaction($id)
|
||||
public function complaintTransaction($id)
|
||||
{
|
||||
return view('user.refund.new-refund', compact('id'));
|
||||
}
|
||||
|
@ -52,7 +52,7 @@ $("#table-2").dataTable({
|
||||
|
||||
// Transaksi pembeli
|
||||
$("#table-3").dataTable({
|
||||
columnDefs: [{ sortable: false, targets: [6] }],
|
||||
columnDefs: [{ sortable: false, targets: [7] }],
|
||||
searchable: true,
|
||||
});
|
||||
|
||||
|
@ -37,6 +37,7 @@
|
||||
#
|
||||
</th>
|
||||
<th>Penjual</th>
|
||||
<th>Nama Barang</th>
|
||||
<th>Total</th>
|
||||
<th>Tanggal Transaksi</th>
|
||||
<th>Tanggal Update</th>
|
||||
@ -50,6 +51,7 @@
|
||||
<td>{{ $loop->iteration }}</td>
|
||||
<td>{{ $transaction->data_penjual->nama_depan . ' ' . $transaction->data_penjual->nama_belakang }}
|
||||
</td>
|
||||
<td>{{ $transaction->nama_barang }}</td>
|
||||
<td>Rp {{ number_format($transaction->total_bayar, 2, ',', '.') }}</td>
|
||||
<td>{{ $transaction->created_at }}</td>
|
||||
<td>{{ $transaction->updated_at }}</td>
|
||||
@ -72,7 +74,7 @@
|
||||
<button type="button" class="btn btn-primary dropdown-toggle"
|
||||
data-toggle="dropdown" aria-haspopup="true"
|
||||
aria-expanded="false">
|
||||
Action
|
||||
...
|
||||
</button>
|
||||
|
||||
<ul class="dropdown-menu">
|
||||
@ -97,7 +99,7 @@
|
||||
</li>
|
||||
@endif
|
||||
|
||||
@if (in_array($transaction->status, ['pending', 'authorize', 'capture', 'created']))
|
||||
@if (in_array($transaction->status, ['pending', 'capture', 'created']))
|
||||
<li><a href="#" data-id="{{ $transaction->id }}"
|
||||
id="cancel" class="dropdown-item">Batal</a></li>
|
||||
@endif
|
||||
|
@ -30,8 +30,8 @@
|
||||
<th class="text-center">
|
||||
#
|
||||
</th>
|
||||
<th>Order ID</th>
|
||||
<th>Pembeli</th>
|
||||
<th>Nama Barang</th>
|
||||
<th>Total</th>
|
||||
<th>Tanggal Pembuatan</th>
|
||||
<th>Tanggal Update</th>
|
||||
@ -43,9 +43,9 @@
|
||||
@forelse ($transactions as $transaction)
|
||||
<tr>
|
||||
<td>{{ $loop->iteration }}</td>
|
||||
<td>{{ $transaction->id }}</td>
|
||||
<td>{{ $transaction->data_pembeli->nama_depan . ' ' . $transaction->data_pembeli->nama_belakang }}
|
||||
</td>
|
||||
<td>{{ $transaction->nama_barang }}</td>
|
||||
<td>Rp {{ number_format($transaction->total_bayar, 2, ',', '.') }}</td>
|
||||
<td>{{ $transaction->created_at }}</td>
|
||||
<td>{{ $transaction->updated_at }}</td>
|
||||
@ -68,7 +68,7 @@
|
||||
<button type="button" class="btn btn-primary dropdown-toggle"
|
||||
data-toggle="dropdown" aria-haspopup="true"
|
||||
aria-expanded="false">
|
||||
Action
|
||||
...
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a class="dropdown-item"
|
||||
@ -81,12 +81,13 @@
|
||||
</li>
|
||||
@endif
|
||||
{{-- Setelah dibayar --}}
|
||||
@if ($transaction->status == 'settlement')
|
||||
<li><a class="dropdown-item" href="#">Process</a>
|
||||
@if (in_array($transaction->status, ['settlement', 'capture']))
|
||||
<li><a class="dropdown-item" href="#">Proses
|
||||
Transaksi</a>
|
||||
</li>
|
||||
@endif
|
||||
{{-- Pengiriman barang --}}
|
||||
@if ($transaction->status == 'progress')
|
||||
@if ($transaction->status == 'process')
|
||||
<li><a class="dropdown-item" href="#">Kirim
|
||||
Barang</a>
|
||||
</li>
|
||||
@ -96,6 +97,11 @@
|
||||
sampai</a>
|
||||
</li>
|
||||
@endif
|
||||
@if ($transaction->status == 'finished')
|
||||
<li><a class="dropdown-item" href="#">Transaksi
|
||||
Selesai</a>
|
||||
</li>
|
||||
@endif
|
||||
</ul>
|
||||
</div>
|
||||
</td>
|
||||
|
@ -42,20 +42,6 @@ Route::get('/detail_transaction', function () {
|
||||
'detail_transaction' => Transactions::allDetailTransactions()
|
||||
]);
|
||||
})->name('transaction.detail');
|
||||
// Route::get('/history_transaction', function () {
|
||||
// return view('admin/transaction/History_Transaction',[
|
||||
// 'name'=>'Jilhan Haura',
|
||||
// "transaction"=> Transactions::allTransactions()
|
||||
// ]);
|
||||
// });
|
||||
// Route::get('/history_refund', function () {
|
||||
// return view('admin/refund/history-refund',[
|
||||
// 'name'=>'Jilhan Haura',
|
||||
// "history_refund" => Refunds::HistoryRefund()
|
||||
// ]);
|
||||
// });
|
||||
|
||||
|
||||
|
||||
Route::get('/detail_refund',function() {
|
||||
return view('admin/refund/detail-refund',[
|
||||
@ -68,31 +54,6 @@ Route::get('/next_detail_refund',function() {
|
||||
'name'=>"Jilhan Haura"
|
||||
]);
|
||||
});
|
||||
// Route::get('/list_user',function() {
|
||||
// return view('Admin/users/list-user',[
|
||||
// 'name'=>"Jilhan Haura",
|
||||
// "list_users" => Users::listUsers()
|
||||
// ]);
|
||||
// });
|
||||
// Route::get('/detail-user',function() {
|
||||
// return view('Admin/users/detail-user',[
|
||||
// 'name'=>"Jilhan Haura",
|
||||
// "detail_user" => Users::detailUser()
|
||||
// ]);
|
||||
// });
|
||||
// Route::get('/profile',function() {
|
||||
// return view('admin/profile/index',[
|
||||
// 'name'=>"Jilhan Haura",
|
||||
// ]);
|
||||
// });
|
||||
// Route::get('/setting',function() {
|
||||
// return view('admin/setting/index',[
|
||||
// 'name'=>"Jilhan Haura",
|
||||
// "setting" => Settings:: HistorySetting()
|
||||
// ]);
|
||||
// });
|
||||
|
||||
// --------------------------------------------------------------------------------------------
|
||||
|
||||
//Index
|
||||
|
||||
@ -195,7 +156,7 @@ Route::middleware(['auth'])->group(function(){
|
||||
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/transaksi-komplain/{id}','complainTransaction')->name('user-pembeli.complain');
|
||||
Route::put('user-pembeli/transaksi-komplain/{id}','complaintTransaction')->name('user-pembeli.complain');
|
||||
|
||||
//Penjual
|
||||
Route::get('user-penjual','indexPenjual')->name('user-penjual.index');
|
||||
|
Loading…
Reference in New Issue
Block a user