Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace App\Http\Controllers\Distribution;
- use App\Http\Controllers\Controller;
- use App\Models\Distribution\Payment;
- use App\Models\Distribution\PaymentData;
- use App\Nagad\NagadInitailize;
- use App\Services\ImageService;
- use DB;
- use Illuminate\Http\Request;
- use Illuminate\Support\Carbon;
- use Illuminate\Support\Facades\Redirect;
- use Illuminate\Support\Facades\URL;
- use Image;
- use Session;
- class RequsitionPaymentController extends Controller
- {
- public function paymentOption($prefix)
- {
- $paymentOption = DB::table("payment_options")->get();
- return view('distribution.wmm.payment.payment_option', [
- 'prefix' => $prefix,
- 'paymentOption' => $paymentOption
- ]);
- }
- public function paymentWay(Request $request, $prefix)
- {
- /* $this->validate($request,[
- 'paymentOption'=>'required'
- ]);
- */
- //return $request->all();
- $time = DB::table($prefix . '_settings')->get()->first();
- $date = Carbon::now()->addDays($time->payment_duration);
- $data = $request->paymentOption;
- if ($request->paymentOption == 'cash_on_delivery') {
- return view('distribution.wmm.payment.cash_on_delivery', [
- 'prefix' => $prefix,
- 'data' => $data,
- 'date' => $date->toDateString()
- ]);
- }
- return view('distribution.wmm.payment.payment_way', [
- 'prefix' => $prefix,
- 'data' => $data,
- 'date' => $date->toDateString()
- ]);
- }
- public function cashOnDelivery(Request $request, $prefix)
- {
- $transactionid = mt_rand(20000000, 999999999);
- /*******************************************/
- DB::beginTransaction();
- try {
- $fileName = null;
- if (!Session::has('second_payment')) {
- $payment = new Payment();
- $payment->requisition_id = Session::get('requsition_id');
- $payment->amount = Session::get('totalAmount');
- $payment->save();
- $paymentData = new PaymentData();
- $paymentData->transactionid = $transactionid;
- $paymentData->payment_id = $payment->id;
- /* $paymentData->payment_way_id = 2;*/ //Commented by Motiur
- $paymentData->payment_option_id = 5;
- $paymentData->status = "pending";
- $paymentData->amount = Session::get('totalAmount');
- $paymentData->remarks = $request->remarks;
- $paymentData->save();
- } else {
- $payment = new Payment();
- $payment->requisition_id = Session::get('requsition_id');
- $payment->amount = Session::get('totalAmount');
- $payment->save();
- $paymentData = new PaymentData();
- $paymentData->transactionid = $transactionid;
- $paymentData->payment_id = $payment->id;
- $paymentData->payment_way_id = 2;
- $paymentData->payment_option_id = 5;
- $paymentData->status = "pending";
- $paymentData->amount = Session::get('totalAmount');
- $paymentData->remarks = $request->remarks;
- $paymentData->save();
- }
- DB::commit();
- Session::forget('second_payment');
- } catch (Exception $e) {
- DB::rollBack();
- throw $e;
- }
- /*******************************************/
- $data = "Cash on Delivery";
- return view('distribution.wmm.payment.success', [
- 'prefix' => $prefix,
- 'data' => $data,
- 'transctionid' => $transactionid
- ]);
- }
- public function paymentRequsition(Request $request, $prefix)
- {
- //return $request->all();
- //$paymentWay = $request['paymentWay'];
- /* $this->validate($request,[
- 'paymentWay'=>'required'
- ]);*/
- $transct = mt_rand(20000000, 999999999);
- $data = $request->paymentWay;
- /************************************************/
- //if wwm select others paymment option
- if ($request->way == "credit") {
- DB::beginTransaction();
- try {
- if (!Session::has('second_payment')) {
- $payment = new Payment();
- $payment->requisition_id = Session::get('requsition_id');
- $payment->amount = Session::get('totalAmount');
- $payment->save();
- $transactionid = $transct;
- $paymentData = new PaymentData();
- $paymentData->transactionid = $transactionid;
- $paymentData->payment_id = $payment->id;
- $paymentData->payment_option_id = 1;
- $paymentData->payment_pay_date = $request->payable_date;
- $paymentData->save();
- } else {
- $transactionid = $transct;
- $paymentData = new PaymentData();
- $paymentData->transactionid = $transactionid;
- $paymentData->payment_id = Session::get('second_payment');
- $paymentData->payment_option_id = 1;
- $paymentData->payment_pay_date = $request->payable_date;
- $paymentData->save();
- }
- DB::commit();
- Session::forget('second_payment');
- return view('distribution.wmm.payment.success', [
- 'prefix' => $prefix,
- 'data' => $data,
- 'transctionid' => $transct
- ]);
- } catch (Exception $e) {
- DB::rollBack();
- throw $e;
- }
- }
- if ($request['paymentWay'] == "Nagad") {
- //Nagad Payment Initialize
- $nagad = new NagadInitailize();
- return $nagad->orderPayment($prefix);
- }
- if ($request['paymentWay'] == "bank_asia") {
- //Bank Asia Payment Initialize
- return $this->paymentByBankAsia($prefix);
- }
- /************************************************/
- /************************************************/
- //if wwm select others paymment option
- if ($request->way == "others") {
- $image = new ImageService();
- $fileName = $image->storeImage($request, 'image', url('/storage/app/public/payment_image'));
- //dd($fileName);
- DB::beginTransaction();
- try {
- if (!Session::has('second_payment')) {
- $payment = new Payment();
- $payment->requisition_id = Session::get('requsition_id');
- $payment->amount = Session::get('totalAmount');
- $payment->save();
- $transactionid = $transct;
- $paymentData = new PaymentData();
- $paymentData->transactionid = $transactionid;
- $paymentData->payment_id = $payment->id;
- $paymentData->payment_option_id = 4;
- $paymentData->remarks = $request->remarks;
- if ($fileName != null) {
- $paymentData->image = $fileName;
- }
- $paymentData->save();
- } else {
- $transactionid = $transct;
- $paymentData = new PaymentData();
- $paymentData->transactionid = $transactionid;
- $paymentData->payment_id = Session::get('second_payment');
- $paymentData->payment_option_id = 4;
- $paymentData->remarks = $request->remarks;
- if ($fileName != null) {
- $paymentData->image = $fileName;
- }
- $paymentData->save();
- }
- DB::commit();
- Session::forget('second_payment');
- return view('distribution.wmm.payment.success', [
- 'prefix' => $prefix,
- 'data' => $data,
- 'transctionid' => $transct
- ]);
- } catch (Exception $e) {
- DB::rollBack();
- throw $e;
- }
- }
- /************************************************/
- /************************************************/
- //for partial payment
- if ($request->way == "partial") {
- /* $this->validate($request,[
- 'partial_amount'=>'required'
- ]);*/
- return view('distribution.wmm.payment.partial_payment', [
- 'prefix' => $prefix,
- 'data' => $data,
- 'partial_amount' => $request->partial_amount
- ]);
- }
- /************************************************/
- return view('distribution.wmm.payment.payment', [
- 'prefix' => $prefix,
- 'data' => $data
- ]);
- }
- public function paymentSubmitForFull(Request $request, $prefix)
- {
- $transactionid = mt_rand(20000000, 999999999);
- if ($request->paymentWith == "Nagad") {
- /* $this->validate($request,[
- 'transaction_id'=>'required'
- ]);*/
- //if Nagad payment gateway return true then insert data in payment Table and payment status is done
- //check transaction_id
- // store payment
- /*******************************************/
- DB::beginTransaction();
- try {
- if (!Session::has('second_payment')) {
- $payment = new Payment();
- $payment->requisition_id = Session::get('requsition_id');
- $payment->amount = Session::get('totalAmount');
- $payment->save();
- $paymentData = new PaymentData();
- $paymentData->transactionid = $transactionid;
- $paymentData->payment_id = $payment->id;
- $paymentData->payment_way_id = 1;
- $paymentData->payment_option_id = 2;
- $paymentData->status = "done";
- $paymentData->amount = Session::get('totalAmount');
- $paymentData->save();
- } else {
- $paymentData = new PaymentData();
- $paymentData->transactionid = $transactionid;
- $paymentData->payment_id = Session::get('second_payment');
- $paymentData->payment_way_id = 1;
- $paymentData->payment_option_id = 2;
- $paymentData->status = "done";
- $paymentData->amount = Session::get('totalAmount');
- $paymentData->save();
- }
- DB::commit();
- Session::forget('second_payment');
- } catch (Exception $e) {
- DB::rollBack();
- throw $e;
- }
- /*******************************************/
- } else {
- /*******************************************/
- DB::beginTransaction();
- try {
- /*$image = new ImageService();
- $fileName = $image->storeImage($request,'image',url('/storage/app/public/payment_image/'));*/
- $fileName = null;
- /* $fileName = null;
- if($request->hasFile('image')){
- $image = $request->file('image');
- $filename = time().'.'.$image->getClientOriginalExtension();
- $location = public_path('payment_image/'.$filename);
- Image::make($image)->save($location);
- $fileName = $filename;
- }*/
- if (!Session::has('second_payment')) {
- $payment = new Payment();
- $payment->requisition_id = Session::get('requsition_id');
- $payment->amount = Session::get('totalAmount');
- $payment->save();
- $paymentData = new PaymentData();
- $paymentData->transactionid = $transactionid;
- $paymentData->payment_id = $payment->id;
- $paymentData->payment_way_id = 2;
- $paymentData->payment_option_id = 2;
- $paymentData->status = "pending";
- $paymentData->amount = Session::get('totalAmount');
- $paymentData->remarks = $request->remarks;
- if ($fileName != null) {
- $paymentData->image = $fileName;
- }
- $paymentData->save();
- } else {
- $paymentData = new PaymentData();
- $paymentData->transactionid = $transactionid;
- $paymentData->payment_id = $payment->id;
- $paymentData->payment_way_id = 2;
- $paymentData->payment_option_id = 2;
- $paymentData->status = "pending";
- $paymentData->amount = Session::get('totalAmount');
- $paymentData->remarks = $request->remarks;
- if ($fileName != null) {
- $paymentData->image = $fileName;
- }
- $paymentData->save();
- }
- DB::commit();
- Session::forget('second_payment');
- } catch (Exception $e) {
- DB::rollBack();
- throw $e;
- }
- /*******************************************/
- // insert data payment table but payment status is pending
- }
- $data = $request->paymentWay;
- return view('distribution.wmm.payment.success', [
- 'prefix' => $prefix,
- 'data' => $data,
- 'transctionid' => $transactionid
- ]);
- }
- public function paymentSubmitForPartial(Request $request, $prefix)
- {
- $transactionid = mt_rand(20000000, 999999999);
- if ($request->paymentWith == "Nagad") {
- /* $this->validate($request,[
- 'transaction_id'=>'required'
- ]);*/
- //if Nagad payment gateway return true then insert data in payment Table and payment status is done
- //check transaction_id
- // store payment
- /*******************************************/
- DB::beginTransaction();
- try {
- if (!Session::has('second_payment')) {
- $payment = new Payment();
- $payment->requisition_id = Session::get('requsition_id');
- $payment->amount = Session::get('totalAmount');
- $payment->save();
- $paymentData = new PaymentData();
- $paymentData->transactionid = $transactionid;
- $paymentData->payment_id = $payment->id;
- $paymentData->payment_way_id = 1;
- $paymentData->payment_option_id = 3;
- $paymentData->status = "done";
- $paymentData->amount = $request->partial_amount;
- $paymentData->save();
- } else {
- $paymentData = new PaymentData();
- $paymentData->transactionid = $transactionid;
- $paymentData->payment_id = Session::get('second_payment');
- $paymentData->payment_way_id = 1;
- $paymentData->payment_option_id = 3;
- $paymentData->status = "done";
- $paymentData->amount = $request->partial_amount;
- $paymentData->save();
- }
- DB::commit();
- Session::forget('second_payment');
- } catch (Exception $e) {
- DB::rollBack();
- throw $e;
- }
- /*******************************************/
- } else {
- /*******************************************/
- DB::beginTransaction();
- try {
- $image = new ImageService();
- $fileName = $image->storeImage($request, 'image', url('/storage/app/public/payment_image/'));
- if (!Session::has('second_payment')) {
- $payment = new Payment();
- $payment->requisition_id = Session::get('requsition_id');
- $payment->amount = Session::get('totalAmount');
- $payment->save();
- $paymentData = new PaymentData();
- $paymentData->transactionid = $transactionid;
- $paymentData->payment_id = $payment->id;
- $paymentData->payment_way_id = 2;
- $paymentData->payment_option_id = 3;
- $paymentData->status = "pending";
- $paymentData->amount = $request->partial_amount;
- $paymentData->remarks = $request->remarks;
- if ($fileName != null) {
- $paymentData->image = $fileName;
- }
- $paymentData->save();
- } else {
- $paymentData = new PaymentData();
- $paymentData->transactionid = $transactionid;
- $paymentData->payment_id = Session::get('second_payment');
- $paymentData->payment_way_id = 2;
- $paymentData->payment_option_id = 3;
- $paymentData->status = "pending";
- $paymentData->amount = $request->partial_amount;
- $paymentData->remarks = $request->remarks;
- if ($fileName != null) {
- $paymentData->image = $fileName;
- }
- $paymentData->save();
- }
- DB::commit();
- Session::forget('second_payment');
- } catch (Exception $e) {
- DB::rollBack();
- throw $e;
- }
- /*******************************************/
- // insert data payment table but payment status is pending
- }
- $data = $request->paymentWay;
- return view('distribution.wmm.payment.success', [
- 'prefix' => $prefix,
- 'data' => $data,
- 'transctionid' => $transactionid
- ]);
- }
- private function paymentByBankAsia($prefix)
- {
- /* return session()->all();
- return session()->get('totalAmount');*/
- $bank_asia_obj = new NagadInitailize();
- $group_id = $bank_asia_obj->getBankAsiaGroupId();
- $marchant = "Member Fees";
- $orderNo = session()->get('requsitionid');
- $amount = session()->get('totalAmount');
- $call_back = URL::to('/bank-asia');
- $url = "https://mybank.bankasia-bd.com/epayment/logIn.do?groupID=" . $group_id . "?marchant=" . $marchant . "?orderNo=" . $orderNo . "?amount=" . $amount . "?redirectUrl=" . $call_back;
- //Redirect to another page
- return Redirect::to($url);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement