/home/kueuepay/public_html/app/Http/Controllers/User/TransactionLogController.php
<?php

namespace App\Http\Controllers\User;

use App\Constants\PaymentGatewayConst;
use App\Models\Transaction;
use Illuminate\Http\Request;
use App\Http\Helpers\Response;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Validator;

class TransactionLogController extends Controller
{
    /**
     * Method for view transaction log page
     * @return view
     */
    public function cardPayment(){
        $page_title     = "Payment Logs";
        $transactions   = Transaction::with(['card_method'])->where('type',PaymentGatewayConst::CARD_PAYMENT)->auth()->orderBy('id','desc')->get();

        return view('user.sections.transaction.index',compact(
            'page_title',
            'transactions'
        ));
    }
    /**
     * Method for search trasaction data
     */
    public function search(Request $request){
       
        $validator      = Validator::make($request->all(),[
            'text'      => 'required'
        ]);
        if($validator->fails()) {
            $error = ['error' => $validator->errors()];
            return Response::error($error,null,400);
        }

        $validated = $validator->validate();
        
        $transactions    = Transaction::auth()->search($validated['text'])->get();
        return view('user.components.transaction.index',compact('transactions'));
    }
    /**
     * Method for view add money transaction log page
     * @return view
     */
    public function addMoney(){
        $page_title     = "Add Money Logs";

        $transactions   = Transaction::auth()->with(['payment_gateway'])->where('type',PaymentGatewayConst::TYPEADDMONEY)
                            ->orderBy('id','desc')->get();
        return view('user.sections.transaction.index',compact(
            'page_title',
            'transactions'
        ));
    }
    /**
     * Method for view transfer money transaction log page
     * @return view
     */
    public function transferMoney(){
        $page_title     = "Transfer Money Logs";

        $transactions   = Transaction::auth()->with(['payment_gateway'])->where('type',PaymentGatewayConst::TYPETRANSFERMONEY)
                            ->orderBy('id','desc')->get();
        return view('user.sections.transaction.index',compact(
            'page_title',
            'transactions'
        ));
    }
    
}
Best Practice

Best Practices

To ensure a smooth integration process and optimal performance, follow these best practices:

  1. Use secure HTTPS connections for all API requests.
  2. Implement robust error handling to handle potential issues gracefully.
  3. Regularly update your integration to stay current with any API changes or enhancements.