Proje: Okul Platform · Hub: Okul Platform — Domain

Ödeme Akışı Genel Görünüm

İki farklı ödeme akışı var:

1. Checkout Tabanlı Ödeme (B2B)

  1. Admin Checkout oluşturur (ürün paketi)
  2. POST /admin/checkouts/{id}/send-payment-link — Ödeme linki müşteriye gönderilir
  3. Müşteri ödeme yapar
  4. POST /admin/checkouts/{id}/approve — Ödeme onaylanır

2. Kredi Kartı Ödemesi

CreditCardPayment modeli — Doğrudan kart ile ödeme. CustomerCreditCard — Kayıtlı kredi kartları. CREDIT_CARD_USER_ID = 33 (User modeli sabit) — Özel sistem kullanıcısı.

PaymentStatus Enum (Customers namespace)

pending            → Bekliyor
success            → Başarılı
failed             → Başarısız
future_payment     → Gelecek ödeme
future_payment_failed → Gelecek ödeme başarısız
payment_request    → Ödeme talebi
cancelled          → İptal edildi
refund             → İade
in_progress        → Devam ediyor
in_progress_failed → Devam ederken başarısız

PAYMENT_NEGATIVE_VALUES: future_payment_failed, failed, in_progress_failed

CreditCardPayment Model Alanları

  • amount — Tutar
  • instalment — Taksit sayısı
  • school_id, product_id, user_id — Bağlantılar
  • payment_id, payment_transaction_id — Ödeme sağlayıcı referansları
  • order_ref, ref_no — Sipariş/referans numaraları
  • status — Ödeme durumu
  • return_code, error_group, error_message — Hata detayları
  • alias — Kayıtlı kart alias

İzinler (Finance Rolü)

  • VIEW_PAYMENT, ADD_PAYMENT, EDIT_PAYMENT, DELETE_PAYMENT, REPEAT_PAYMENT
  • ADD_CREDIT_CARD, EDIT_CREDIT_CARD, DELETE_CREDIT_CARD
  • ACCESS_PAYMENT_REPORT_EXPORT — Ödeme raporu export

Ödeme Yöntemi

PaymentMethod modeli + PaymentFrequency — Ödeme yöntemi ve sıklığı
SchoolFeePaymentMethod — Okul bazlı ödeme yöntemi

Enflasyon

InflationRate modeli — Sözleşme tutarlarının enflasyona göre güncellenmesi için. Customer::is_inflation_auto_updated = true → Otomatik güncelleme aktif.