Proje: OkulUp API · Hub: OkulUp API — Domain
OkulUp API — Ödeme Modülü
Payment Durumları
pending --> paid (mark-paid ile)
--> overdue (due_date geçince checkOverdue() çağrısıyla)
--> cancelled
Payment::checkOverdue() → pending + due_date.isPast() ise overdue’ya çevirir.
Payment Type
Her okul kendi ödeme kategorilerini tanımlar (payment_types tablosu). Örneğin: “Okul Ücreti”, “Servis”, “Yemek” vb.
API Endpoint’leri
| Method | Path | Açıklama |
|---|---|---|
| GET | /payment-types | Tür listesi |
| POST | /payment-types | Tür oluştur (admin/manager) |
| GET | /payments | Ödeme listesi |
| POST | /payments | Ödeme oluştur |
| POST | /payments/import | CSV ile toplu import |
| GET | /payments/import-template | CSV şablonu indir |
| GET | /payments/summary | Özet (feature:payment_summary) |
| POST | /payments/{id}/mark-paid | Ödendi işaretle |
| POST | /payments/{id}/receipt | Makbuz yükle |
| POST | /payments/{id}/send-reminder | Hatırlatma gönder |
CSV Import
PaymentImportFileParser + PaymentImportService — CSV dosyası ile toplu ödeme kaydı.
Import template endpoint şablon dosyasını indirir.
Yetki
- Görüntüleme: admin, manager, parent (kendi çocuğu), student (kendisi)
- Oluşturma/Yönetim: sadece admin/manager
- Öğretmen görünürlüğü:
allow_teacher_payment_visibilitypolicy (default: false)
Makbuz
receipt_url + receipt_name kolonu — S3’e yüklenir.
Related
- feature-flag-sistemi — payment_summary feature flag
- akademik-ozet-raporu — payment summary bloğu
- veritabani-sema — payments tablosu