input('bill'); $name = $data->input('name'); $phone = $data->input('phone'); $address = $data->input('address'); return view( 'stripe', compact('bill', 'name', 'phone', 'address') ); } /** * success response method. * * @return \Illuminate\Http\Response */ public function stripePost(Request $request) { Stripe\Stripe::setApiKey(env('STRIPE_SECRET')); Stripe\Charge::create([ "amount" => $request->input('bill') * 100, "currency" => "usd", "source" => $request->stripeToken, "description" => "Payment Successfull!" ]); Session::flash('success', 'Payment successful!'); if (session()->has('id')) { $order = new Order(); $order->status = "Pending"; $order->customerId = session()->get('id'); $order->name = $request->input('name'); $order->phone = $request->input('phone'); $order->address = $request->input('address'); $order->bill = $request->input('bill'); if ($order->save()) { $cartItems = Cart::where('customerId', session()->get('id'))->get(); foreach ($cartItems as $item) { $product = Products::find($item->productId); $orderItem = new OrderItem(); $orderItem->orderId = $order->id; $orderItem->productId = $item->productId; $orderItem->quantity = $item->quantity; $orderItem->price = $product->price; $orderItem->save(); $item->delete(); } return redirect('/cart')->back()->with('success', 'Order placed successfully!'); } } return back(); } }