import { NextRequest, NextResponse } from "next/server"; import { getPaymentConfig } from "@/config/services.config"; export async function GET(request: NextRequest) { const orderId = request.nextUrl.searchParams.get("order_id"); if (!orderId) { return NextResponse.json({ ok: false, error: "缺少 order_id" }, { status: 400 }); } const payConfig = getPaymentConfig(); const apiUrl = payConfig.apiUrl.replace(/\/$/, ""); try { const controller = new AbortController(); const timeout = setTimeout(() => controller.abort(), 25000); // 使用 order_status 通用接口(xorpay 查 PocketBase,zpay 查 ZPAY) const res = await fetch( `${apiUrl}/nomadvip/order_status?order_id=${encodeURIComponent(orderId)}`, { cache: "no-store", signal: controller.signal } ).finally(() => clearTimeout(timeout)); const data = await res.json().catch(() => ({})); return NextResponse.json({ ok: true, paid: !!data?.paid }); } catch (e) { return NextResponse.json({ ok: true, paid: false }); } }