انتقل إلى المحتوى الرئيسي

الأخطاء والتحقق من الحالة وإعادة المحاولة

قم دائمًا بفحص كل من استجابة HTTP والمعاملة status. يمكن أن يحتوي 200 أو 201 على معاملة مرفوضة أو معلقة.

نتيجة HTTPعمل التكامل
400 / 422تحقق من الحقول المتوفرة والأنواع ومقياس الكمية والمستلم. لا تقم بإعادة إرسال فشل التحقق من الصحة دون تغيير في حلقة
401تحقق من بيانات الاعتماد وصلاحيتها ومضيف API
403الحساب أو المفتاح المصادق عليه يفتقر إلى الإذن؛ لا تقم بتبديل الحسابات تلقائيًا
404تحقق من المعرف وسياق الحساب. هذا لا يثبت أن حسابًا آخر لا يحتوي على مثل هذا المورد
409قم بفحص التعارض واستعادة العملية الأصلية قبل إنشاء أي شيء آخر
429احترم Retry-After عندما يكون موجودًا وأعد محاولة القراءة مع التراجع المحدود
Timeout / 5xxقد تكون النتيجة غير معروفة. ابحث عن العملية الأصلية بواسطة id أو txid قبل إعادة الإرسال

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

نتائج المعاملات​

  • charged: تمت المعاملة بنجاح.
  • rejected أو failed: فحص السبب والعملية الأصلية؛ لا تبلغ عن النجاح.
  • refunded أو reversed: الأموال لها نتيجة مختلفة عن الدفعة التي تمت تسويتها حديثًا.
  • الحالة معلقة/مطلوب إجراء/غير معروفة: أظهر تلك الحالة وإجراء المستخدم المطلوب. لا تستنتج أبدًا النجاح من حالة غير معترف بها أو من الطابع الزمني وحده.

استخدم معاملة GET للتحقق من العملية. احتفظ بنفس txid لإعادة محاولة نفس تعليمات العمل. يعد فشل تسليم Webhook وفشل معالجة الدفع حدثين مختلفين.