app/api/billingos-session/route.ts
import { BillingOS } from "@billingos/node";
import { getServerSession } from "next-auth";
const billing = new BillingOS({
secretKey: process.env.BILLINGOS_SECRET_KEY!,
});
export async function GET() {
const session = await getServerSession();
if (!session?.user?.id) {
return Response.json({ error: "Unauthorized" }, { status: 401 });
}
const { sessionToken, expiresAt } = await billing.createSessionToken({
externalUserId: session.user.id,
expiresIn: 3600,
});
return Response.json({ sessionToken, expiresAt });
}