/** * @param $data * * @return Order|mixed|static */ public function placeOrder($data) { $cart_data = $this->shoppingCart->displayShoppingCart(); $data = ['cart_data' => $cart_data, 'user_data' => array_get($this->checkoutCookie->fetch()->get(), 'data'), 'products_data' => $this->shoppingCart->retrieveProductsInCart()]; $this->order = $this->add($data); $this->saveOrderInCookie(null); return $this->order; }