getContent()); } public function handleWebhook(Request $request) { Log::info('Stripe Webhook Received: ' . $request->getContent()); $payload = $request->getContent(); $sigHeader = $request->header('Stripe-Signature'); $event = null; try { $event = Event::constructFrom( json_decode($payload, true) ); } catch (\UnexpectedValueException $e) { // Invalid payload return response()->json(['error' => 'Invalid payload'], 400); } catch (\Stripe\Exception\SignatureVerificationException $e) { // Signature verification failed return response()->json(['error' => 'Signature verification failed'], 400); } if ($event->type === 'checkout.session.completed') { $session = $event->data->object; $metadata = $session->metadata; Log::info('Meta data ' . json_encode($metadata)); $stripeSecret = (config('constants.subscription.stripe_secret_key')); // $stripe = new StripeClient($stripeSecret); $stripe = new \Stripe\StripeClient($stripeSecret); } return response()->json(['status' => 'Webhook received']); } }