Ejemplo n.º 1
0
 public function postRefund(Request $request)
 {
     $transaction_id = $request->get('id');
     $error = '';
     $transaction_details = \App\Models\ProjectFund::findOrFail($transaction_id);
     $getProjectReceiverAccount = \App\Models\Project::where('id', $transaction_details->P_ID)->first();
     $getReceiverAccount = $getProjectReceiverAccount->user_id ? \App\Models\ReciverAccount::where('user_id', $getProjectReceiverAccount->user_id)->first() : Null;
     //dd($getReceiverAccount->secret_key);
     if ($getReceiverAccount->secret_key) {
         \Stripe\Stripe::setApiKey($getReceiverAccount->secret_key);
     }
     try {
         $paid_amount = $transaction_details->paid_amount * 100;
         $refund = \Stripe\Refund::create(array('amount' => $paid_amount, 'charge' => $transaction_details->transaction_id));
         //dd($refund->toArray());
         //updatating local table
         $cashWithDrawaldRequest = new \App\Models\CashWithdrawalsRequest();
         $cashWithDrawaldRequest->user_id = $getProjectReceiverAccount->user_id;
         $cashWithDrawaldRequest->status = 'request';
         $cashWithDrawaldRequest->project_fund_id = $transaction_id;
         if ($cashWithDrawaldRequest->save()) {
             $request->session()->flash('alert-success', 'Request for charge refunding is successfully posted . ');
             //return response(['msg' => 'success'   ]);
             return \Redirect::to('home/project-backed')->with('msg', 'success');
         } else {
             $request->session()->flash('alert-success', 'Request for charge refunding is not processed !');
             //return response(['msg' => 'failure'   ]);
             return \Redirect::to('home/project-backed')->with('stripe_errors', $error['message']);
         }
         ///update
     } catch (Exception $e) {
         //  dd("a");
         $e_json = $e->getMessage();
         $error = $e_json['error'];
         return response(['msg' => 'failure']);
         //return \Redirect::to('home/project-backed')->with('stripe_errors',$error['message'])	;
     }
     //dd($refund->_lastResponse);
 }