/** * Request user input * create passenger * save belongsto relationship with Booking model. * * @param $request [request all user input] * @param $id [get booking id] */ public function addBookingDetail($request, $id) { $booking = $this->booking->getById($id); $givenInput = $request->all(); $data = $this->model->create($givenInput); $booking->passenger()->save($data); }
public function postPayment(Request $request) { foreach ($request->get('passengername') as $key => $name) { $passenger = Passenger::create(['reservation_id' => $request->reservation_id, 'cruise_id' => $request->cruise_id, 'name' => $name, 'identification' => $request->get('passengeridentification')[$key], 'nationality' => $request->get('passengernationality')[$key], 'contact_no' => $request->get('passengercontact')[$key], 'gender' => $request->get('passengergender')[$key]]); } $payer = new Payer(); $payer->setPaymentMethod('paypal'); $item_1 = new Item(); $item_1->setName($request->cruise_name)->setCurrency('MYR')->setQuantity(1)->setPrice($request->total); $item_list = new ItemList(); $item_list->setItems(array($item_1)); $amount = new Amount(); $amount->setCurrency('MYR')->setTotal($request->total); $transaction = new Transaction(); $transaction->setAmount($amount)->setItemList($item_list)->setDescription($request->description); $redirect_urls = new RedirectUrls(); $redirect_urls->setReturnUrl(URL::route('payment.status'))->setCancelUrl(URL::route('payment.status')); $payment = new Payment(); $payment->setIntent('Sale')->setPayer($payer)->setRedirectUrls($redirect_urls)->setTransactions(array($transaction)); try { $payment->create($this->_api_context); } catch (\PayPal\Exception\PPConnectionException $ex) { if (\Config::get('app.debug')) { echo "Exception: " . $ex->getMessage() . PHP_EOL; $err_data = json_decode($ex->getData(), true); exit; } else { die('Some error occur, sorry for inconvenient'); } } foreach ($payment->getLinks() as $link) { if ($link->getRel() == 'approval_url') { $redirect_url = $link->getHref(); break; } } // add payment ID to session Session::put('paypal_payment_id', $payment->getId()); Session::put('reservation_id', $request->reservation_id); if (isset($redirect_url)) { // redirect to paypal return Redirect::away($redirect_url); } return Redirect::route('original.route')->with('error', 'Unknown error occurred'); }
public function addItem(Request $request, $productId) { #check service $product = Product::find($productId); if (!$product) { return redirect()->route("home")->with("error", "No product select"); } $qty = $request->get("qty", 0); $user = Sentinel::getUser(); $cart = $this->_createCart(); $this->billing($cart, $request); $cartItem = new Cartitem(); $cartItem->product_id = $productId; $cartItem->cart_id = $cart->id; $cartItem->quantity = $qty; $cartItem->track_num = $request->get('track_num', ''); $cartItem->carrier = $request->get('carrier', ''); $cartItem->unit_price = $product->price; $cartItem->save(); for ($i = 0; $i < $qty; $i++) { if (!$request->has("passenger_id-" . $i)) { $birthdate = $request->get("year-dob-" . $i) . '-' . $request->get("month-dob-" . $i) . '-' . $request->get("day-dob-" . $i); $passport_expirate = $request->get("year-passportExp-" . $i) . '-' . $request->get("month-passportExp-" . $i) . '-' . $request->get("day-passportExp-" . $i); $passenger = Passenger::create(['first_name' => $request->get("fname-" . $i), 'last_name' => $request->get("lname-" . $i), 'gender' => $request->get("gender-" . $i), 'birthdate' => $birthdate, 'passport_num' => $request->get("passport-" . $i), 'passport_expirate' => $passport_expirate]); } $passenger->cartitem()->attach($cartItem); } return redirect('/cart'); }