import { NextResponse } from 'next/server'; import { Client, CheckoutAPI } from '@adyen/api-library'; import { supabaseAdmin } from '@/lib/supabase'; export async function POST(req:Request){ try{ const {orderId}=await req.json(); if(!orderId) return NextResponse.json({error:'Order ontbreekt.'},{status:400}); const site=process.env.NEXT_PUBLIC_SITE_URL!; const sb=supabaseAdmin(); const client=new Client({apiKey:process.env.ADYEN_API_KEY!, environment:(process.env.ADYEN_ENVIRONMENT as any)||'TEST'}); const checkout=new CheckoutAPI(client); const session=await checkout.PaymentsApi.sessions({merchantAccount:process.env.ADYEN_MERCHANT_ACCOUNT!, amount:{currency:'EUR',value:1995}, reference:orderId, returnUrl:`${site}/payment-result?orderId=${orderId}`, countryCode:'NL', shopperLocale:'nl-NL'} as any); await sb.from('orders').update({adyen_session_id:(session as any).id}).eq('id',orderId); return NextResponse.json({session}); }catch(e:any){return NextResponse.json({error:e.message||'Adyen fout'},{status:500})} }