پچ نسخه 2.3.0 — سیستم کامل تمدید سرویس
================================================

قابلیت‌های اضافه‌شده
--------------------
- دکمه «تمدید سرویس» در منوی اصلی و جزئیات سفارش تحویل‌شده
- انتخاب کانفیگ/سفارش قبلی برای تمدید
- نمایش قیمت، مدت، حجم و شماره کارت پیش از پرداخت
- دریافت رسید عکس یا فایل، مخصوص همان درخواست تمدید
- جلوگیری از رسید تکراری و ثبت چند تمدید باز برای یک سفارش
- فهرست و جزئیات سوابق تمدید برای کاربر
- بخش «درخواست‌های تمدید» در پنل مدیریت
- مشاهده رسید توسط مدیر و دکمه‌های «انجام شد و تأیید» و «رد درخواست»
- اطلاع‌رسانی نتیجه به کاربر
- ثبت رویدادهای تمدید در گزارش امنیتی Audit Log
- پردازش تراکنشی و یک‌بارمصرف برای جلوگیری از تأیید یا رد دوباره

روش نصب روی پروژه فعلی
-----------------------
1) قبل از هر کاری از فایل‌ها و دیتابیس بکاپ بگیرید.
2) محتوای ZIP را در ریشه پروژه فعلی Extract کنید و Overwrite را تأیید کنید.
3) فایل config.php فعلی خودتان را نگه دارید؛ این پچ config.php ندارد و آن را تغییر نمی‌دهد.
4) در مرورگر آدرس زیر را باز کنید:

   https://YOUR-DOMAIN/PATH/patch_2_3_0.php?key=SETUP_KEY

   به‌جای SETUP_KEY مقدار setup_key داخل config.php خودتان را قرار دهید.
5) بعد از مشاهده پیام موفقیت، فایل patch_2_3_0.php را از هاست حذف کنید.
6) ربات را Start کنید و یک تمدید آزمایشی با مبلغ کم انجام دهید.

نکته مهم درباره تأیید مدیر
--------------------------
ربات به پنل X-UI یا Marzban متصل نیست. مدیر باید ابتدا سرویس را در پنل واقعی
تمدید کند و بعد دکمه «انجام شد و تأیید» را بزند. با این دکمه، کاربر پیام قطعی
تمدید را دریافت می‌کند.

فایل‌های داخل پچ
----------------
- src/Bot.php
- database/schema.sql
- patch_2_3_0.php
- VERSION
- PATCH_2_3_0_README_FA.txt

بازگشت‌پذیری
------------
این پچ هیچ سفارش، کاربر، رسید یا موجودی قبلی را حذف/ویرایش نمی‌کند و فقط جدول
renewal_requests را می‌سازد. برای برگشت کد، Bot.php قبلی را از بکاپ برگردانید.
