-- Dunning görünürlüğü: yenileme tahsilatı patlayınca (invoice.payment_failed) -- damgalanır, fatura ödenince (invoice.paid) veya abonelik kesin iptal olunca -- temizlenir. dunning_invoice_url = Stripe hosted fatura sayfası — kullanıcının -- açık faturayı ödeyebileceği/yeni kart girebileceği TEK self-serve yüzey -- (uygulamada kart-güncelleme yok; %0 dunning kurtarmanın kök nedeni buydu). -- IF NOT EXISTS → idempotent. ALTER TABLE "user_subscriptions" ADD COLUMN IF NOT EXISTS "dunning_since" timestamp with time zone; --> statement-breakpoint ALTER TABLE "user_subscriptions" ADD COLUMN IF NOT EXISTS "dunning_invoice_url" text;