انتهاء صلاحية الدفعات (Phase 9.1)
المصدر: الكود الحالي +
docs/STUDENTPAY_PHASE9_1_IMPLEMENTATION_REPORT.md. لم تُغيَّر قواعد الأعمال في مهمة البوابة.القرار A — TTL للدفعات الجديدة
- المدة الافتراضية: 30 دقيقة من لحظة الإنشاء/الحجز على الخادم (
AppTimezone). - المفتاح:
PENDING_PAYMENT_TTL_MINUTES(الاسم فقط — بلا قيمة سرية). - قيمة
expires_atمن العميل لا تتجاوز TTL الخادم.
القرار B — السجلات القديمة NULL
- لا backfill، لا انتهاء تلقائي، لا تحرير حجز بسبب الفراغ.
- تبقى للمراجعة/التحصيل/الإلغاء اليدوي.
القرار C — جدولة الاختبار
- مثال كل 5 دقائق موجود في المستودع كملف توثيق/مثال.
- Implemented, not fully verified as installed — التقرير يؤكد عدم تفعيل cron نظام/إنتاج.
- الأمر المعاد استخدامه:
bin/expire-pending-payments.phpمع--dry-runوهدفstudentpay_test.
أدلة اختبار (تقارير تاريخية)
نتائج Feature مذكورة في تقرير Phase 9.1 (مثل OK 184/1826). هذه أرقام تقرير؛ لم تُعاد كلّها أثناء بناء البوابة.