import { Request, Response } from 'express';
import { stripe } from '../lib/stripe';

export async function getCheckoutSession(
  req: Request<{ sessionId: string }>,
  res: Response
): Promise<void> {
  try {
    if (!stripe) {
      res.status(503).json({
        error: 'Online checkout is temporarily unavailable.',
      });
      return;
    }

    const { sessionId } = req.params;
    const session = await stripe.checkout.sessions.retrieve(sessionId);
    res.json(session);
  } catch (error) {
    console.error('Error retrieving session:', error);
    const errorMessage = error instanceof Error ? error.message : 'Unknown error';
    res.status(500).json({ error: errorMessage });
  }
}

