# 📋 چک لیست کامل راه‌اندازی سیستم تایید پرداخت

راهنمای گام به گام برای راه‌اندازی حرفه‌ای سیستم

## 🔧 فاز 1: آماده‌سازی پایه

ضروری

- ☐
  1.1 بررسی دیتابیس
  مطمئن شوید جداول زیر وجود دارند:
  • users • service_plans • plan_categories • servers • service_orders • pays • temp_service_purchases
  اگر وجود ندارند: `install_new_system.php` را اجرا کنید
- ☐
  1.2 بررسی فایل‌های اصلی
  فایل‌های زیر باید در دایرکتوری باشند:
  ✓ config.php - تنظیمات اصلی ✓ bot.php - منطق ربات ✓ xui_api.php - کلاس اتصال به پنل ✓ service_creator.php - ساخت سرویس
- ☐
  1.3 بررسی اتصال دیتابیس
  در `config.php` تنظیمات زیر را بررسی کنید:
  $host = 'localhost'; $db = 'lotfisch_qq'; $user = 'lotfisch_admin'; $pass = 'rضور عب';

## 🖥️ فاز 2: تنظیم سرور X-UI

ضروری

### ⚠️ نکته مهم

ربات در یک هاست و پنل X-UI در یک سرور دیگر قرار دارد. باید اتصال بین آنها برقرار شود.

- ☐
  2.1 دسترسی به پنل X-UI
  اطلاعات زیر را آماده کنید:
  • آی پی سرور: مثلاً 82.115.26.209 • پورت پنل: مثلاً 2083 • نام کاربری پنل: مثلاً admin • رمز عبور پنل: ******** • پروتکل: http یا https
- ☐
  2.2 اجرای setup_server.php
  این فایل را در مرورگر باز کنید:
  https://apnlot.ir/robotali/setup_server.php
  مراحل:
  1. فرم را با اطلاعات سرور پر کنید
  2. روی "ذخیره و تست اتصال" کلیک کنید
  3. صبر کنید تا اتصال تست شود
  4. لیست Inbound ها نمایش داده می‌شود
  5. ID سرور و Inbound ID ذخیره می‌شود
- ☐
  2.3 تایید اتصال موفق
  باید پیام‌های زیر را ببینید:

  ✅ اتصال به پنل موفق!

  ✅ X Inbound یافت شد

  🎉 سرور با موفقیت ذخیره شد!

## 📦 فاز 3: ایجاد تعرفه‌ها (Service Plans)

ضروری

- ☐
  3.1 اجرای add_sample_data.php
  این فایل دیتای نمونه ایجاد می‌کند:
  https://apnlot.ir/robotali/add_sample_data.php
  یا دستی تعرفه اضافه کنید:
  INSERT INTO `service_plans` (category_id, server_id, name, volume_gb, days, price, status) VALUES (1, 1, '50 گیگ یک ماهه', 50, 30, 50000, 'active');
- ☐
  3.2 بررسی تعرفه‌های فعال
  تست کنید که تعرفه‌ها در ربات نمایش داده می‌شوند:
  در تلگرام: ۱. /start بزنید ۲. "🛒 خرید سرویس" را انتخاب کنید ۳. لیست تعرفه‌ها باید نمایش داده شود

## 💳 فاز 4: تنظیم درگاه پرداخت

مهم

- ☐
  4.1 تنظیم اطلاعات کارت
  در ربات: مدیریت ربات > تنظیمات درگاه و کانال
  موارد زیر را تنظیم کنید:
  • شماره کارت: 6104-xxxx-xxxx-xxxx • نام صاحب حساب: نام و نام خانوادگی
- ☐
  4.2 تست نمایش اطلاعات کارت
  وقتی کاربر "💳 پرداخت فیش بانکی" را می‌زند، باید اطلاعات کارت نمایش داده شود.

## 🧪 فاز 5: تست سیستم تایید

ضروری

### 📊 جریان کامل سیستم

کاربر پلن انتخاب می‌کند
کاربر "💳 پرداخت فیش بانکی" می‌زند
اطلاعات کارت + مبلغ نمایش داده می‌شود
کاربر تصویر فیش را آپلود می‌کند
سیستم فیش را در دیتابیس ذخیره می‌کند
ادمین عکس فیش را با 3 دکمه دریافت می‌کند
ادمین یکی از 3 گزینه را انتخاب می‌کند
✅ تایید اتوماتیک → سرویس ساخته می‌شود
📝 تایید دستی → ادمین لینک می‌فرستد
❌ رد → ادمین دلیل می‌نویسد

### تست دکمه 1️⃣: تایید اتوماتیک

- ☐
  5.1 آپلود فیش توسط کاربر
  از یک اکانت کاربر معمولی:
  1. یک تعرفه انتخاب کنید
  2. "💳 پرداخت فیش بانکی" بزنید
  3. اطلاعات کارت را ببینید
  4. یک تصویر (عکس یا اسکرین‌شات) آپلود کنید
  5. پیام تایید دریافت کنید
- ☐
  5.2 بررسی پیام ادمین
  در اکانت ادمین باید ببینید:

  💳 فیش جدید دریافت شد

  + تصویر فیش

  + اطلاعات کاربر و تعرفه

  + 3 دکمه اکشن

- ☐
  5.3 کلیک روی "✅ تایید و ارسال اتوماتیک"
  باید پیام‌های زیر را ببینید:
  1. ⏳ در حال ساخت سرویس و ارسال به کاربر... 2. بعد از چند ثانیه یکی از موارد زیر: ✅ موفق: "سرویس با موفقیت ساخته شد و اتوماتیک به کاربر ارسال گردید!" ❌ خطا (اگر سرور خاموش باشد): "خطا در ساخت سرویس: خطا در اتصال به پنل مدیریت سرور"
