export async function onRequestPost({ request, env }) { const { orderId, txHash } = await request.json() const order = await env.DB.prepare( "SELECT total FROM orders WHERE id=?" ).bind(orderId).first() if(!order) return new Response("Order not found",{status:404}) const tx = await fetch( `${env.TON_API}/getTransactions?address=${env.TON_RECEIVER}&limit=20` ) const data = await tx.json() const found = data.result.find(t=>t.transaction_id.hash===txHash) if(!found) return new Response("Transaction not found",{status:400}) const amount = Number(found.in_msg.value)/1e9 if(amount < order.total) return new Response("Amount mismatch",{status:400}) await env.DB.prepare( "UPDATE orders SET status='paid', tx_hash=? WHERE id=?" ).bind(txHash,orderId).run() return Response.json({success:true}) }