import { Client, Environment } from "squareup" const client = new Client({ accessToken: process.env.SQUARE_ACCESS_TOKEN, environment: process.env.SQUARE_ENVIRONMENT === "production" ? Environment.Production : Environment.Sandbox, }) export async function POST(request: Request) { try { const { sourceId, orderId, amount, customerInfo } = await request.json() const paymentsApi = client.paymentsApi const paymentRequest = { sourceId, idempotencyKey: crypto.randomUUID(), amountMoney: { amount: BigInt(amount * 100), currency: "USD", }, orderId, buyerEmailAddress: customerInfo.email, note: `Payment for Aunty Sparkles order - ${customerInfo.name}`, autocomplete: true, } const response = await paymentsApi.createPayment(paymentRequest) if (response.result.payment) { return Response.json({ success: true, payment: response.result.payment, }) } else { throw new Error("Payment failed") } } catch (error) { console.error("Square payment error:", error) return Response.json({ success: false, error: "Payment failed" }, { status: 500 }) } }