- ☐
  5.4 بررسی دریافت سرویس توسط کاربر
  کاربر باید یک پیام زیبا با موارد زیر دریافت کند:
  - 🎉 سرویس شما آماده است!
  - نام تعرفه، حجم، مدت، تاریخ انقضا
  - UUID و شناسه سفارش
  - دکمه "📥 دریافت کانفیگ"

### تست دکمه 2️⃣: تایید دستی

- ☐
  5.5 آپلود فیش جدید
  مجدداً از اکانت کاربر یک فیش دیگر آپلود کنید.
- ☐
  5.6 کلیک روی "📝 تایید و ارسال دستی"
  ادمین باید یک پیام دریافت کند:

  📝 ارسال دستی لینک اشتراک

  اطلاعات کاربر و سرویس

  "لطفا لینک اشتراک (Config Link) را ارسال کنید:"

  مثال: vless://uuid@server:port?...

- ☐
  5.7 ارسال لینک معتبر
  یک لینک کانفیگ معتبر بفرستید، مثلاً:
  vless://12345678-1234-1234-1234-123456789abc@82.115.26.209:443?type=ws&security=tls#TestConfig
  باید پیام زیر را ببینید:

  ✅ سرویس با موفقیت ارسال شد!

  به کاربر: xxxxx

  کد پیگیری: xxxxx

- ☐
  5.8 تست لینک نامعتبر
  اگر یک متن معمولی (بدون vless://) بفرستید، باید خطا بگیرید:

  ⚠️ فرمت لینک اشتراک صحیح نیست!

  لطفا یک لینک معتبر ارسال کنید

### تست دکمه 3️⃣: رد درخواست

- ☐
  5.9 آپلود فیش جدید
  مجدداً فیش جدید آپلود کنید.
- ☐
  5.10 کلیک روی "❌ رد درخواست"
  ادمین باید پیام زیر را ببیند:

  📝 دلیل رد درخواست

  اطلاعات کاربر و مبلغ

  "لطفا دلیل رد درخواست را وارد کنید:"

  مثال‌های دلیل

- ☐
  5.11 نوشتن دلیل رد
  یک دلیل بنویسید، مثلاً: "فیش تکراری است"
  ادمین باید تایید ببیند:

  ✅ درخواست رد شد و به کاربر اطلاع داده شد

- ☐
  5.12 بررسی پیام کاربر
  کاربر باید یک پیام حرفه‌ای دریافت کند:
  - ❌ درخواست شما رد شد
  - کد پیگیری و مبلغ
  - دلیل رد (که ادمین نوشته)
  - دکمه‌های: پشتیبانی، تلاش مجدد، منو

## 🔧 فاز 6: رفع مشکلات احتمالی

مهم

مشکل | علت احتمالی | راه حل
--- | --- | ---
خطای 500 در تایید اتوماتیک | پنل X-UI در دسترس نیست یا اطلاعات اتصال اشتباه | 1. setup_server.php را اجرا کنید 2. اتصال را تست کنید 3. فایل xui_api_debug.log را بررسی کنید
لینک دستی قبول نمیشه | فرمت لینک صحیح نیست | لینک باید با vless:// یا vmess:// یا trojan:// شروع بشه
وقتی رد درخواست میزنم، پیام لینک اشتباه میده | باگ قبلی که حل شده | کد جدید regex pattern دقیق‌تری داره و این مشکل حل شده
ادمین پیام "لطفا فیش بفرستید" میبینه | باگ قبلی که حل شده | handler uploadReceipt حالا چک می‌کنه که فرستنده ادمین نباشه
اطلاعات کارت نمایش داده نمیشه | تنظیمات درگاه خالیه | مدیریت ربات > تنظیمات درگاه > شماره کارت و نام رو پر کنید

## ✨ خلاصه و نتیجه‌گیری

### 🎉 سیستم کاملاً حرفه‌ای آماده شده است!

تغییرات اعمال شده:

- ✅ اتصال مستقیم به پنل X-UI با کلاس حرفه‌ای XUI_API
- ✅ ساخت اتوماتیک سرویس با تابع createServiceAccount بازنویسی شده
- ✅ نمایش اطلاعات کارت قبل از آپلود فیش
- ✅ 3 حالت تایید کاملاً جداگانه و بدون تداخل
- ✅ regex pattern های دقیق برای جلوگیری از باگ
- ✅ پیام‌های حرفه‌ای و زیبا برای کاربر و ادمین
- ✅ لاگینگ کامل برای دیباگ
- ✅ مدیریت خطا با try-catch

### 📁 فایل‌های کلیدی ایجاد شده:

- setup_server.php - تنظیم و تست اتصال به سرور
- xui_api.php - کلاس اتصال به پنل X-UI
- service_creator.php - ساخت اتوماتیک سرویس (بازنویسی شده)
- bot.php - منطق ربات (handlers اصلاح شده)
- این فایل - چک لیست کامل راه‌اندازی

### 🎯 مرحله بعد شما:

1. فایل `setup_server.php` را در مرورگر باز کنید
2. اطلاعات سرور X-UI را وارد کنید
3. اتصال را تست کنید
4. یک تعرفه نمونه ایجاد کنید
5. سیستم را طبق چک لیست بالا تست کنید
6. از سیستم لذت ببرید! 🚀

## 🎊 تبریک!

سیستم تایید پرداخت شما به صورت کاملاً حرفه‌ای و استاندارد آماده شده است.
با استفاده از این چک لیست، می‌توانید به راحتی سیستم را راه‌اندازی و تست کنید.
موفق و پیروز باشید! 💪