import { supabase } from '../supabase'; export async function createCheckout(amount: number, tier: 'premium') { const { data, error } = await supabase.functions.invoke('create-payment', { body: { amount, currency: 'USD', tier, description: `InSpot ${tier} Subscription`, }, }); if (error) throw error; return data as { checkoutUrl: string; paymentId: string }; } export async function pollPaymentStatus(paymentId: string, maxAttempts = 20) { for (let i = 0; i < maxAttempts; i++) { const { data, error } = await supabase .from('payments') .select('status') .eq('id', paymentId) .single(); if (error) throw error; if (data.status === 'paid' || data.status === 'failed') return data.status; await new Promise((resolve) => setTimeout(resolve, 3000)); } return 'pending'; }