diff --git a/docs/PROGRESS.md b/docs/PROGRESS.md index d05aff8..738efaa 100644 --- a/docs/PROGRESS.md +++ b/docs/PROGRESS.md @@ -19,10 +19,14 @@ Faz tanımları için [ROADMAP.md](./ROADMAP.md). Bu dosya ne yapıldığını, **Backend:** `POST /subscription/webhook` gerçek mantıkla yazıldı — Authorization header'ı (shared secret) doğruluyor, RevenueCat event tipini `subscriptions.status`'a çeviriyor (`INITIAL_PURCHASE`/`RENEWAL`/`PRODUCT_CHANGE`/`UNCANCELLATION` → active, `BILLING_ISSUE` → grace_period, `EXPIRATION` → suspended; `CANCELLATION` tek başına suspend etmiyor, sadece auto-renew kapanıyor). Gerçek Supabase'e karşı uçtan uca test edildi. +**Tamamlandı (devamı, 2026-08-20):** +- `REVENUECAT_WEBHOOK_SECRET` env değişkeni API servisine eklendi, RevenueCat Dashboard'da webhook (URL + Authorization header) kullanıcı tarafından yapılandırıldı. +- Mobile: `react-native-purchases` SDK'sı kuruldu (`apps/mobile/src/lib/purchases.ts`). `Purchases.configure({ appUserID: restaurantId })` restaurantId'nin bilindiği her noktada (login sonrası, cold-start rehydration, onboarding restoran oluşturma) çağrılıyor — webhook'un `app_user_id`'yi doğru eşleştirmesi için bu şart. +- `apps/mobile/src/app/account/subscription.tsx` — paywall ekranı: mevcut entitlement durumu, offering paketleri (gerçek mağaza fiyatlarıyla), satın alma, restore. Hesap ekranından linklendi. + **Kalan (henüz yapılmadı):** -- Mobile'da `react-native-purchases` SDK'sı hiç kurulu değil — paywall ekranı, `Purchases.configure({ appUserID: restaurantId })` çağrısı, satın alma akışı yazılmadı. Webhook'un `app_user_id`'yi restoran ID'si olarak eşleştirebilmesi için bu SDK entegrasyonu **zorunlu**. -- RevenueCat Dashboard'da webhook URL'i (`https://api.menul.io/subscription/webhook`) ve Authorization header değeri (`Bearer test_MoTphXMYyNDmzeBCbvYVhfrcCjl`) henüz elle girilmedi. -- API servisine `REVENUECAT_WEBHOOK_SECRET` env değişkeni henüz prod'a eklenmedi (local `.env`'de var, Coolify'a taşınmadı). +- Gerçek cihazda satın alma akışı hiç test edilmedi — native modül olduğu için Expo Go'da çalışmaz, EAS/dev-client build gerekiyor (TestFlight build'leri zaten bunu kullanıyor). +- Trial süresi / onboarding'de "7 gün ücretsiz dene" akışı henüz kurulmadı — şu an paywall sadece hesap ekranından manuel erişilebiliyor, hiçbir özellik Pro'ya kilitli değil. ## Faz 0 — Altyapı ✅ (2026-08-19)