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

MethodPathAçıklama
GET/payment-typesTür listesi
POST/payment-typesTür oluştur (admin/manager)
GET/paymentsÖdeme listesi
POST/paymentsÖdeme oluştur
POST/payments/importCSV ile toplu import
GET/payments/import-templateCSV şablonu indir
GET/payments/summaryÖzet (feature:payment_summary)
POST/payments/{id}/mark-paidÖdendi işaretle
POST/payments/{id}/receiptMakbuz yükle
POST/payments/{id}/send-reminderHatı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_visibility policy (default: false)

Makbuz

receipt_url + receipt_name kolonu — S3’e yüklenir.