import { NextRequest, NextResponse } from "next/server";

const BACKEND =
  process.env.MEDUSA_BACKEND_URL ||
  process.env.NEXT_PUBLIC_MEDUSA_BACKEND_URL ||
  "https://ot.azulado.cloud";

const PUBLISHABLE_KEY =
  process.env.NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY || "";

export async function GET(req: NextRequest) {
  const reference = req.nextUrl.searchParams.get("reference") || "";
  const transactionId =
    req.nextUrl.searchParams.get("id") ||
    req.nextUrl.searchParams.get("transactionId") ||
    "";

  if (!reference && !transactionId) {
    return NextResponse.json({ error: "missing_reference" }, { status: 400 });
  }

  const params = new URLSearchParams();
  if (reference) params.set("reference", reference);
  if (transactionId) params.set("transactionId", transactionId);

  const res = await fetch(`${BACKEND}/store/ot-wompi/status?${params.toString()}`, {
    cache: "no-store",
    headers: PUBLISHABLE_KEY ? { "x-publishable-api-key": PUBLISHABLE_KEY } : {},
  });
  const data = await res.json().catch(() => ({}));
  return NextResponse.json(data, { status: res.status });
}
