public function store(PaymentRequest $request) { Payment::create($request->all()); /*$expense = Expense::latest()->first(); $project = Project::find($expense->project_id); \Session::flash('flash_message', 'Expense for $' . $expense->amount_paid . ' was added for ' . $project->project_name . ' project.'); */ return redirect('expenses'); }
/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(PaymentRequest $request, $id) { $payment = Payment::find($id); $payment->update($request->all()); return redirect('payments'); }
/** * Purchase Paypal * @param PaymentRequest $request * @param $productId * @return $this|\Illuminate\Http\RedirectResponse */ public function purchasePaypal(PaymentRequest $request, $productId) { $input = $request->all(); list($product, $items, $total, $totalDollar) = $this->getPurchasedOptions($productId); if ($input['payment_method'] == 2) { $config = array('mode' => $this->modeApiPaypal, 'acct1.UserName' => $this->userApiPaypal, 'acct1.Password' => $this->passwordApiPaypal, 'acct1.Signature' => $this->signatureApiPaypal); // Create request details $setECReqDetails = new SetExpressCheckoutRequestDetailsType(); // descripcion del item comprado $descriptionPayment = ""; $total = 0; if ($product->option_id) { $option = Option::findOrFail($product->option_id); $descriptionPayment .= $option->name . ' ' . $option->price; $total += $option->price; } if ($product->tags->count()) { $descriptionPayment .= ' - Etiqueta: ' . $product->tags->first()->name . ' ' . $product->tags->first()->price; $total += $product->tags->first()->price; } $itemAmount = new BasicAmountType('USD', $totalDollar); $itemDetails = new PaymentDetailsItemType(); $itemDetails->Name = $descriptionPayment; $itemDetails->Amount = $itemAmount; $itemDetails->Quantity = 1; $paymentDetails = new PaymentDetailsType(); $paymentDetails->PaymentDetailsItem[0] = $itemDetails; $setECReqDetails->PaymentDetails[0] = $paymentDetails; $setECReqDetails->OrderTotal = $itemAmount; $setECReqDetails->OrderDescription = $descriptionPayment; //$setECReqDetails->PaymentAction = "Sale"; //$setECReqDetails->cppheaderbackcolor = "#000000"; $setECReqDetails->CancelURL = route('product_payment', $productId); $setECReqDetails->ReturnURL = route('paypal_receipt'); $setECReqDetails->Custom = $productId; $setECReqType = new SetExpressCheckoutRequestType(); $setECReqType->SetExpressCheckoutRequestDetails = $setECReqDetails; // Create request $setECReq = new SetExpressCheckoutReq(); $setECReq->SetExpressCheckoutRequest = $setECReqType; // Perform request $paypalService = new PayPalAPIInterfaceServiceService($config); $setECResponse = $paypalService->SetExpressCheckout($setECReq); $tokenPaypal = $setECResponse->Token; // Check results if ($setECResponse->Ack == 'Success') { } else { flash('Respuesta Inválida'); return redirect()->back(); } Log::info('results of PAYPAL: ' . json_encode($setECResponse)); } $paymentMethod = 2; return view('products.purchase')->with(compact('product', 'items', 'total', 'totalDollar', 'input', 'tokenPaypal', 'paymentMethod')); }