راهنمای مانیتورینگ خطاهای درگاه

فهرست مطالب

راهنمای مانیتورینگ خطاهای درگاه | نظارت و عیب‌یابی حرفه‌ای پرداخت

راهنمای مانیتورینگ خطاهای درگاه

نظارت مستمر، تشخیص سریع و رفع فوری خطاهای پرداخت

⏱️ زمان مطالعه: ۱۰ دقیقه 📋 مناسب برای: مدیران فنی و پذیرندگان اسنپ‌پی
📡 چرا مانیتورینگ خطاهای درگاه ضروری است؟

خطاهای درگاه پرداخت می‌توانند به از دست رفتن فروش، نارضایتی مشتری و حتی ریپورتاژ منفی منجر شوند. بسیاری از خطاها بدون اینکه متوجه شوید رخ می‌دهند؛ یک کاربر پرداخت ناموفق را تجربه می‌کند و سایت را ترک می‌کند، اما شما هیچ اخطاری دریافت نمی‌کنید.

مانیتورینگ خطاهای درگاه فرآیندی است که طی آن تمام تراکنش‌ها، خطاها، تأخیرها و ناهماهنگی‌ها به صورت خودکار یا نیمه‌خودکار ثبت، تحلیل و هشدار داده می‌شوند. در این مقاله، ابزارها، روش‌ها و بهترین شیوه‌های عملی برای نظارت بر سلامت درگاه اسنپ‌پی را ارائه می‌دهیم.

⚠️ بدون مانیتورینگ فعال، ممکن است هفته‌ها بعد متوجه شوید که درصد قابل توجهی از تراکنش‌ها به دلیل یک خطای ساده از دست رفته‌اند.
🔍 خطاهای رایج درگاه و ردگیری آن‌ها

خطاهای مرتبط با درگاه را می‌توان به چند دسته اصلی تقسیم کرد:

  • خطاهای Callback: عدم دریافت یا پردازش ناموفق بازگشت پرداخت (خطاهای ۴۰۴، ۵۰۰، Timeout).
  • خطاهای احراز هویت: توکن نامعتبر، IP مسدود، API Key اشتباه.
  • خطاهای کاربری: فرمت اشتباه شماره موبایل، موجودی ناکافی، انصراف کاربر.
  • خطاهای بانکی و سرویس دهنده: قطعی سرویس بانک، محدودیت کارت، خطای داخلی درگاه.
  • خطاهای نرم‌افزاری فروشگاه: خطای دیتابیس، خطای افزونه، انقضای جلسه.
📌 نکته: برای مانیتورینگ مؤثر، باید هر دسته خطا را جداگانه رصد کنید و آستانه هشدار متفاوت برای هرکدام تعریف کنید.
🛠️ ابزارهای رایگان و حرفه‌ای برای مانیتورینگ

۱. لاگ داخلی افزونه یا سیستم

بیشتر افزونه‌های درگاه (از جمله افزونه رسمی اسنپ‌پی) لاگ تراکنش‌ها و خطاها را در بخش تنظیمات خود ذخیره می‌کنند. این لاگ‌ها را روزانه یا هفتگی بررسی کنید.

مسیر معمول در ووکامرس: ووکامرس → وضعیت → لاگ‌ها → فایل‌های با پیش‌فرض 'fatal-errors' یا 'snapppay'

۲. لاگ‌های سرور (اپاچی/nginx)

فایل‌های error_log و access_log میزبان شما، اطلاعات بسیار دقیقی از درخواست‌های Callback و پاسخ سرور ارائه می‌دهند. ابزارهایی مانند Goaccess یا AWStats برای تحلیل خودکار مفیدند.

