@php /** @var \App\Models\ApiEndpointOffer|null $offer */ $offer = $offer ?? null; $groupLabels = [ 'charts' => 'Haritalar (charts)', 'drawings' => 'Çizimler (drawings)', 'predictive' => 'Öngörüsel (predictive)', 'ai' => 'AI Yorum (ai)', ]; // İstek başı fiyat yalnızca yardımcı bir alan: POST edilmez, toplam fiyattan türetilir. $formRequests = (float) old('requests', $offer?->requests ?? 0); $formPrice = (float) str_replace(',', '.', (string) old('price', $offer?->price ?? 0)); $unitPrice = $formRequests > 0 ? round($formPrice / $formRequests, 6) : null; @endphp
Ücretsiz (free) grubundaki uçlar satılamaz, listede yer almaz. @error('sku')
{{ $message }}
@enderror
Pago único → saldo SKU, mensual → suscripción al endpoint. @error('billing_type')
{{ $message }}
@enderror
En el paquete mensual cuota periódica, en el pago único saldo total. @error('requests')
{{ $message }}
@enderror
{{-- Fiyatlandırma: birim × istek = toplam. İki alan JS ile çift yönlü senkronize edilir, backend'e YALNIZCA "price" (toplam) gider. --}}
Yardımcı alan — kaydedilmez, toplam fiyatı hesaplamak için.
Müşterinin ödediği paket fiyatı — kaydedilen değer budur. @error('price')
{{ $message }}
@enderror
Listeleme sırası — küçük değer önce gösterilir. Araya yeni kayıt ekleyebilmek için 10'ar arayla girmeniz önerilir (10, 20, 30...). @error('sort_order')
{{ $message }}
@enderror
Pasif paketler satın alma sayfasında görünmez.
{{-- İstek başı fiyat <-> toplam fiyat çift yönlü senkronizasyon (saf UI yardımcısı). Her dinleyici YALNIZCA karşı alana yazar, bu yüzden döngü oluşmaz. --}}