validate([ 'token' => 'string|required', 'mobile' => 'string', ]); return view('ap-form', ['token' => $data['token'], 'mobile' => $data['mobile']]); } public function checkTransaction(Request $request) { $data = $request->validate([ 'localInvoiceId' => 'string|required', 'platform' => 'string' ]); if (!$transaction = Transaction::with(['product.packageName', 'user'])->where('status', Transaction::STATUSES['pending'])->where('id', $data['localInvoiceId'])->first()) { return view('status', [ 'status' => false, 'redirect_link' => '#' ]); } $redirectLink = RedirectLinkHelper::get($transaction->product->packageName->name, $data['platform'] ?? null); $response = AsanPardakhtApi::checkTransaction($transaction); if (!$response['status']) { return view('status', [ 'status' => false, 'redirect_link' => $redirectLink ]); } $transaction->update(['status' => Transaction::STATUSES['success']]); $transaction->product->buy($transaction->user, $transaction['authority'], Transaction::GATEWAYS['asanpardakht']); return view('status', [ 'status' => true, 'redirect_link' => $redirectLink ]); } }