۳. مانیتورینگ هشدار از راه دور (Uptime & Health Check)

  • Better Uptime، UptimeRobot، Pingdom: بررسی می‌کنند که صفحه بازگشت درگاه (Callback URL) پاسخ HTTP 200 می‌دهد یا خیر. اگر صفحه ارور بدهد یا از کار بیفتد، بلافاصله پیامک یا ایمیل هشدار می‌فرستند.
  • New Relic، Sentry: ابزارهای تخصصی اپلیکیشن مانیتورینگ که خطاهای سمت سرور را ثبت و گروه‌بندی می‌کنند.

۴. پنل اسنپ‌پی (گزارش تراکنش‌ها)

در پرتال پذیرندگان اسنپ‌پی می‌توانید گزارش تراکنش‌های موفق و ناموفق را مشاهده کنید. وجود تعداد زیاد تراکنش‌های ناموفق (بدون دلیل مشخص) زنگ خطری برای بررسی فنی است.

💡 پیشنهاد: حداقل دو لایه مانیتورینگ داشته باشید: یکی در سطح سرور (لاگ‌ها) و یکی در سطح هشدار (UptimeRobot).
🔔 راه‌اندازی هشدار خودکار برای خطاهای درگاه

برای اینکه در لحظه از بروز خطا مطلع شوید، می‌توانید از روش‌های زیر استفاده کنید:

الف) ایمیل هشدار هنگام خطا در افزونه

برخی افزونه‌های امنیتی یا لاگینگ (مثل WP Mail Logging و Error Log Monitor) قابلیت ارسال ایمیل هنگام ثبت خطاهای خاص را دارند. همچنین می‌توانید در کد سفارشی خود از تابع wp_mail برای ارسال ایمیل به مدیر استفاده کنید.

// شبه کد برای ارسال ایمیل در صورت خطای Callback if ($payment_status === 'failed') { wp_mail('admin@mysite.com', 'خطا در درگاه پرداخت', "تراکنش {$transaction_id} ناموفق بود. کد خطا: {$error_code}"); }

ب) اعلان در پیام‌رسان‌ها (تلگرام، اسلک، مایکروسافت تیمز)

با استفاده از وب‌هوک و API ربات‌ها، می‌توانید خطاها را به یک کانال اختصاصی ارسال کنید. این روش سریع‌تر از ایمیل است.

💡 آموزش: برای تلگرام، یک ربات بسازید، توکن بگیرید، و از طریق https://api.telegram.org/bot<token>/sendMessage پیام خطا را ارسال کنید.

ج) مانیتورینگ Callback با ابزارهای خارجی

سرویس‌هایی مثل Webhook.site یا RequestBin را موقتاً می‌توانید برای تست Callback استفاده کنید. برای محیط عملیاتی، UptimeRobot می‌تواند هر ۵ دقیقه یکبار آدرس Callback شما را چک کرده و در صورت بروز خطا (HTTP 5xx) هشدار بدهد.

📂 ثبت ساختاریافته لاگ‌های تراکنش

برای اینکه بتوانید الگوهای خطا را شناسایی کنید، لاگ‌های تراکنش خود را به صورت زیر ذخیره کنید:

  • شناسه یکتای تراکنش (از سامانه درگاه)
  • زمان درخواست و پاسخ (با دقت میلی‌ثانیه)
  • وضعیت نهایی (موفق، ناموفق، خطای سیستمی، لغو توسط کاربر)
  • کد خطا و پیام خطای دریافتی از درگاه (در صورت وجود)
  • IP کاربر و IP سرور
  • جزییات درخواست (متد، هدر، بادی - بدون اطلاعات حساس)
