Files
2026-02-10 01:14:19 +00:00

44 lines
1.1 KiB
TypeScript

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 }
);
}
}