Esempio n. 1
0
 public function checkout()
 {
     $cart = Cart::where('user_id', Auth::user()->id)->first();
     $items = $cart->cartItems;
     foreach ($items as $item) {
         CartItem::destroy($item->id);
         $productID = $item['product_id'];
         $product = Product::where('id', $productID)->first();
         if ($product->stock > 0) {
             $newStock = $product->stock;
             $newStock -= 1;
             Product::where('id', $productID)->update(['stock' => $newStock]);
             $purchase = new Purchase();
             $purchase->user_id = Auth::user()->id;
             $purchase->product_id = $productID;
             $purchase->save();
         }
     }
     $products = Product::all();
     return view('main.index', ['products' => $products]);
 }
 public function checkout(Request $request)
 {
     $token = $request->input('stripeToken');
     //Retriieve cart information
     $cart = Cart::where('user_id', Auth::user()->id)->first();
     $items = $cart->cartItems;
     $total = 0;
     foreach ($items as $item) {
         $total += $item->product->price;
     }
     if (Auth::user()->charge($total * 100, ['source' => $token, 'receipt_email' => Auth::user()->email])) {
         $order = new Order();
         $order->total_paid = $total;
         $order->user_id = Auth::user()->id;
         $order->save();
         foreach ($items as $item) {
             $orderItem = new OrderItem();
             $orderItem->order_id = $order->id;
             $orderItem->product_id = $item->product->id;
             $orderItem->file_id = $item->product->file->id;
             $orderItem->save();
             CartItem::destroy($item->id);
         }
         return redirect('/order/' . $order->id);
     } else {
         return redirect('/cart');
     }
 }