انتقل إلى المحتوى
دليل

الموافقات على دفع تعويضات العملات المستقرة وضوابط الخزانة

موافقات صانع التصميم - المدقق، وتعليمات الدفع الصادرة، وعمليات إعادة المحاولة الخاضعة للرقابة، والتسوية المالية. اتبع آلة الحالة التوضيحية وسجل التدقيق وأطلق قائمة التحقق من القبول.

Gizmolab الفريقتم التحديث October 27, 202614 دقائق للقراءة

كيف يجب أن تعمل موافقات الدفع؟

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

عقد الموافقة

نسخة طلب معتمدة واحدة؛ إرسالية واحدة يمكن التحكم فيها

الافتراضات: ربط الأصل والشبكة والمبلغ والوجهة وميزانية الرسوم ومصدر التمويل وإصدار السياسة وانتهاء الصلاحية بالموافقة.

العمارة المرجعية الهندسية الأصلية. التحقق من السلوك الخاص بالموفر مقابل وثائقه الحالية.

ابدأ بطلب الدفع، وليس بشاشة التوقيع

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

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

التصميم أدناه هو نمط تنفيذ أصلي للفرق الهندسية. تدعم وثائق الموفر عناصر التحكم الفردية المرتبطة بكل قسم. ولا يثبت أن أي بائع واحد يقوم بتزويد جهاز الحالة بأكمله، ولا يحل محل مراجعة السياسة الخاصة بالأعمال.

ربط موافقة صانع المدقق بإصدار طلب غير قابل للتغيير

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

في طلبك، احفظ الطلب المقدم كإصدار جديد غير قابل للتغيير. قم بربط كل موافقة ببصمة أساسية لوجهتها، وإصدار المستفيد، ومعرف الأصول، والشبكة، ومبلغ الوحدة الأساسية الصحيح، وحساب التمويل، وسقف الرسوم، وإصدار السياسة، وانتهاء الصلاحية. تحديد التسلسل المتعارف عليه بشكل صريح؛ التجزئة التعسفية JSON ليست كافية. أعد فحص بصمة الإصبع مباشرة قبل الإرسال.

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

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

الموافقة على النموذج وتقديمه وتأكيده وتسويته بشكل منفصل

استخدم حالات صريحة حتى لا تتمكن الواجهة من استدعاء الدفعة "مكتملة" لمجرد أن مقدم الخدمة قبل الطلب. الحالات التالية هي حالات تطبيق توضيحية، وليست مواصفات موفر API. قم بتعيين حالة كل بائع لهم من خلال محول تمت مراجعته، واحتفظ بقيمة الموفر الأولية للتحقيق.

تنفيذ التعليمات المعتمدة وحجز الرصيد ونية الإرسال في معاملة قاعدة بيانات واحدة. يتيح صندوق الصادر الخاص بالمعاملات للعامل إعادة محاولة تسليم تلك النية دون إعادة إنشاء تعليمات العمل. حماية معرف التعليمات ومحاولة الإرسال مع قيود التفرد؛ إجراء تسلسل لانتقالات الحالة المتنافسة أو استخدام عمليات التحقق من الإصدار.

انتهاء مهلة الشبكة بعد الإرسال يعني أن النتيجة غير معروفة. استعلم عن الموفر باستخدام المرجع الأصلي وافحص الأحداث اللاحقة قبل تحديد ما إذا كان مسموحًا بإرسال آخر أم لا. لا تقم بتحرير الحجز أو إنشاء مفتاح عدم القدرة جديد لمجرد فقدان استجابة HTTP.

الدولةالأدلة المطلوبةالإجراء التالي المسموح به
مسودة → تم تقديمهانسخة طلب غير قابلة للتغيير وشيكات المستفيد المطلوبةتقييم السياسة وجمع الموافقات
في انتظار الموافقة ← تمت الموافقة عليهمطلوب قرارات مستقلة، إصدار السياسة، انتهاء صلاحية صالحةاحتياطي الأموال وقائمة الانتظار الإرسال
الإرسال معلق → تم قبول الموفرمرجع تعليمات المزودمراقبة الحالة؛ لا تضع علامة على تسويتها
النتيجة غير معروفةالمهلة أو استجابة الموفر الغامضةالتحقيق باستخدام مرجع التعليمات الأصلي
بث → مؤكدأدلة تأكيد خاصة بالسلسلةتطبيق سياسة النهائية الموثقة
تم التأكيد → التوفيقالمزود والمعاملة ودفتر الأستاذ وأي تطابق في الأوراق الماليةأغلق الاستثناء التشغيلي
مرفوض / منتهية الصلاحية / ملغاةالسبب المسجل وإذن النقللا تفرج عن التحفظات إلا في حالة استبعاد التنفيذ

موافقة منفصلة على الطلب عن ترخيص المحفظة

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

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

اختر الأصول حسب الشبكة المحددة والعقد أو معرف النعناع. رمز مثل USDC غير كافٍ لتمييز الأصول الأصلية أو التمثيلات الجسرية أو الوجهات غير المدعومة. حافظ على رصيد منفصل وميزانيات رسوم لكل مسار مدعوم، مع ما يكفي من العملة المحلية أو الرعاية المهيأة لتنفيذه.

تعامل مع عمليات إعادة المحاولة والخطافات عبر الويب دون دفع تعويضات ثانية

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

يؤدي إلغاء البيانات المكررة عبر Webhook وإلغاء البيانات المكررة في الدفع إلى حل مشكلات مختلفة. تحقق من التوقيع مقابل بايتات الطلب الأصلية قبل قبول الحدث. قم بتخزين معرف حدث الموفر في صندوق وارد مع قيد التفرد، والإقرار به على الفور، والمعالجة بشكل دائم. Stripe يوثق عمليات التسليم المكررة وقيود أمر التسليم لخطافات الويب الخاصة به؛ استخدم حالات الفشل هذه في اختبارات التكامل الخاصة بك.

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

