اختلال در درگاه پرداخت، درست مثل این است که درب ورودی فروشگاه شما قفل شده باشد؛ مشتری پشت در میماند و اعتمادش سلب میشود. در دنیای هاستینگ، پایداری تراکنشها قلب تپنده کسبوکار است. اگر فاکتوری پرداخت شود اما وضعیت آن در سیستم تغییر نکند، تمدید خودکار سرویس متوقف شده و باعث قطع دسترسی کاربر میگردد. حتماً زمانی که این مقاله را باز کردهاید، با چالش عدم بازگشت کاربر از درگاه یا ثبت نشدن فاکتورها مواجه شدهاید. نگران نباشید؛ ما اینجا هستیم تا این گره را با هم باز کنیم.
⚠️ هشدار مهم: WHMCS نسخه 6 از سال 2018 دیگر پشتیبانی نمیشود و دارای آسیبپذیریهای امنیتی جدی است. اگر هنوز از این نسخه استفاده میکنید، حتماً به نسخههای 8.13 یا 9.0 ارتقا دهید. این مقاله اصول کلی عیبیابی درگاه را پوشش میدهد که برای تمام نسخههای WHMCS کاربرد دارد.
در این مقاله، تمرکز ما بر حل مشکل درگاه پرداخت در WHMCS است. ما از لایههای زیرساختی سرور شروع کرده و تا جزئیترین تنظیمات ماژول بانکی پیش میرویم تا سیستم مالی شما مجدداً مثل ساعت کار کند.
چکلیست 3 مرحلهای برای رفع سریع خطای درگاه WHMCS:
بررسی لاگ سیستم: از منوی Billing به قسمت Gateway Log بروید تا کد خطای ارسالی از سمت بانک را مشاهده کنید.
تست فایل Callback: مطمئن شوید که آدرس بازگشت درگاه توسط فایروال سرور یا فایل .htaccess مسدود نشده باشد.
بررسی هماهنگی در پنل وبداده: پس از اصلاح درگاه، از بخش «مالی» در پنل کاربری وبداده مطمئن شوید که فاکتور مربوطه به وضعیت “پرداخت شده” تغییر یافته است.
💡 نکته طلایی: پایداری درگاه پرداخت نه تنها سود شما را تضمین میکند، بلکه امنیت اعتماد کاربران را نیز افزایش میدهد. در وبداده، ما همیشه بر استفاده از آخرین نسخههای ماژولهای بانکی تاکید داریم.
به زبان ساده، اختلال در درگاه زمانی رخ میدهد که ارتباط میان اسکریپت WHMCS و API بانک قطع شود؛ یا دادههای ارسالی از سمت بانک توسط سایت شما پذیرفته نشوند. در نسخههای قدیمی WHMCS، به دلیل تفاوت در نسخههای PHP و کتابخانههای امنیتی، این مشکل بیشتر دیده میشود. تصور کنید کاربر مبلغ را پرداخت کرده اما بانک نمیتواند به سایت شما بگوید: «پول دریافت شد!». در نتیجه فاکتور “پرداخت نشده” باقی میماند.
نمودار گردش عملیات پرداخت:
کاربر (سایت)
➡️ ارسال به درگاه (بانک)
➡️ پرداخت موفق
➡️ بازگشت به Callback URL
➡️ تایید تراکنش (WHMCS)
➡️ تغییر وضعیت فاکتور
در هر یک از این مراحل، اگر SSL منقضی شده باشد یا پورتهای خروجی سرور مسدود باشند، کل زنجیره از هم میپاشد.
🔸 باکس نکته فنی: نسخههای قدیمی WHMCS با PHP 5.6 یا 7.0 کار میکردند که این نسخههای PHP از سال 2018 منسوخ شدهاند. WHMCS 8 و بالاتر به PHP 7.2 یا جدیدتر (ترجیحاً 8.1+) نیاز دارد. عدم هماهنگی نسخه PHP با ماژول درگاه، اولین متهم ردیف اول در شکست تراکنشهاست.
چرا به رفع اختلالات درگاه نیاز داریم؟
چرا نباید حتی یک ساعت در رفع این مشکل تاخیر کرد؟ پاسخ ساده است: اعتماد مشتری و بقای سرویس. وقتی کاربر برای تمدید سرور مجازی، اختصاصی و یا سایر سرویس های میزبانی خود اقدام میکند، انتظار دارد بلافاصله پس از پرداخت، سرویس او فعال بماند.
جلوگیری از قطع سرویس: تمدید خودکار سرویسها مستقیماً به وضعیت فاکتور وابسته است.
کاهش تیکتهای پشتیبانی: نیمی از تیکتهای “چرا سرویس من فعال نشد” ناشی از خرابی درگاه است.
حفظ اعتبار برند: یک درگاه خراب، آماتور بودن شرکت هاستینگ را القا میکند.
در سال 2025، با افزایش حملات فیشینگ، کاربران به درگاههایی که خطای SSL میدهند یا به درستی ریدایرکت نمیشوند، به هیچ وجه اعتماد نمیکنند.
پیشنیازهای فنی برای پایداری درگاه
قبل از اینکه به سراغ کدها برویم، باید مطمئن شویم که پی ساختمان محکم است. برای رفع مشکل درگاه پرداخت در WHMCS، سرور شما باید شرایط زیر را داشته باشد:
فعال بودن cURL و OpenSSL: این دو ماژول مسئول ارسال و دریافت ایمن دادهها به بانک هستند.
نسخه PHP سازگار: WHMCS 8.x به PHP 7.2+ نیاز دارد و WHMCS 9.x با PHP 8.1, 8.2, 8.3 کار میکند. مطمئن شوید IonCube Loader شما آپدیت باشد.
گواهینامه SSL معتبر: اکثر بانکهای نوین (مانند ملت، سامان و زرینپال) بدون HTTPS اجازه تراکنش نمیدهند.
اتصال صحیح دیتابیس: جداول tblpaymentgateways (تنظیمات درگاه) و tblpaymethods (روشهای پرداخت tokenized) نباید خراب (Crash) شده باشند.
🔶 نکته در وبداده: اگر از سرویسهای هاستینگ وبداده استفاده میکنید، تمامی این ماژولها به صورت پیشفرض فعال و برای بالاترین سطح امنیت بهینه شدهاند.
آموزش تنظیم Callback در WHMCS و رفع خطاهای بازگشت
در این بخش همراه تیم وبداده باشید تا به صورت عملی و تصویری، مشکل عدم تایید تراکنش را حل کنیم. «Callback URL» یا همان آدرس بازگشت، نقطهای است که بانک اطلاعات پرداخت را به آن ارسال میکند. اگر این آدرس اشتباه باشد، پول از حساب کاربر کسر میشود اما فاکتور شما سبز نمیشود.
📝 سناریوی اصلاح درگاه در وبداده:
ما برای این آموزش از یک ماژول درگاه مستقیم بانکی استفاده میکنیم.
مرحله صفر: ورود به پنل مدیریت WHMCS
ابتدا باید وارد پنل ادمین WHMCS خود شوید:
به آدرس https://yourdomain.com/whmcs/admin بروید.
نام کاربری و رمز عبور ادمین خود را وارد کنید.
پس از ورود، وارد داشبورد مدیریتی میشوید.
1- بررسی و تنظیم Gateway Log
اولین قدم، مشاهده لاگ درگاه پرداخت (Gateway Log) است. برای این کار از منوی سمت چپ پنل ادمین به مسیر Billing > Gateway Log بروید. در اینجا پاسخهای بانک را میبینید.
◀️ اگر ستون “Result” مقدار “Error” دارد، کد خطا را بردارید.
◀️ مثال: خطای -1 در بانک ملت معمولاً به معنای IP نامعتبر است (آیپی سرور شما در لیست سفید بانک نیست).
2- تنظیم دقیق آدرس بازگشت
نحوه دسترسی به تنظیمات Payment Gateways بستگی به نسخه WHMCS شما دارد:
WHMCS 8.6 و بالاتر: از منوی بالا Addons > Apps & Integrations (یا Configuration > Apps & Integrations)، سپس دستهبندی Payments را انتخاب کنید.
WHMCS 8.0 تا 8.5: روی آیکون چرخدنده (⚙️) کلیک کنید، سپس Configuration > System Settings > Payment Gateways
WHMCS 7.10 و قدیمیتر (شامل نسخه 6): روی آیکون چرخدنده کلیک کنید، سپس Setup > Payments > Payment Gateways
در صفحه Payment Gateways، لیست تمام درگاههای فعال و غیرفعال را مشاهده میکنید. روی درگاه بانکی خود کلیک کنید تا وارد تنظیمات آن شوید.
مطمئن شوید که آدرس کالبک به درستی وارد شده باشد.
🔸 مرحله 1: فایل callback/yourgateway.php را چک کنید که وجود داشته باشد.
🔸 مرحله 2: اگر سایت شما با www باز میشود، آدرس کالبک هم باید با www باشد. تداخل در این مورد باعث گم شدن نشست (Session) کاربر میشود.
📌 یادآوری: فایل .htaccess خود را بررسی کنید. گاهی اوقات کدهای امنیتی برای جلوگیری از حملات، درخواستهای “POST” ارسالی از سمت بانک را مسدود میکنند.
مدیریت سرویس و فاکتور در پنل کاربری وبداده
اگر شما یکی از کاربران وبداده هستید و در هنگام پرداخت با مشکل مواجه شدید، نیازی به نگرانی نیست. ما راهکارهای جایگزینی برای شما پیشبینی کردهایم تا سرویس شما هرگز قطع نشود.
مشاهده فاکتورها در بخش مالی وبداده: با ورود به پنل، میتوانید لیست تمام پرداختهای موفق و ناموفق را ببینید.
تمدید خودکار سرویس در پنل وبداده: اگر درگاه مستقیم با خطا مواجه شد، بهترین راهکار افزایش موجودی کیف پول است. با این کار، سیستم به صورت خودکار مبلغ فاکتور را از اعتبار شما کسر کرده و سرویس را در لیست «سرویسهای من» فعال نگه میدارد.
روش پرداخت
سرعت تایید
پایداری
امنیت
درگاه مستقیم بانکی
آنی
متوسط (بستگی به بانک)
بسیار بالا
کیف پول (اعتبار)
آنی
100٪ (توصیه شده)
بسیار بالا
کارت به کارت
دستی
بالا
متوسط
نکات امنیتی و جلوگیری از تراکنشهای جعلی
امنیت درگاه فقط به معنای کار کردن آن نیست؛ بلکه به معنای “درست” کار کردن آن است.
تست Sandbox: همیشه قبل از عملیاتی کردن درگاه، یک تراکنش 1000 تومانی واقعی انجام دهید.
بررسی مبلغ تراکنش: مطمئن شوید ماژول درگاه، مبلغ بازگشتی از بانک را با مبلغ فاکتور در WHMCS مقایسه میکند (تا کسی نتواند با پرداخت 1 تومان، فاکتور 1 میلیونی را پاس کند!).
محدودیت IP: در صورت امکان، دسترسی به فایلهای کالبک را فقط برای رنج آیپیهای بانک محدود کنید.
استفاده از HMAC Signature: برای امنیت بیشتر، callback را با HMAC امضا کنید تا از صحت دادههای دریافتی اطمینان حاصل شود.
⚠️ هشدار: هرگز از ماژولهای درگاه “نال شده” یا رایگان از منابع نامعتبر استفاده نکنید؛ این کار ریسک هک شدن کل سیستم مالی شما را به همراه دارد.
خدمات WHMCS در وبداده؛ تضمین پایداری مالی
ما در وبداده، فراتر از ارائه سرور، در کنار شما هستیم تا کسبوکارتان بدون وقفه رشد کند. تیم فنی ما با تجربه عیبیابی هزاران درگاه پرداخت، بهترین زیرساخت را برای سیستمهای مالی فراهم کرده است.
✅ مزایای استفاده از سرویسهای وبداده:
سرورهای بهینه شده برای اجرای بی نقص WHMCS نسخههای 8.x و 9.x
مانیتورینگ 24 ساعته پورتهای بانکی
ارائه گواهینامه SSL رایگان برای امنیت درگاههای شما
سرور مجازی وب داده
VPS وب داده با حضور قدرتمند در بیش از 9 لوکیشن استراتژیک در سراسر جهان…
برای مشاهده موقعیتهای سرور های مجازی وبداده روی دکمه زیر کلیک کنید
در این راهنما، مسیر کامل رفع مشکل درگاه پرداخت در WHMCS را بررسی کردیم. از اهمیت حیاتی Gateway Log گفتیم و آموختیم که چگونه تنظیمات اشتباه Callback میتواند باعث سردرگمی کاربران شود. به یاد داشته باشید که تکنولوژی همیشه در حال تغییر است و آپدیت نگه داشتن ماژولها و نسخه WHMCS در سالهای ۲۰۲۴ تا ۲۰۲۶، یک ضرورت است، نه یک انتخاب.
اگر همچنان با مشکل مواجه هستید، پیشنهاد میکنیم وضعیت سرور خود را در پنل وبداده بررسی کنید یا از طریق بخش تیکت با کارشناسان ما در ارتباط باشید. هدف ما این است که شما بدون دغدغه فنی، فقط به فکر توسعه تجارت خود باشید.
امیدوارم این مقاله از بلاگ وبداده برای شما مفید بوده باشد. در صورتی که سوالی داشتید میتوانید در بخش نظرات با ما در ارتباط باشید. 😉🚀
سوالات متداول از حل مشکل درگاه پرداخت در WHMCS
1- چرا بعد از پرداخت موفق، فاکتور در WHMCS همچنان “Unpaid” است؟
این مشکل معمولاً به دلیل عدم ارسال صحیح دادهها به فایل Callback است. احتمالاً SSL شما مشکل دارد یا فایروال سرور درخواست بانک را مسدود کرده است.
2- چگونه میتوانم خطای دقیق بانک را پیدا کنم؟
بهترین راه، مشاهده لاگ درگاه پرداخت (Gateway Log) در منوی Billing > Gateway Log مدیریت WHMCS است. تمام پاسخهای بانک در آنجا ثبت میشود.
3- آیا WHMCS نسخههای قدیمی با درگاههای جدید بانکی سازگار است؟
نسخههای قدیمی WHMCS (مثل نسخه 6) منسوخ شدهاند و با درگاههای مدرن مشکل دارند. حتماً به WHMCS 8.13 یا 9.0 ارتقا دهید.
4- کالبک (Callback) چیست؟
کالبک یک آدرس اختصاصی روی سایت شماست که بانک پس از انجام تراکنش، نتیجه (موفق یا ناموفق بودن) را به آن ارسال میکند تا WHMCS بتواند فاکتور را آپدیت کند.
5- اگر درگاه کار نکرد، چطور سرویس را تمدید کنم؟
شما میتوانید از طریق بخش «مالی» در پنل وبداده، موجودی کیف پول خود را افزایش دهید و سپس فاکتور را با اعتبار خود پرداخت کنید.
6- خطای “Curl Error: 7” در لاگ درگاه به چه معناست؟
این خطا یعنی سرور شما نمیتواند به سرور بانک متصل شود؛ احتمالاً پورت خروجی (معمولاً پورت 443) در فایروال مسدود است.
من نویسنده و تولیدکننده محتوای تخصصی در حوزه هاستینگ هستم که با تمرکز بر کپیرایتینگ و ارائه آموزشهای کاربردی، به ارتقای دانش و مهارت کاربران کمک میکنم. سالهاست که در زمینه هاستینگ و شبکه فعالیت میکنم و همواره تلاش دارم با بهروزرسانی اطلاعات خود، بهترین و مفیدترین مطالب را برای مخاطبان ارائه دهم.