UnoPayv1.0.0
  1. خانه
  2. همه کلاس‌های خطا

مرجع

مرجع خطا

هر کلاس خطا یعنی چه، معمولاً چه چیزی باعثش شده، و بعدش چه کنید. دو تا از مهم‌ترین نتایج SDK اصلاً خطا نیستند.

پیش از نوشتن catch، این دو را بررسی کنید

پرداخت‌کننده‌ای که رها کرده هیچ درخواست و هیچ خطایی تولید نمی‌کند — با مغایرت‌گیری پیدایش کنید. پرداختی که رد شده یعنی isSuccessful: false همراه errorReason، نه استثنا. فقط خرابی واقعی استثنا هستند.

کلاسکدمفهومعلت معمولاقدام پیشنهادی
PaymentValidationErrorVALIDATION_ERRORSDK ورودی را پیش از تماس با درگاه یا به‌جای آن رد کرده است.شناسه پذیرنده خالی، یا کال‌بک بدون Authority یا بدون مبلغ عددی.ورودی را اصلاح کنید. تلاش مجدد بدون تغییر همان‌طور شکست می‌خورد.
GatewayNetworkErrorNETWORK_ERRORدرگاه هرگز پاسخ HTTP تولید نکرد.خطای DNS، قطع اتصال، یا خاتمه ثابت ۱۰ ثانیه‌ای.با backoff نمایی و jitter تلاش مجدد کنید. این تنها کلاس قابل تلاش مجدد است.
InvalidSignatureErrorINVALID_SIGNATUREکال‌بک رسید ولی احراز هویت نشد.عدم تطابق امضا — فقط در آداپتورهایی که خودتان می‌نویسید، امروز.با مقایسه زمان-ثابت اعتبارسنجی کنید. هرگز آن را رد شدن پرداخت تلقی نکنید.
GatewayProviderErrorPROVIDER_ERRORدرگاه پاسخ داد و پاسخ موفق نبود.شناسه پذیرنده یا مبلغ نادرست، وضعیت غیر ۲xx، یا هر خطای غیر PaymentError که آداپتور شما پرتاب کند.err.cause را بررسی کنید — داده خام درگاه را حمل می‌کند. تلاش مجدد نکنید.
PaymentErrorADAPTER_NOT_FOUNDکلید درگاه در نگاشت adapters نیست.غلط املایی، یا آداپتوری که هرگز به سازنده اضافه نشد.کلید را بررسی کنید. این پیش از payment_started رخ می‌دهد، بنابراین اصلاً لاگی تولید نمی‌کند.

زنجیره کامل وراثت

یک ریشه، چهار فرزند مستقیم. یک catch (err) { if (err instanceof PaymentError) } همه خرابی‌های UnoPay را می‌گیرد، از جمله ADAPTER_NOT_FOUND که مستقیم پرتاب می‌شود.

PaymentError

ریشه — code, cause, nameمستقیماً با ADAPTER_NOT_FOUND پرتاب می‌شود؛ همچنین پایه همه زیرکلاس‌هاست.

└─ PaymentValidationError

PaymentValidationErrorاز PaymentError ارث‌بری می‌کند

└─ GatewayNetworkError

GatewayNetworkErrorاز PaymentError ارث‌بری می‌کند

└─ InvalidSignatureError

InvalidSignatureErrorاز PaymentError ارث‌بری می‌کند

└─ GatewayProviderError

GatewayProviderErrorاز PaymentError ارث‌بری می‌کند