"use server";

import { headers } from "next/headers";
import { extractDomain } from "../utils/domain";
import { PaymentPageDataWithTranslations, paymentPageService } from "../services/paymentPageService";

export async function getPaymentPageDataAction(lang?: string, franchiseeId?: string | null): Promise<PaymentPageDataWithTranslations | null> {
  const domain = await extractDomain();
  
  const headersList = await headers();
  const language = lang || headersList.get("lang") || headersList.get("language") || "en";

  
  try {
    const data = await paymentPageService.getPaymentPageData(domain, language, franchiseeId);
    return data;
  } catch (error) {
    console.error("[Action] Failed to load payment page data:", error);
    return null;
  }
}

