SOLVED
Here is the new controller method and it works like a charm. Earlier the cookie was not attached to response.
public function order(Request $request, $currency = null){ $currency = store_currency($currency); $plans = ServicePlan::popuplarPlansForHome('UNL', 5)->get(); $selectedPlan = $request->plan_id ? : ''; $right_now = Carbon::now(); return response()->view('checkout/order', compact('plans', 'selectedPlan', 'right_now')) ->withCookie(Cookie::forever('store_currency', $currency));}