احتفظ بسجل الموافقة والتدقيق الذي يمكن تتبعه

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

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

سجل التدقيق التوضيحي – القيم التركيبية فقط
{
  "instructionId": "demo-payout-1042",
  "requestVersion": 3,
  "policyVersion": "treasury-policy-7",
  "assetRef": "demo-asset-registry/usdc/ethereum/native/v2",
  "destinationRef": "demo-beneficiary-18/version-4",
  "amountBaseUnits": "125000000",
  "feeBudgetRef": "demo-fee-policy-2",
  "approvalFingerprint": "demo-placeholder-not-a-real-hash",
  "approvals": [
    {
      "actorId": "demo-checker-9",
      "decision": "approve",
      "at": "2026-10-27T10:00:00.000Z"
    }
  ],
  "approvalExpiresAt": "2026-10-27T10:15:00.000Z",
  "state": "dispatch_pending",
  "providerInstructionId": null,
  "transactionHash": null,
  "ledgerReservationId": "demo-reservation-1042"
}

التوفيق بين التعليمات والمزود والسلسلة ودفتر الأستاذ والساق الورقية

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

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

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

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

استخدم قائمة التحقق من القبول قبل زيادة حدود الدفع

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

يتطلب قرار الإطلاق المفيد أدلة: يمكن للمراجع اتباع تعليمات معتمدة لنتيجة دفتر الأستاذ الخاص به؛ يمكن للمشغل حل نتيجة غير معروفة دون إعادة إرسال الأموال؛ ويمكن للمسؤول تعليق الإرسال مع الاحتفاظ بسجلات التحقيق. قم بتوسيع الحجم فقط بعد أن تعمل تلك المسؤوليات والإجراءات معًا.

حالة الاختبارالنتيجة المتوقعةأدلة للاحتفاظ بها
محاولات صانع الموافقة الخاصةتم رفض القرارالفاعل والقاعدة والحدث المنكر
تم تغيير المستفيد بعد الموافقةالإصدار الجديد يتطلب موافقات جديدةبصمات الأصابع القديمة والجديدة
تنتهي صلاحية الموافقة أو عرض أسعار التحويلتم حظر الإرسال في انتظار إعادة التقييمانتهاء الصلاحية وسبب المنع
يرسل عاملان نفس الطلبيتم تقديم تعليمات عمل واحدةالحجز والتفرد ومراجع المزود
المهلة بعد قبول المزودتم التحقيق في نتيجة غير معروفة قبل إعادة المحاولةنتيجة الاستعلام عن المفتاح والموفر الأصلي
خطاف ويب مكرر أو خارج الترتيبلا يوجد دفعات مكررة أو إدخال دفتر الأستاذمعرفات أحداث البريد الوارد والحالة الناتجة
ميزانية رسوم الشبكة غير كافيةفشل يمكن التحكم فيه دون إعادة توجيه غير آمنةفحص الرسوم وتنبيه المشغل
تغييرات السياسة بينما الموافقة معلقةتم التحقق من الإصدار قبل التنفيذإصدارات السياسة وإعادة التقييم
يصبح التأكيد غير مؤكدتم تطبيق سياسة الاستثناء والنهائيةسلسلة الأدلة والتصحيحات المحاسبية

قسم تكوين الفريق

  • • مالك الخزينة يحدد سياسة المخاطر والموافقة
  • • مهندس الواجهة الخلفية للدفع وتنسيق السياسات
  • • متخصص في الأمن والمحفظة لإنفاذ الرقابة
  • • تؤدي العمليات المالية إلى متطلبات التسوية
  • • يقوم مدير المنتج بتنسيق عملية الطرح والاستعداد للحوادث

قسم قرار البناء مقابل الشراء

بناء

  • • الأفضل عندما تكون ضوابط الخزانة بالغة الأهمية للمنتج ومحددة للغاية
  • • جهد هندسي أولي أعلى ولكن ملكية أقوى على المدى الطويل

شراء / دمج

  • • الأفضل للإطلاق بشكل أسرع مع متطلبات التحكم القياسية
  • • قد يحد من مرونة نماذج السياسات المعقدة متعددة الممرات

توصية: استخدم عناصر تحكم الموفر للطرح الأولي، ثم أضف تنسيقًا مخصصًا عندما يبرر تعقيد السياسة وحجمها ملكية أعمق.

الأخطاء الشائعة

  • • السماح للصانع بالموافقة على طلبه أو تغيير المستفيد بعد الموافقة.
  • • التعامل مع المهلة API كدليل على عدم حدوث أي دفع.
  • • استخدام إلغاء البيانات المكررة عبر الويب كبديل لتفرد تعليمات الدفع.
  • • تقديم قبول المزود كتسوية نهائية أو تخطي المرحلة الورقية.

الأسئلة الشائعة

باختصار

  • • ربط الموافقات بطلبات غير قابلة للتغيير وإصدارات السياسة.
  • • احتفظ بالموافقة على التطبيق وتفويض المحفظة والإرسال بشكل منفصل.
  • • تحقق من النتائج غير المعروفة قبل إعادة المحاولة وقم بتسوية كل مراحل الدفع.

الحلول والمنتجات ذات الصلة

القراءة ذات الصلة

هل تحتاج إلى مساعدة في هذا القرار؟

أنشئ موافقات على دفع تعويضات العملة المستقرة من خلال أدوار المدقق والصانع والطلبات غير القابلة للتغيير والإرسال والتسوية العاجزين. يتضمن سجل التدقيق وقائمة مراجعة الاختبار.