الأخطاء والتحقق من الحالة وإعادة المحاولة
قم دائمًا بفحص كل من استجابة 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 وفشل معالجة الدفع حدثين مختلفين.