user(); if ($planner->hasActiveSubscription()) { return redirect()->route('dashboard'); } Subscription::create([ 'planner_id' => $planner->id, 'stripe_subscription_id' => 'mock_' . Str::random(14), 'stripe_customer_id' => 'mock_' . Str::random(14), 'status' => SubscriptionStatusEnum::ACTIVE, 'plan' => 'default', ]); return redirect()->route('dashboard')->with('success', 'Subscription activated!'); } public function cancel(Request $request): RedirectResponse { $subscription = $request->user()->subscription; if (! $subscription) { return back()->with('error', 'No active subscription found.'); } $subscription->update([ 'status' => SubscriptionStatusEnum::CANCELED, 'ends_at' => now()->addDays(1), // Placeholder until Stripe webhook sets actual end date ]); return back()->with('success', 'Subscription canceled. Access will continue until the end of your billing period.'); } }