راهنمای مانیتورینگ خطاهای درگاه
نظارت مستمر، تشخیص سریع و رفع فوری خطاهای پرداخت
خطاهای درگاه پرداخت میتوانند به از دست رفتن فروش، نارضایتی مشتری و حتی ریپورتاژ منفی منجر شوند. بسیاری از خطاها بدون اینکه متوجه شوید رخ میدهند؛ یک کاربر پرداخت ناموفق را تجربه میکند و سایت را ترک میکند، اما شما هیچ اخطاری دریافت نمیکنید.
مانیتورینگ خطاهای درگاه فرآیندی است که طی آن تمام تراکنشها، خطاها، تأخیرها و ناهماهنگیها به صورت خودکار یا نیمهخودکار ثبت، تحلیل و هشدار داده میشوند. در این مقاله، ابزارها، روشها و بهترین شیوههای عملی برای نظارت بر سلامت درگاه اسنپپی را ارائه میدهیم.
خطاهای مرتبط با درگاه را میتوان به چند دسته اصلی تقسیم کرد:
- خطاهای Callback: عدم دریافت یا پردازش ناموفق بازگشت پرداخت (خطاهای ۴۰۴، ۵۰۰، Timeout).
- خطاهای احراز هویت: توکن نامعتبر، IP مسدود، API Key اشتباه.
- خطاهای کاربری: فرمت اشتباه شماره موبایل، موجودی ناکافی، انصراف کاربر.
- خطاهای بانکی و سرویس دهنده: قطعی سرویس بانک، محدودیت کارت، خطای داخلی درگاه.
- خطاهای نرمافزاری فروشگاه: خطای دیتابیس، خطای افزونه، انقضای جلسه.
۱. لاگ داخلی افزونه یا سیستم
بیشتر افزونههای درگاه (از جمله افزونه رسمی اسنپپی) لاگ تراکنشها و خطاها را در بخش تنظیمات خود ذخیره میکنند. این لاگها را روزانه یا هفتگی بررسی کنید.
۲. لاگهای سرور (اپاچی/nginx)
فایلهای error_log و access_log میزبان شما، اطلاعات بسیار دقیقی از درخواستهای Callback و پاسخ سرور ارائه میدهند. ابزارهایی مانند Goaccess یا AWStats برای تحلیل خودکار مفیدند.
۳. مانیتورینگ هشدار از راه دور (Uptime & Health Check)
- Better Uptime، UptimeRobot، Pingdom: بررسی میکنند که صفحه بازگشت درگاه (Callback URL) پاسخ HTTP 200 میدهد یا خیر. اگر صفحه ارور بدهد یا از کار بیفتد، بلافاصله پیامک یا ایمیل هشدار میفرستند.
- New Relic، Sentry: ابزارهای تخصصی اپلیکیشن مانیتورینگ که خطاهای سمت سرور را ثبت و گروهبندی میکنند.
۴. پنل اسنپپی (گزارش تراکنشها)
در پرتال پذیرندگان اسنپپی میتوانید گزارش تراکنشهای موفق و ناموفق را مشاهده کنید. وجود تعداد زیاد تراکنشهای ناموفق (بدون دلیل مشخص) زنگ خطری برای بررسی فنی است.
برای اینکه در لحظه از بروز خطا مطلع شوید، میتوانید از روشهای زیر استفاده کنید:
الف) ایمیل هشدار هنگام خطا در افزونه
برخی افزونههای امنیتی یا لاگینگ (مثل WP Mail Logging و Error Log Monitor) قابلیت ارسال ایمیل هنگام ثبت خطاهای خاص را دارند. همچنین میتوانید در کد سفارشی خود از تابع wp_mail برای ارسال ایمیل به مدیر استفاده کنید.
ب) اعلان در پیامرسانها (تلگرام، اسلک، مایکروسافت تیمز)
با استفاده از وبهوک و API رباتها، میتوانید خطاها را به یک کانال اختصاصی ارسال کنید. این روش سریعتر از ایمیل است.
https://api.telegram.org/bot<token>/sendMessage پیام خطا را ارسال کنید.ج) مانیتورینگ Callback با ابزارهای خارجی
سرویسهایی مثل Webhook.site یا RequestBin را موقتاً میتوانید برای تست Callback استفاده کنید. برای محیط عملیاتی، UptimeRobot میتواند هر ۵ دقیقه یکبار آدرس Callback شما را چک کرده و در صورت بروز خطا (HTTP 5xx) هشدار بدهد.
برای اینکه بتوانید الگوهای خطا را شناسایی کنید، لاگهای تراکنش خود را به صورت زیر ذخیره کنید:
- شناسه یکتای تراکنش (از سامانه درگاه)
- زمان درخواست و پاسخ (با دقت میلیثانیه)
- وضعیت نهایی (موفق، ناموفق، خطای سیستمی، لغو توسط کاربر)
- کد خطا و پیام خطای دریافتی از درگاه (در صورت وجود)
- IP کاربر و IP سرور
- جزییات درخواست (متد، هدر، بادی - بدون اطلاعات حساس)
- تعداد تراکنشهای موفق و ناموفق دیروز را با میانگین هفته قبل مقایسه کنید.
- لاگ خطاهای PHP/سرور را مرور کنید (به دنبال خطاهای مربوط به درگاه).
- از اینکه سرویس uptime (مثل UptimeRobot) هشداری ارسال نکرده اطمینان حاصل کنید.
- یک تراکنش تستی (با مبلغ نمادین) انجام دهید تا از سلامت کامل درگاه مطمئن شوید.
- گزارش تراکنشهای ناموفق در پرتال اسنپپی را بررسی کنید. آیا الگوی خاصی وجود دارد؟ (مثلاً همه خطاها از یک بانک خاص).
- آدرس Callback را چک کنید که تغییر نکرده باشد و پاسخ HTTP صحیح بدهد.
- در صورت استفاده از پلاگین کش، مطمئن شوید صفحه Callback از کش خارج شده است.
اگر خطای خاصی مرتباً تکرار میشود (مثلاً Callback Timeout هر شب ساعت ۲ بامداد)، به دنبال علت سیستمی بگردید:
- آیا در آن ساعت، تسکهای سنگین بکآپ یا Cron job اجرا میشوند؟
- آیا خطا فقط برای برخی کاربران (مثلاً همراه اول) رخ میدهد؟
- آیا خطا پس از بهروزرسانی افزونه یا قالب شروع شده است؟
- آیا IPهای اسنپپی به اشتباه توسط فایروال بلاک میشوند؟
شما میتوانید با ابزارهای رایگان مانند Grafana (متصل به دیتابیس) یا حتی یک صفحه اختصاصی در وردپرس، آمار لحظهای خطاها را مشاهده کنید:
- تعداد تراکنشهای موفق و ناموفق در ۲۴ ساعت گذشته
- درصد خطا نسبت به کل تراکنشها
- میانگین زمان پاسخگویی درگاه (از درخواست تا دریافت Callback)
- ده خطای پرتکرار با جزئیات
🔔 جمعبندی و اقدامات پیشنهادی
مانیتورینگ خطاهای درگاه، یکی از حیاتیترین وظایف فنی پس از راهاندازی فروشگاه است. بدون نظارت فعال، خطاها ممکن است هفتهها بدون اطلاع شما ادامه یابند و فروش قابل توجهی از دست برود. برای شروع:
- لاگهای خطای سرور و افزونه را فعال کنید و روزانه مرور نمایید.
- یک سرویس uptime روی آدرس Callback خود تنظیم کنید (مثلاً UptimeRobot رایگان).
- یک سیستم هشدار خودکار (ایمیل یا پیامرسان) برای خطاهای پرتکرار راهاندازی کنید.
- هر هفته گزارش تراکنشهای ناموفق پرتال اسنپپی را با گزارشهای داخلی خود تطبیق دهید.
- حداقل ماهی یکبار فرآیند تست درگاه را انجام دهید.