📊 استفاده از ابزارهایی مانند ELK Stack (Elasticsearch, Logstash, Kibana) برای فروشگاه‌های بزرگ، دید فوق‌العاده‌ای روی خطاها فراهم می‌کند.
چک‌لیست روزانه مانیتورینگ درگاه
  • تعداد تراکنش‌های موفق و ناموفق دیروز را با میانگین هفته قبل مقایسه کنید.
  • لاگ خطاهای PHP/سرور را مرور کنید (به دنبال خطاهای مربوط به درگاه).
  • از اینکه سرویس uptime (مثل UptimeRobot) هشداری ارسال نکرده اطمینان حاصل کنید.
  • یک تراکنش تستی (با مبلغ نمادین) انجام دهید تا از سلامت کامل درگاه مطمئن شوید.
  • گزارش تراکنش‌های ناموفق در پرتال اسنپ‌پی را بررسی کنید. آیا الگوی خاصی وجود دارد؟ (مثلاً همه خطاها از یک بانک خاص).
  • آدرس Callback را چک کنید که تغییر نکرده باشد و پاسخ HTTP صحیح بدهد.
  • در صورت استفاده از پلاگین کش، مطمئن شوید صفحه Callback از کش خارج شده است.
🧩 تحلیل ریشه (Root Cause Analysis) برای خطاهای پرتکرار

اگر خطای خاصی مرتباً تکرار می‌شود (مثلاً Callback Timeout هر شب ساعت ۲ بامداد)، به دنبال علت سیستمی بگردید:

  • آیا در آن ساعت، تسک‌های سنگین بک‌آپ یا Cron job اجرا می‌شوند؟
  • آیا خطا فقط برای برخی کاربران (مثلاً همراه اول) رخ می‌دهد؟
  • آیا خطا پس از به‌روزرسانی افزونه یا قالب شروع شده است؟
  • آیا IPهای اسنپ‌پی به اشتباه توسط فایروال بلاک می‌شوند؟
💡 بهترین روش برای تحلیل ریشه، ثبت لاگ کامل به همراه timestamp و سپس الگوشناسی است. ابزارهای log analyzer می‌توانند خطاهای تکراری را گروه‌بندی کنند.
📊 طراحی یک داشبورد ساده برای نظارت

شما می‌توانید با ابزارهای رایگان مانند Grafana (متصل به دیتابیس) یا حتی یک صفحه اختصاصی در وردپرس، آمار لحظه‌ای خطاها را مشاهده کنید:

  • تعداد تراکنش‌های موفق و ناموفق در ۲۴ ساعت گذشته
  • درصد خطا نسبت به کل تراکنش‌ها
  • میانگین زمان پاسخگویی درگاه (از درخواست تا دریافت Callback)
  • ده خطای پرتکرار با جزئیات
📌 اگر از ووکامرس استفاده می‌کنید، افزونه‌هایی مانند "WooCommerce Google Analytics Integration" یا "WooCommerce Admin" می‌توانند گزارش‌هایی از نرخ شکست پرداخت ارائه دهند.

🔔 جمع‌بندی و اقدامات پیشنهادی

مانیتورینگ خطاهای درگاه، یکی از حیاتی‌ترین وظایف فنی پس از راه‌اندازی فروشگاه است. بدون نظارت فعال، خطاها ممکن است هفته‌ها بدون اطلاع شما ادامه یابند و فروش قابل توجهی از دست برود. برای شروع:

  1. لاگ‌های خطای سرور و افزونه را فعال کنید و روزانه مرور نمایید.
  2. یک سرویس uptime روی آدرس Callback خود تنظیم کنید (مثلاً UptimeRobot رایگان).
  3. یک سیستم هشدار خودکار (ایمیل یا پیام‌رسان) برای خطاهای پرتکرار راه‌اندازی کنید.
  4. هر هفته گزارش تراکنش‌های ناموفق پرتال اسنپ‌پی را با گزارش‌های داخلی خود تطبیق دهید.
  5. حداقل ماهی یکبار فرآیند تست درگاه را انجام دهید.
🌟 به یاد داشته باشید: بهترین مانیتورینگ، مانیتورینگی است که شما را از مشکلات قبل از شکایت مشتریان آگاه کند. سرمایه‌گذاری بر روی این ابزارها، بازگشت سریعی در قالب فروش پایدار دارد.
📄 منبع: مرکز آموزش پذیرندگان اسنپ‌پی – راهنمای مانیتورینگ خطاهای درگاه
اشتراک گذاری
آخرین اخبار
دسترسی سریع