/** * @author: lmkhang - skype * @date: 2016-02-02 * create info for payment */ public function createPaymentInfo($user) { $rs = ['info' => '', 'full_name_info' => '', 'payment_method' => '']; //get payment user $payment_user_get = new \App\Payment(); $user_payment = $payment_user_get->getPaymentInfomation($user->user_id); if ($user_payment) { $payment_type = config('constant.payment_method'); $payment_method = $user_payment['payment_method']; $type_info = $payment_type[$payment_method]; $info = ''; $full_name_info = ''; if ($user_payment['payment_method'] == 1) { //Bank $info .= $type_info . "<br/>"; $info .= "Bank Name: " . $user_payment['bank_name'] . "<br/>"; $info .= "Bank ID: " . $user_payment['id_number_bank'] . "<br/>"; $info .= "Full Name: " . $user_payment['first_name'] . ' ' . $user_payment['last_name'] . ' ' . $user_payment['mid_name'] . "<br/>"; $info .= "Phone: " . $user_payment['phone'] . "<br/>"; $info .= "Address: " . $user_payment['address'] . "<br/>"; $info .= 'Ward: ' . $user_payment['ward'] . "<br/>"; $info .= 'District: ' . $user_payment['district'] . "<br/>"; $info .= 'City/Province: ' . $user_payment['city'] . "<br/>"; $info .= "Contact_email: " . $user_payment['contact_email'] . "<br/>"; $full_name_info = $user_payment['first_name'] . ' ' . $user_payment['last_name'] . ' ' . $user_payment['mid_name']; } else { if ($user_payment['payment_method'] == 2) { //Paypal $info .= "Paypal<br/>"; $info .= $user_payment['paypal_email']; $full_name_info = $user->full_name ? $user->full_name : $user->first_name . ' ' . $user->last_name; } } $rs = ['info' => $info, 'full_name_info' => $full_name_info, 'payment_method' => $payment_method]; } return $rs; }
/** * @author: lmkhang - skype * @date: 2016-01-18 * Change payment (bank or paypal) */ public function payment_change(Request $request) { //Check Status if ($this->_stop) { return Redirect::intended(url($this->_redirectTo)); } //Get STATE of PAYMENT $payment_state = \App\Config::where(['prefix' => 'payment', 'name' => 'lock', 'del_flg' => 1])->get()[0]['value']; if ($payment_state == 1) { //Locked $this->setFlash('message', 'Cannot edit your payment while paying. This feature is locked temporarily.'); return redirect()->back(); } //Post $post = $request->all(); $payment = $post['payment']; //Trim $payment = $this->trim_all($payment); //get method $payment_method = config('constant.payment_method'); $method = $payment['method']; $arr_check = []; //Bank if ($method == 1) { $arr_check = ['bank' => 'required', 'number_bank' => 'required|min:5|max:50', 'first_name' => 'required|min:2|max:50', 'last_name' => 'required|min:2|max:50', 'address' => 'required|min:1|max:250', 'ward' => 'required|min:1|max:250', 'district' => 'required|min:1|max:250', 'city' => 'required|min:2|max:250', 'phone' => 'required|min:9|max:14', 'contact_email' => 'required|min:5|max:100|email']; } else { if ($method == 2) { $arr_check = ['paypal_email' => 'required|min:5|max:100|email']; } } //Setup validation $validator = Validator::make($payment, $arr_check); //Checking if ($validator->fails()) { //set Flash Message // $this->setFlash('errors', $validator->errors()->toArray()); $this->setFlash('message', 'Please type all information correctly for your payment method! <' . $payment_method[$method] . '>'); return redirect()->back(); } //Insert or Update $payment_get = new \App\Payment(); $payment_obj = $payment_get->getPaymentInfomation($this->_user_id); if (!$payment_obj) { $payment_obj = $payment_get; $payment_obj->user_id = $this->_user_id; } $payment_obj->payment_method = $method; if ($method == 1) { //Bank $payment_obj->bank_id = $payment['bank']; $payment_obj->id_number_bank = $payment['number_bank']; $payment_obj->phone = $payment['phone']; $payment_obj->last_name = $payment['last_name']; $payment_obj->mid_name = isset($payment['mid_name']) ? $payment['mid_name'] : ''; $payment_obj->first_name = $payment['first_name']; $payment_obj->address = $payment['address']; $payment_obj->ward = $payment['ward']; $payment_obj->district = $payment['district']; $payment_obj->city = $payment['city']; $payment_obj->contact_email = $payment['contact_email']; } else { if ($method == 2) { //Paypal $payment_obj->paypal_email = $payment['paypal_email']; } } $payment_obj->save(); //set Flash Message $this->setFlash('message', 'Update payment method <' . $payment_method[$method] . '> successfully!'); return redirect()->back()->with('message', 'Update payment method <' . $payment_method[$method] . '> successfully!'); }