انتقل إلى المحتوى
Idempotency Ledger

تدقيق عدم التكرار لواجهات الدفع والطلبات

اعثر على الطلبات التي خصمت فيها واجهتك البرمجية المبلغ مرتين.

يقرأ Idempotency Ledger سجلات طلباتك، ويقيّد كل عملية كتابة تحت مفتاح عدم التكرار الخاص بها، ويُظهر أين تسببت إعادة المحاولة في خصم ثانٍ أو طلب ثانٍ أو دفعة ثانية. لكل مشكلة المبلغ المعرّض للخطر وطريقة إصلاحها.

ما الذي يرصده

الخصومات حسب المفتاحNo. 0417

الوقتالمفتاحالمبلغ
10:00:00ik_7f3a49.99
10:00:03ik_7f3a49.99
10:05:00ik_c04489.00
10:05:00ik_c04489.00
10:12:00ik_f6119.99

المبلغ الزائد+89.00 EUR

ما هو

مدقق لمفاتيح عدم التكرار. يعيد تشغيل الطلبات المسجلة وفق القواعد التي تلتزم بها الواجهة البرمجية السليمة، ويقيّد كل طلب على أنه كتابة أولى أو إعادة آمنة أو مشكلة.

لمن هو

لمهندسي الخوادم والمدفوعات وفرق SRE ومسؤولي الدعم الذين يحتاجون إلى معرفة ما إذا كان العميل قد خُصم منه مرتين فعلًا ولماذا.

ما المشكلة التي يحلها

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

دقّق سجل طلباتك

الصق تصدير سجل أو افتح ملفًا. لا يُرفع أي شيء، فالتحليل والفحص يجريان في هذه الصفحة.

طلب واحد في كل سطر، أو مصفوفة JSON، أو ملف CSV بسطر عناوين.

تُعرف الحقول من أسمائها: time أو ts و method و path أو url و status ومفتاح عدم التكرار ومعرّف الكائن المنشأ مثل charge_id أو order_id و amount و currency و customer. يعمل أيضًا مع JSON المتداخل وترويسات Idempotency-Key.

تظهر نتيجة التدقيق هنا

الصق سجلًا واضغط دقّق السجل، أو حمّل المثال لترى كل أنواع النتائج.

ما الذي يرصده الدفتر

يُفحص كل مفتاح متكرر بترتيب الوقت ويُقارن بما كان على الخادم السليم أن يفعله.

  1. تأثير مزدوج

    المفتاح نفسه والطلب نفسه ومعرّفان مختلفان للكائن المنشأ. نفذ الخادم العمل مرتين، وهذه أغلى الحالات.

  2. سباق

    وصلت نسختان خلال ثانيتين ونجحت كلتاهما. يحدث كثيرًا مع النقر المزدوج ومحاولات العميل المتسرعة.

  3. عدم تطابق المحتوى

    جاء مفتاح قديم بمعاملات جديدة. الخادم السليم يرفضه بـ 422، وقبوله يخفي أخطاء العميل.

  4. فشل جزئي

    استجابة 5xx أنشأت كائنًا رغم ذلك، تلتها إعادة أنشأت كائنًا آخر. لا تظهر إلا إذا احتوت السجلات على المعرّفات.

  5. بلا مفتاح

    لا يمكن إزالة تكرار عمليات الكتابة بلا مفتاح. تُقيّد عمليتان متطابقتان متقاربتان على أنهما تكرار.

  6. إعادة بعد الانتهاء

    المفتاح الذي يعود بعد المهلة يُعد عملًا جديدًا. اختر المهلة بما يطابق خادمك.

طريقة الاستخدام

  1. صدّر سجلًا

    خذ الطلبات الموجهة إلى نقطة نهاية أو خدمة واحدة خلال فترة زمنية من سجلات البوابة أو موازن الأحمال أو التطبيق.

  2. الصقه أو افتحه

    تعمل أسطر JSON ومصفوفة JSON وملفات CSV بعناوين والأسطر العادية التي تحتوي على أزواج key=value.

  3. حدد مهلة المفاتيح

    اختر المدة التي يحتفظ فيها خادمك بالمفاتيح. الواجهات على طريقة Stripe تستخدم 24 ساعة.

  4. اقرأ الدفتر

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

معلومات مفيدة

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

أسئلة

ما مفتاح عدم التكرار؟

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

لماذا يُعد الرمز 409 سليمًا؟

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

لماذا يهم عدم تطابق المحتوى إذا خُصم المبلغ مرة واحدة فقط؟

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

هل أحتاج إلى معرّفات في سجلاتي؟

إنها تجعل التدقيق دقيقًا. سجّل معرّف الكائن الذي أنشأته كل عملية كتابة، مثل charge_id أو order_id.

تواصل مع المطوّر

لديك سؤال أو فكرة أو عرض عمل؟ راسلني على X أو Telegram.

ادعم المطوّر

إذا وفّرت عليك هذه الأداة وقتًا، يمكنك إرسال إكرامية إلى عنوان EVM هذا من محفظتك.

0xd28Fd90eD69092bd01598f237aad33a0cc9c3EeA