public function postPayall(Request $request) { $user_is = $request->user_infusionsoft; $app = $request->app_infusionsoft; //$affiliates = Affiliate::where('user_is_id', '=', $user_is->id)->get(); $paid_affiliates = ''; foreach ($request->affiliate_ids as $affiliate_id) { $affiliate_row = Affiliate::find($affiliate_id); $payment_sum = DB::table('payments')->select(DB::raw('sum(amount) as amount'))->where('affiliate_id', '=', $affiliate_row->id)->where('status', '=', 1)->first(); $payout = 0; if ($payment_sum) { $payout = $payment_sum->amount; } $total = $app->affRunningTotals(array($affiliate_row->aff_id)); $total_record = $total[0]; $balance = $total_record['RunningBalance'] - $payout; if ($balance <= 0) { continue; } $pay_amount = $balance; define('PAYPAL_SANDBOX', 1); define('PAYPAL_ACTION_URL', 'https://www.sandbox.paypal.com/cgi-bin/webscr'); //adaptive payment request $payRequest = new \PayRequest(); $receiver = array(); $receiver[0] = new \Receiver(); $receiver[0]->amount = $pay_amount; $receiver[0]->email = $affiliate_row['paypal_email']; $receiverList = new \ReceiverList($receiver); $payRequest->receiverList = $receiverList; $payRequest->senderEmail = $user_is->paypal_business_account; $requestEnvelope = new \RequestEnvelope("en_US"); $payRequest->requestEnvelope = $requestEnvelope; $payRequest->actionType = "PAY"; $payRequest->cancelUrl = URL::to('affiliates/'); $payRequest->returnUrl = URL::to('affiliates/'); $payRequest->currencyCode = "USD"; $payRequest->ipnNotificationUrl = URL::to('paypal/ipn'); $sdkConfig = array("mode" => PAYPAL_SANDBOX ? "sandbox" : 'live', "acct1.UserName" => $user_is->paypal_api_username, "acct1.Password" => $user_is->paypal_api_password, "acct1.Signature" => $user_is->paypal_api_signature, "acct1.AppId" => $user_is->paypal_app_id); $adaptivePaymentsService = new \AdaptivePaymentsService($sdkConfig); $payResponse = $adaptivePaymentsService->Pay($payRequest); $payment = new Payment(); $payment->affiliate_id = $affiliate_row->id; $payment->payment_key = $payResponse->payKey; $payment->amount = $pay_amount; $payment->pay_result = json_encode($payResponse); $payment->status = 1; $payment->save(); if ($payResponse->responseEnvelope->ack == 'Success') { $paid_affiliates .= $affiliate_row->first_name . ' ' . $affiliate_row->last_name . ', '; } } return redirect(URL::to('affiliates/'))->with('paid_affiliates', $paid_affiliates); }
/** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { try { $aff = Affiliate::find($id); $aff->delete(); \Session::flash('sucess_message', 'Sucessfully Deleted'); } catch (\Exception $e) { \Session::flash('error_message', 'Affiliates already deleted!'); } return redirect('myAdmin/affiliates'); }