الخلاصة

  • قد يختفي ردّ أداة الدفع بينما تكون قد نفذت العملية. إعادة المبلغ إلى رصيد وكيل الشركة عندئذ قد تمنح شراءً ثانياً من سقف وافقت الشركة عليه مرة واحدة.
  • تضيف المراجعة 01 لمسودة فردية سجلاً يجمع المبلغ المصروف والمحجوز والطلب الجديد ونسخة الرصيد التي استند إليها قرار السماح؛ إعادة الطلب نفسه تحتفظ بحجزها الأول.

من يدفع فاتورة الصمت؟

فقدان ردّ واحد قد يجعل سقف إنفاق الشركة يبدو أوسع مما أقرّته. تضع الشركة حداً لما يستطيع وكيلها الآلي دفعه مقابل الخدمات. يأذن النظام بشراء أول، ثم تضيع رسالة الرد من الأداة. قد تكون العملية نُفذت بالفعل، لكن سجل الوكيل لا يعرف النتيجة. إذا عاد مبلغها إلى خانة «المتاح»، يستطيع نظام السماح أن يجيز شراءً ثانياً من المال الذي خُصص للأول. عند التسوية قد تصل فاتورتان رغم أن التفويض لم يغطِّ إلا واحدة. تعالج المراجعة الجديدة لمسودة Sankalp Gilda هذه الفجوة: يبقى المبلغ محجوزاً إلى أن يصف سجل للطلب نفسه الأثر الذي شوهد.

نُشرت رسالة الإعلان في 27 أكتوبر، وتعرض صفحة IETF Datatracker النص بوصفه Internet-Draft فردية. لا تسجل الوثيقة عملية دفع واقعية. الجديد مقارنة بالنسخة 00 هو القسم 5.9: كيف توثق قراراً يقع تحت سقف تراكمي، لا تحت فحص لمبلغ منفرد فحسب.

لا يحمي السقفُ فحصَ كل عملية وحدها. يجب جمع ما استُهلك بالفعل، وما سُمح به لكنه ينتظر التسوية، ثم الطلب الجديد. وتاريخ الرصيد وحده لا يخبرنا هل أُدرجت فيه التزامات معلقة. لذلك يحمل سجل حالة الاستهلاك consumption-state بصمة وثيقة الحد، ووحدة الحساب، والسقف، والمستهلك، والمحجوز، والمطلوب، وقائمة الطلبات المعلقة. ويسمي stateRevision نسخة الرصيد التي قرأها نظام السماح؛ إنها لقطة الحساب عند قوله «نعم»، وليست مجرد رقم تقني إضافي.

إعادة المحاولة ليست فاتورة جديدة

تستخدم المسودة مثالاً بسقف 50 ألف بنس، استُهلك منه 30 ألفاً، وحُجز 12 ألفاً لطلب سابق. إذا تكرر الطلب نفسه ببصمته نفسها بعد ضياع الرد، يبقى الإجمالي 42 ألفاً. حساب الحجز مرتين يعاقب صاحب العملية على عطل الاتصال. لكن طلباً مختلفاً بقيمة 12 ألفاً يرفع الإجمالي إلى 54 ألفاً، فيجب رفضه. الأرقام جزء من المثال التوضيحي للوثيقة؛ ليست بيانات معاملات منشورة.

يبقى المبلغ في قائمة held إلى أن يظهر سجل آخر للطلب نفسه. إذا رُصد وقوع الأثر، ينتقل إلى المستهلك. وإذا سُجل أن الأثر none، يتحرر. الرد المفقود لا يثبت هذه النتيجة ولا تلك. وقد يُبطئ ذلك عملية مشروعة حين تكون الأداة لم تفعل شيئاً بالفعل، لكنه يمنع منح سلطة شراء جديدة اعتماداً على جهلنا بمصير القديمة.

المشكلة الأصعب تظهر عندما يقرأ القرار اللاحق stateRevision سابقة للحجز الأول. تبدو معادلته صحيحة داخل السجل الذي يراه، لكنها تنسى إذناً مفتوحاً. تقترح الوثيقة مقارنة سجلات الحد الواحد بترتيب نسخ الحالة؛ كل تصريح سابق لم يُحسم يجب أن يظهر في الحجز أو الاستهلاك في القرارات اللاحقة. غيابه يكشف نافذة لإنفاق الحد مرتين. كذلك تظهر فجوة إذا أُفرج عن مبلغ من دون سجل يثبت عدم وقوع أثر الطلب.

تسمح صيغة التدقيق بوجود سجل صحيح البنية يقول إن النظام سمح بعملية فوق الحد. لو رفضت الصيغة مثل هذا السجل، لأخفت الواقعة التي صُنعت أصلاً للكشف عنها. التوقيع وتناسق الحقول يثبتان خصائص للبيانات المقدمة؛ أما وقوع الحدث خارجها فيحتاج إلى ملاحظة وثقة لا تنشآن من البايتات وحدها.

من يملك حق إعلان الرصيد؟

تُحدد وثيقة التفويض السقف، وتقرأ نقطة القرار الرصيد، وتنفذ الأداة، ويرصد طرف الأثر، ويحفظ طرف السجلات. تدقيق الحد يعتمد على اتصال هذه الأدوار: هل رأى القرار الثاني الحجز الأول؟ ومن شهد التسوية؟ ومن يضمن أن المراجع تسلم السجلات المتعلقة كلها؟ المسودة تعطي طريقة لفحص ما وصل، لا سحراً لاستعادة ما أُخفي.

المحاسبة هنا حكم مؤسسي عملي. على من يُشغّل وكيلاً مدفوعاً أن يحدد مسؤول الحجز ومسؤول التحرير وحافظ النسخ. فقدان الرد بداية سؤال عن الرصيد، وليس إذناً بجولة إنفاق إضافية.

الوثائق الأصلية