الصرف والتسويات
الصرف والتسويات
الفرق بين الصرف والتسوية
الصرف يحرك مبلغًا من محفظة إلى وجهة دفع محددة، بينما التسوية تجمع فترة تشغيل لمحفظة وتخضع لدورة مراجعة وتنفيذ. كلاهما ليس عملية فورية غير مشروطة؛ توجد حالات واعتمادات وانتقالات يجب احترامها.
حالات الصرف
الصرف يبدأ pending ثم قد ينتقل إلى under_review وapproved وexecuting وexecuted. توجد حالات rejected وfailed وcancelled. لا ترسل execute قبل الموافقة، ولا تفترض أن failed نهائية دائمًا؛ يسمح النموذج بإعادة التنفيذ أو الإلغاء وفق السياسة.
حالات التسوية
التسوية تبدأ pending ثم approved أو rejected أو cancelled، وبعد الموافقة تنتقل إلى executing ثم executed أو failed. استخدم Endpoint الحالة أو القائمة بدل بناء الحالة من أزرار واجهتك.
مفاتيح منع التكرار
إنشاء الصرف والتسوية يحتاج idempotency_key داخل الجسم. الموافقة والرفض والتنفيذ هي نيات مستقلة؛ لا تكررها تلقائيًا دون قراءة الحالة الحالية. عند 409 أعد تحميل المورد قبل اتخاذ قرار.
التقارير والتدقيق
استخدم تقارير الصرف والتسوية للفترة، واحتفظ بمعرفات الموافقة والمنفذ وأسباب الرفض والإلغاء. لا تعدل السجلات السابقة لتصحيح خطأ؛ أنشئ الحركة التصحيحية المناسبة واترك الأثر قابلًا للتدقيق.