feat(FN-343): remove lingering iyzico references after Stripe migration (+1 more)
Commits merged: - chore(FN-343): remove lingering iyzico references from docs, config, and scripts - feat(FN-343): remove lingering iyzico references after Stripe migration Files changed: CLAUDE.md | 10 +++++----- README.md | 2 +- apps/api/src/database/schema/core.ts | 1 + apps/web/src/messages/en.json | 1 - apps/web/src/messages/tr.json | 1 - apps/web/src/routes/dashboard/billing.tsx | 6 +++--- docker-compose.coolify.yml | 5 ++--- docs/INDEX.md | 27 ++++++++++++------------- knowledge.md | 30 ++++++++++++++-------------- packages/shared/src/constants/error-codes.ts | 1 - packages/shared/src/index.ts | 1 - packages/shared/src/types/payment.ts | 12 +---------- scripts/fn342-pw-verify.mjs | 2 +- scripts/validate-env.sh | 3 +-- 14 files changed, 43 insertions(+), 59 deletions(-) Fusion-Task-Id: FN-343
This commit is contained in:
30
knowledge.md
30
knowledge.md
@@ -15,7 +15,7 @@ SASE v2, araç sahiplerinin VIN numarasını girerek aracın markasını, modeli
|
||||
- OEM kod arama ve kopyalama
|
||||
- VIN-less katalog tarayıcısı (marka → model → kategori)
|
||||
- Abonelik yönetimi: marka bazlı erişim kontrolü
|
||||
- Iyzico kart + EFT ödeme yöntemleri
|
||||
- Stripe kart + EFT ödeme yöntemleri
|
||||
- Referral sistemi
|
||||
|
||||
---
|
||||
@@ -37,7 +37,7 @@ SASE v2, araç sahiplerinin VIN numarasını girerek aracın markasını, modeli
|
||||
| Auth | Better Auth | 1.2 |
|
||||
| Dosya Depolama | MinIO (S3) | — |
|
||||
| E-posta | Postal | — |
|
||||
| Ödeme | Iyzico | — |
|
||||
| Ödeme | Stripe | — |
|
||||
| Browser Otomasyon | Playwright | 1.50 |
|
||||
| HTTP İstemci | undici | 7.22 |
|
||||
| Rate Limiting | @nestjs/throttler | 6.3 |
|
||||
@@ -89,7 +89,7 @@ ss/ (repo root)
|
||||
│ │ ├── brands/ # Marka CRUD
|
||||
│ │ ├── plans/ # Fiyat planları CRUD
|
||||
│ │ ├── subscriptions/ # Abonelik yaşam döngüsü
|
||||
│ │ ├── payments/ # Iyzico + EFT ödeme
|
||||
│ │ ├── payments/ # Stripe + EFT ödeme
|
||||
│ │ ├── referrals/ # Referral programı
|
||||
│ │ ├── vehicles/ # VIN decode + araç geçmişi
|
||||
│ │ ├── categories/ # Parça kategorisi ağacı
|
||||
@@ -281,9 +281,9 @@ ss/ (repo root)
|
||||
| subscriptionId | uuid | NOT NULL, FK → userSubscriptions.id |
|
||||
| amount | integer | NOT NULL (kuruş) |
|
||||
| currency | varchar(3) | default "TRY" |
|
||||
| method | varchar(20) | NOT NULL → "iyzico" \| "eft" |
|
||||
| method | varchar(20) | NOT NULL → "stripe" \| "eft" |
|
||||
| status | varchar(20) | default "pending" → "pending" \| "completed" \| "failed" \| "refunded" |
|
||||
| iyzicoPaymentId | text | nullable |
|
||||
| stripePaymentIntentId | text | nullable |
|
||||
| eftReceiptUrl | text | nullable |
|
||||
| adminNote | text | nullable |
|
||||
| createdAt | timestamptz | default now() |
|
||||
@@ -631,8 +631,8 @@ Better Auth dahili route'ları: `POST /api/auth/sign-in/email`, `POST /api/auth/
|
||||
|
||||
| Method | Path | Auth | Açıklama | Body |
|
||||
|--------|------|------|---------|------|
|
||||
| `POST` | `/payments/iyzico/initialize` | Protected | Iyzico ödeme başlat | `{ planKey, billingPeriod, brandIds[] }` |
|
||||
| `POST` | `/payments/iyzico/callback` | Public | Iyzico webhook | `{ paymentId, iyzicoPaymentId, status }` |
|
||||
| `POST` | `/payments/stripe/checkout` | Protected | Stripe ödeme başlat | `{ planKey, billingPeriod, brandIds[] }` |
|
||||
| `POST` | `/payments/stripe/webhook` | Public | Stripe webhook | `{ type, data }` |
|
||||
| `POST` | `/payments/eft` | Protected | EFT ödeme oluştur | `{ planKey, billingPeriod, brandIds[] }` |
|
||||
| `POST` | `/payments/eft/:id/receipt` | Protected | EFT makbuz yükle (multipart, PNG/JPG/PDF max 5MB) | `file` |
|
||||
| `PATCH` | `/payments/eft/:id/approve` | Admin | EFT ödeme onayla | `{ adminNote? }` |
|
||||
@@ -817,7 +817,7 @@ Better Auth dahili route'ları: `POST /api/auth/sign-in/email`, `POST /api/auth/
|
||||
| SUB_003 | Abonelik | Geçersiz marka sayısı |
|
||||
| SUB_004 | Abonelik | Abonelik zaten aktif |
|
||||
| PAY_001 | Ödeme | Ödeme başarısız |
|
||||
| PAY_002 | Ödeme | Iyzico hatası |
|
||||
| PAY_002 | Ödeme | Stripe hatası |
|
||||
| PAY_003 | Ödeme | EFT makbuzu gerekli |
|
||||
| PAY_004 | Ödeme | Ödeme zaten işlenmiş |
|
||||
| GEN_001 | Genel | Bulunamadı |
|
||||
@@ -864,10 +864,10 @@ cancelled → (yeniden başlatma, süre içinde) → active
|
||||
|
||||
### Ödeme Akışı
|
||||
|
||||
**Iyzico (Kart):**
|
||||
1. `POST /payments/iyzico/initialize` → Iyzico token alınır
|
||||
2. Kullanıcı iyzico formunda ödeme yapar
|
||||
3. `POST /payments/iyzico/callback` webhook'u aboneliği aktifleştirir
|
||||
**Stripe (Kart):**
|
||||
1. `POST /payments/stripe/checkout` → Stripe Checkout Session oluşturulur
|
||||
2. Kullanıcı Stripe ödeme sayfasına yönlendirilir
|
||||
3. `POST /payments/stripe/webhook` webhook'u aboneliği aktifleştirir
|
||||
|
||||
**EFT (Havale):**
|
||||
1. `POST /payments/eft` → EFT kaydı oluşturulur, banka bilgileri gösterilir
|
||||
@@ -1229,8 +1229,8 @@ Plan { id, name, brandCount, priceMonthly, priceYearly, isActive, createdAt }
|
||||
Subscription { id, userId, planId, status, startDate, endDate, cancelledAt, createdAt }
|
||||
SubscriptionStatus = "pending" | "active" | "cancelled" | "expired"
|
||||
UserBrand { id, userId, subscriptionId, brandId, createdAt }
|
||||
Payment { id, userId, subscriptionId, amount, currency, method, status, iyzicoPaymentId, eftReceiptUrl, adminNote, createdAt }
|
||||
PaymentMethod = "iyzico" | "eft"
|
||||
Payment { id, userId, subscriptionId, amount, currency, method, status, stripePaymentIntentId, eftReceiptUrl, adminNote, createdAt }
|
||||
PaymentMethod = "stripe" | "eft"
|
||||
PaymentStatus = "pending" | "completed" | "failed" | "refunded"
|
||||
CreateSubscriptionInput { planId, brandIds: string[], billingPeriod }
|
||||
|
||||
@@ -1356,7 +1356,7 @@ shadcn/Radix tabanlı bileşen kütüphanesi.
|
||||
| Değişken | Grup | Açıklama |
|
||||
|---------|------|---------|
|
||||
| `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET` | OAuth | Google OAuth |
|
||||
| `IYZICO_API_KEY`, `IYZICO_SECRET_KEY`, `IYZICO_BASE_URL` | Ödeme | Iyzico entegrasyonu |
|
||||
| `STRIPE_SECRET_KEY`, `STRIPE_PUBLISHABLE_KEY` | Ödeme | Stripe entegrasyonu |
|
||||
| `PL24_BASE_URL`, `PL24_COMPANY_CODE`, `PL24_USERNAME`, `PL24_PASSWORD` | PL24 | PL24 katalog API |
|
||||
| `EMEX_USERNAME`, `EMEX_PASSWORD` | EMEX | EMEX scraper |
|
||||
| `PCAT_PROXY_USER`, `PCAT_PROXY_PASS` | PartsCatalogs | Playwright proxy |
|
||||
|
||||
Reference in New Issue
Block a user