المعاملة State Machine لا HTTP Call واحد
تمر المعاملة البنكية بحالات مميزة: التقاط النية، التحقق، الاعتماد، القيد، المعالجة الخارجية عند الحاجة، المطابقة ثم النتيجة النهائية للعميل. اختصارها إلى success boolean يخفي عدم اليقين ويجعل Retries والاعتمادات والعكس ومعالجة الحوادث غير آمنة.
افصل حالة القناة عن حالة القيد المالي
- استخدم حالات صريحة وانتقالات مسموحة مع Reason/Code للرفض.
- الاعتماد مختلف عن القيد؛ قد ينجح Approval قبل اكتمال فعل مالي خارجي.
- Pending يجب أن تصف ما الذي ننتظره لا أن تكون سلة عامة.
- Reversal معاملة جديدة مضبوطة مرتبطة بالأصل وليست حذف التاريخ.
- كل تغير حالة ظاهر خارجيًا يحتاج Audit وCorrelation.
الدورة من النية إلى النهائية
تتقدم المعاملة فقط عبر انتقالات مسموحة، أما النتائج الخارجية الملتبسة فتنتظر Reconciliation بدل اختراع نجاح أو فشل.
دورة المعاملة المالية
تتقدم المعاملة فقط عبر انتقالات مسموحة، أما النتائج الخارجية الملتبسة فتنتظر Reconciliation بدل اختراع نجاح أو فشل.
ماذا تعني Pending فعلًا؟
أخطاء دورة المعاملة التي تربك العميل والتشغيل
قائمة حالات المعاملة
- ارسم State Machine والانتقالات المسموحة.
- حدد مالك كل انتقال حالة.
- افصل حالات Approval وPosting وSettlement عند الحاجة.
- حدد سلوك Unknown/Reconciliation.
- اربط مراجع الأصل والعكس والإرجاع بشكل غير قابل للتغيير.
