دورة تفويض البطاقة التي يحتاجها المهندسون فعلياً
استمع إلى المقال
جارٍ تجهيز الصوت…
هندسة التقنية المالية
عملية الدفع بالبطاقة ليست معاملة واحدة تنتقل ببساطة من «معلقة» إلى «مكتملة». إنها مجموعة أحداث مالية مترابطة—التفويض والتقديم للمقاصة والتسوية والإلغاء والاسترداد، وأحياناً النزاع—تنشئها جهات مختلفة وتعمل وفق جداول زمنية مختلفة. قاعدتي التصميمية هي ربط هذه الأحداث من دون اختزالها في حالة واحدة متغيرة؛ والأمثلة التالية اصطناعية.

خطان زمنيان بدلاً من حالة واحدة
عند التفويض، يرسل التاجر المبلغ وسياق البطاقة عبر البنك المستحوذ وشبكة البطاقات إلى البنك المُصدر. يوافق المُصدر أو يرفض، ثم يعيد معرفات تساعد الرسائل اللاحقة على الإشارة إلى القرار. تؤدي الموافقة عادة إلى حجز جزء من الرصيد المتاح، لكنها لا تثبت أن الأموال سُوّيت لمصلحة التاجر.
يحدث التقديم للمقاصة لاحقاً، وغالباً ضمن دفعة مجمعة. وقد يختلف مبلغه بصورة مشروعة عن مبلغ التفويض بسبب الإكرامية أو المبلغ التقديري أو التنفيذ الجزئي أو الشحنات المتعددة أو تحويل العملة. تحسب المقاصة التزامات الأطراف، ثم تنقل التسوية الأموال وفق ترتيبات الشبكة. أما الاسترداد فهو حركة ائتمانية جديدة بعد التحصيل، في حين يبلغ الإلغاءُ المُصدرَ بأن حجز التفويض لم يعد مطلوباً. هذه العمليات ليست مترادفات.
يهم هذا الفرق العميل مباشرة. فقد يبقى حجز قديم ويقلل الرصيد المتاح رغم أن التاجر لن يحصّل المبلغ. توضح إرشادات Visa للتجار أن إلغاء التفويض ينبغي أن يحمل بيانات مطابقة كي يتمكن المُصدر من تحديد الحجز وتحريره. تختلف الحقول والمواعيد الدقيقة باختلاف الشبكة والمنطقة وفئة التاجر وعقد مزود المعالجة؛ لذلك تمثل الوثيقة مثالاً رسمياً لا قاعدة عالمية.
اربط الأحداث ولا تدمجها
استخدم معرفاً داخلياً ثابتاً للدفع، مع سجل غير قابل للتعديل ومعرف مستقل لكل حدث خارجي:
- التفويض: المبلغ المطلوب والمبلغ الموافق عليه والقرار ومراجع الشبكة وسياسة الانتهاء؛
- التقديم للمقاصة: معرف التقديم والتفويض المرتبط والمبلغ والعملة والتسلسل ووقت الاستلام؛
- الإلغاء: المبلغ الكامل أو الجزئي والسبب والتفويض المرتبط وحالة الإقرار؛
- الاسترداد: حركة جديدة مرتبطة بالدفع المحصّل ولها دورة حياة مستقلة؛
- النزاع: معرف القضية والمبلغ المتنازع عليه والسبب وموعد تقديم الأدلة والنتيجة.
احفظ وقت الحدث ووقت إدخاله إلى منصتك. الأول يبين متى تقول الشبكة إن الحدث وقع، والثاني يفسر متى علم به نظامك. لا تستبدل مبلغ التفويض بمبلغ المقاصة داخل سجل واحد لإظهار «الحالة الحالية». أنشئ عرضاً مشتقاً للعميل من سجل الأحداث، واحتفظ بالحقائق اللازمة لإعادة بنائه.
يمكن أن تتجاور حالات مثل «مفوّض» و«مقدم جزئياً» و«مقدم بالكامل» و«ملغى» و«منتهي» و«متنازع عليه» عبر سجلات مترابطة. يجوز لتجميع الدفع أن يلخصها، لكن آلة الحالات يجب أن ترفض الانتقالات المستحيلة وتعرض عدم اليقين عندما تكون نتيجة المزود مجهولة.
صمّم للتسليم غير المتزامن وغير المثالي
يبلغ مزودو المعالجة غالباً عن التغييرات اللاحقة عبر إشعارات الويب. توثق إرشادات Stripe الرسمية لسلوك إشعارات الويب احتمال التكرار وإعادة التسليم وعدم ضمان ترتيب الأحداث. هذه قيود تشغيلية ممثلة، وليست قاعدة لكل مزود.
تحقق من التوقيع، واحفظ الإشعار الخام، وأرسل إقراراً سريعاً، ثم عالج الرسالة من طابور. امنع تكرار المعالجة باستخدام معرف حدث المزود، واجعل معالج المجال نفسه غير مكرر الأثر. الإشعار الذي يقول إن الدفع «تحدث» ليس قيداً محاسبياً تلقائياً.
خصص حالة صريحة للنتيجة المجهولة. إذا انتهت مهلة طلب التفويض، فلا توجه العملية فوراً إلى مستحوذ آخر؛ ربما وافق المُصدر بالفعل. استعلم باستخدام مرجع المزود أو انتظر إشعاراً حاسماً، وانقل النتائج المجهولة القديمة إلى المصالحة بدلاً من التخمين.
النزاع سير عمل مستقل
قد يبدأ النزاع بعد أسابيع أو أشهر من التفويض والتسوية. وله أدلة مرتبطة بالسبب ومواعيد استجابة وآثار مالية مؤقتة ونتيجة نهائية. توضح إرشادات Visa لإدارة النزاعات، إصدار يونيو 2024 لماذا لا يصح اختزال النزاع في حالة نهائية للدفع.
افصل إدارة القضية عن آلة حالات الدفع. اربط القضية بالتفويض والتقديم الأصليين، ثم سجل الرسوم أو الائتمانات المؤقتة أو عمليات العكس أو الخسارة النهائية كحركات مستقلة في دفتر الأستاذ. هكذا يبقى التاريخ التشغيلي والتفسير المحاسبي قابلين للتدقيق.
اختبارات وضوابط عملية
اختبر سيناريوهات محددة: تفويض موافق عليه بلا تقديم ثم إلغاء صريح؛ تفويض واحد يتبعه تقديمان جزئيان؛ وصول التقديم قبل إشعار تفويض متأخر؛ تكرار إشعار الإلغاء أو النزاع؛ انتهاء مهلة يتبعه قبول متأخر؛ طلب استرداد أثناء نزاع مفتوح؛ واختلاف المبلغ أو العملة خارج الحدود التي تسمح بها قواعد الشبكة.
في كل حالة تحقق من عرض الحجز وحالة العميل وقيود دفتر الأستاذ ونتيجة المصالحة وأثر التدقيق. راقب عمر الفترة بين التفويض والتقديم، والتقديمات غير المطابقة، والحجوزات غير المحررة، والنتائج المجهولة، والإشعارات المكررة، ومواعيد النزاعات.
القرار المعماري
لا تبن منصة بطاقات حول حقل متغير واحد لحالة الدفع. ابنها حول أحداث مترابطة وغير قابلة للتعديل، مع ملكية واضحة وساعات مستقلة. يفيد التجميع تجربة المنتج، لكن التفويض والتقديم والإلغاء والاسترداد والتسوية والنزاع يجب أن تبقى قابلة للتفسير كل على حدة. عندها يستطيع الدعم الإجابة عن سؤال العميل، وتستطيع المالية مطابقة المزود، ويستطيع المهندسون التعافي بأمان عندما تصل الرسائل متأخرة أو مكررة.
ما القرار الذي كنت ستتخذه؟
شارك سؤالاً أو تجربة أو رأياً مخالفاً. التعليقات متاحة للأعضاء المسجلين للحفاظ على نقاش مهني ومفيد.