public function addMoneyToAccount() { $rules = ['add_method' => 'required', 'add_money' => 'required', 'credentials' => 'required']; $validator = Validator::make(Input::all(), $rules); if ($validator->fails()) { return Redirect::back()->withErrors($validator); } $uid = Auth::user()->id; $wallet = PaymentMethod::where('account_id', '=', Input::get('credentials'))->where('user_id', '=', $uid)->first(); if ($wallet == null) { $payment = new PaymentMethod(); $payment->title = Input::get('add_method'); $payment->account_id = Input::get('credentials'); $payment->user_id = $uid; $payment->save(); } $transaction = new Transaction(); $transaction->ammount = Input::get('add_money'); $transaction->payment_system = Input::get('add_method'); $transaction->transaction_direction = 'added'; $transaction->confirmed = 0; $transaction->date = date('Y-m-d H:i:s'); $transaction->user_id = $uid; $wallet = PaymentMethod::where('user_id', '=', $uid)->orderBy('created_at', 'DESC')->first(); $transaction->from_credentials = $wallet->id; $transaction->save(); $user = Auth::user(); $data = MailHelper::prepareData($user); $data['ammount'] = $transaction->ammount; Mail::send('emails.moneyadded', $data, function ($message) use($user) { $message->to($user->email)->subject('Successful transfer!'); }); $msg = 'You\'ve requested to add ' . Input::get('add_money') . '$ to your account, wait for the response.'; return Redirect::back()->with('msg', $msg); }