import { NextResponse } from "next/server"; import { stripeClient } from "../../../../../lib/stripeClient"; export async function GET(req: Request) { try { const { searchParams } = new URL(req.url); const accountId = searchParams.get("accountId"); if (!accountId) { return NextResponse.json( { error: "accountId is required." }, { status: 400 } ); } const account = await stripeClient.v2.core.accounts.retrieve(accountId, { include: ["configuration.merchant", "requirements"], }); const readyToProcessPayments = account?.configuration?.merchant?.capabilities?.card_payments?.status === "active"; const requirementsStatus = account?.requirements?.summary?.minimum_deadline?.status; const onboardingComplete = requirementsStatus !== "currently_due" && requirementsStatus !== "past_due"; return NextResponse.json({ readyToProcessPayments, onboardingComplete, requirementsStatus, }); } catch (err: any) { return NextResponse.json( { error: err?.message || "Failed to fetch account status." }, { status: 500 } ); } }