import { NextResponse } from "next/server"; import { getBtcPayInvoiceStatus, isBtcPayConfigured } from "@/lib/btcpay"; export async function GET( _req: Request, { params }: { params: { invoiceId: string } }, ) { if (!isBtcPayConfigured()) { return NextResponse.json({ ok: false, error: "BTCPay not configured" }, { status: 503 }); } const { invoiceId } = params; if (!invoiceId || invoiceId.length < 4) { return NextResponse.json({ ok: false, error: "Invalid invoice ID" }, { status: 400 }); } const result = await getBtcPayInvoiceStatus(invoiceId); if (!result.ok) { return NextResponse.json({ ok: false, error: result.error }, { status: 502 }); } return NextResponse.json({ ok: true, status: result.status, usdAmount: result.usdAmount, btcAddress: result.paymentMethod?.destination ?? null, btcAmount: result.paymentMethod?.due ?? null, btcRate: result.paymentMethod?.rate ?? null, totalPaid: result.paymentMethod?.totalPaid ?? null, settled: result.status === "Settled", }); }