public function address(Request $request) { $user = $this->getUserFromCookies($request); $cart = $this->getCartOrNewCart($user); $user->email = $request->get('email'); $user->save(); $address = null; if ($request->input('type') == Address::TYPE_SHIPPING) { $address = $cart->shippingAddress(); } else { if ($request->input('type') == Address::TYPE_BILLING) { $address = $cart->billingAddress(); } } if (!$address) { $address = new Address(); $cart->addresses()->save($address); } $address->fill($request->all()); $address->save(); if ($address->type == Address::TYPE_SHIPPING) { $price = $cart->getTotalPrice(); $util = new PaylineUtility(); $response = $util->stepOne($address, $price); $xml = simplexml_load_string($response->getBody()->__toString()); Log::Info($xml->{"form-url"}); return $this->success(array("url" => $xml->{"form-url"}->__toString())); } return $this->success(); }
public function thankYou(Request $request) { $cartId = $request->input('cart-id'); $cart = Cart::find($cartId); $token = $request->input('token-id'); if (!$cartId || !$cart || !$token) { Log::error("Thank you page accessed with no token-id or invalid cart"); return redirect('/'); } if ($cart->status != Cart::STATUS_CLOSED) { $util = new PaylineUtility(); $errors = $util->stepThree($token); if (!is_null($errors)) { return redirect('/my-cart?section=billing&error=' . urlencode($errors)); } $cart->status = Cart::STATUS_CLOSED; $cart->save(); $mailer = new EmailUtil(); $mailer->sendReceipt($cart); } return response()->view('thankYou', array('cartId' => $cartId, 'cartItemCount' => 0)); }