Nexora Shop
Nexora Shop افزونهٔ رسمیای است که پلنهای پنل شما را به مشتریها میفروشد: محصولات، سفارشها، کیف پول، پرداخت کارتبهکارت و درگاه، ربات تلگرام، وباپ، کد تخفیف و هدیه، معرفی دوستان و نمایندهها. این صفحه نصب فروشگاه و بخش مدیریتش را توضیح میدهد؛ صفحههای بعدی هر بخش را با جزئیات.
فروشگاه چطور با پنل جور میشود
فروشگاه نرمافزار جداگانهای با پایگاه دادهٔ خودش است. پول در پایگاه دادهٔ فروشگاه است و حسابها در پایگاه دادهٔ پنل:
- مشتری در ربات یا وباپ خرید میکند و به کیف پول خودش پول میریزد.
- فروشگاه از راه توکنی که هنگام نصب تأیید کردهاید، از پنل میخواهد حساب را بسازد، تمدید کند یا حجمش را افزایش دهد.
- مشتری لینک اشتراکش را از فروشگاه میگیرد.
فروشگاه هیچ لایسنسی را خودش بررسی نمیکند؛ پنل این کار را میکند. وقتی پنل حساب تازهای را رد کند چون لایسنسش پر است، فروشگاه مبلغ سفارش را همان لحظه به کیف پول مشتری برمیگرداند، دلیلش را به مشتری میگوید، به تاپیک ادمینهای شما در تلگرام خبر میدهد، و فروش سرویس تازه و سرویس تست را یک ساعت متوقف میکند. تمدید و حجم اضافه ادامه دارد. لایسنس را ارتقا دهید یا جا باز کنید، بعد در داشبورد فروشگاه باز کردن دوبارهٔ فروش را بزنید.
نصب
راه پیشنهادی از پنل است: افزونهها ← مرور، Nexora Shop را انتخاب کنید، به سؤالهایش جواب دهید، و بگذارید پنل آن را روی سرور خودش یا با SSH نصب کند، یا دستوری برای اجرا به شما بدهد. پنل فروشگاه را وقتی جواب داد ثبت میکند. همهٔ راههای نصب در دایرکتوری افزونهها آمده است.
دستی، روی یک سرور لینوکس با root:
curl -fsSLO https://raw.githubusercontent.com/nexora-vpn/shop/main/install.sh
sh install.sh --method script --opt port=8095 \
--panel-url https://panel.example.com --claim-code XXXX-XXXX-XXXX-XXXX--method script باینری را زیر واحد systemd به نام nexora-addon-shop اجرا میکند؛ --method docker استک compose فروشگاه را اجرا میکند. همه چیز در /opt/nexora-addons/shop است: جوابها در .env و دادهها در data/.
سؤالهای نصب
| گزینه | پیشفرض | چه چیزی را تعیین میکند |
|---|---|---|
port | 8095 | پورتی که فروشگاه روی آن گوش میدهد. با HTTPS روشن، تنها پورتش. |
database | sqlite | sqlite همه چیز را در data/ نگه میدارد؛ postgres از سروری که خودتان اجرا میکنید استفاده میکند. |
database_dsn | اتصال PostgreSQL، که فقط برای postgres پرسیده میشود. | |
admin_username | admin | حساب مدیر خود فروشگاه. |
admin_password | گذرواژهٔ آن، از ۱۰ نویسه تا ۷۲ بایت. بعداً در خود فروشگاه عوضش کنید. | |
base_path | تصادفی | مسیری که بخش مدیریت و API فروشگاه زیر آناند. صفحههای مشتری (/app/، /pay/) در ریشه میمانند و هرگز آن را نشان نمیدهند. خالی بخش مدیریت را در ریشه میگذارد. |
public_url | آدرسی که مشتریها از آن به فروشگاه میرسند، https://<host>:<port>. با HTTPS روشن، پورت فروشگاه را نام میبرد (اگر پورتی نام نبرد، ۴۴۳). | |
https | panel در فرم پنل، off در نصب دستی | فروشگاه HTTPS را چطور سرو کند: panel، acme، acme-http، self-signed یا off. فروشگاه: پورتال مشتری را ببینید. |
به فروشگاه آدرس جداگانهای بدهید، هرگز آدرسی کنار آدرس پنل. تلگرام مینیاپ را فقط روی HTTPS باز میکند.
بهروزرسانی و حذف
- بهروزرسانی:
sh install.shرا دوباره اجرا کنید، یا در پنل آپدیت روی سرورش را بزنید. جوابها و دادهها نگه داشته میشوند. - حذف:
sh install.sh --uninstall، و با افزودن--purgeدادهها هم پاک میشوند. اول یک پشتیبان بگیرید.
راهاندازی
بخش مدیریت فروشگاه را در آدرس و مسیر پایهاش باز کنید: install.sh آن را چاپ میکند، و پنل از ردیف فروشگاه بازش میکند. راهاندازی چکلیستی از کارهای خود فروشگاه است، و هیچ چیزی ترتیبش را اجباری نمیکند:
- ربات تلگرام: با BotFather یک ربات بسازید و توکنش را بچسبانید. از رباتی مخصوص فروشگاه استفاده کنید، نه ربات پنل یا اطلاعرسان.
- تلگرام شما بهعنوان ادمین: لینک را باز کنید یا QR را اسکن کنید و Start را بزنید.
- گروه رسیدها: ربات را به گروه ادمینهایتان اضافه کنید و در تاپیکی که میخواهید رسیدها در آن بیایند
/receiptsبفرستید. - کارتهای کارتبهکارت، اگر این روش را میپذیرید (فروشگاه: پرداختها).
- محصولات، که از پلنهای پنل انتخاب میشوند.
- ورود با ایمیل یا پیامک، اختیاری (فروشگاه: پورتال مشتری).
- نشانی اشتراک مشتریها.
آنچه نصب پنل انجام داده، یعنی ثبت در پنل و آدرس عمومی با HTTPS، فقط وقتی چیزی نادرست باشد در چکلیست میآید.
بخش مدیریت
بخش مدیریت فروشگاه به انگلیسی، فارسی، روسی و چینی است. هر کاری که فروشگاه میکند از همینجا اداره میشود.
| صفحه | کاربرد |
|---|---|
| داشبورد | فروش امروز و ۳۰ روز گذشته، رسیدهای منتظر بررسی، سفارشهای ناموفق، مشتریها و موجودی کیف پولهایشان، فروش متوقفشده، حسابهایی که دیگر با پنل نمیخوانند. |
| سفارشها | همهٔ خریدها. بازپرداخت سفارش ناموفق یا انجامشده به کیف پول، لغو سفارش پرداختنشده، یا ارسال دوباره برای سفارش پرداختشدهای که فراخوانی پنلش متوقف شده است. |
| رسیدها | رسیدهای کارتبهکارت برای تأیید یا رد، همان صف تاپیک تلگرام. |
| مشتریها | پیدا کردن مشتری با نام، شناسهٔ تلگرام، ایمیل یا تلفن؛ ویرایش مشخصات، شارژ کیف پول یا برداشت از آن، خواندن گردش حساب، دیدن سرویسها، ثبت سفارش برای او. |
| نمایندهها | سطحها و نمایندهها (فروشگاه: نمایندهها). |
| گزارشها | فروش هر دوره و هر ارز، جدید در برابر تمدید، نرخ تمدید، پرفروشترین محصولات و نمایندهها، هزینهٔ تبلیغات و بازپرداختها، موجودی کیف پولها. |
| محصولات | سرویس تازه از یک پلن پنل، تمدید (بر اساس روز یا ماه تقویمی، با حجم و شروع دوبارهٔ دوره به دلخواه)، حجم اضافه؛ قیمت برای هر ارز؛ برداشتن از فروش. |
| روشهای پرداخت | کارتها، درگاهها با وضعیت سلامتشان، تنظیمات پرداخت، نشانی و رمز پیامک بانک، نرخ ارز (فروشگاه: پرداختها). |
| کدها و معرفی | کدهای تخفیف، کدهای هدیه، پاداش معرفی (فروشگاه: کد تخفیف و معرفی). |
| متنهای ربات | هر پیامی که ربات میفرستد، با کلمات خودتان. |
| تنظیمات | ربات (ارز، سرویس تست، کانالی که اول باید عضوش شد، مبلغهای شارژ، پشتیبانی، یادآوریها، تمدید خودکار)، زبانهای مشتریها، یادآوریها، پیام همگانی، ورود با ایمیل و پیامک. |
| راهاندازی | چکلیست بالا. |
| امنیت | گذرواژه و ورود دومرحلهای شما. |
| پشتیبانگیری | زمانبندی، آرشیوها، کلید، و بررسی بعد از بازیابی پنل (فروشگاه: پشتیبانگیری). |
لینکهای اشتراک و مسیر مدیریت
داشبورد وقتی پنل لینکهای اشتراک را روی مسیر مدیریت پنل به مشتریها میدهد هشدار میدهد. مسیر پایه اشتراک (اختیاری) را در تنظیمات پنل تعیین کنید تا مشتریها هرگز آن را نبینند (اشتراکها و صفحهی اشتراک).
متنهای ربات
هر پیام و دکمهٔ ربات را میشود به هر زبانی که روشن کردهاید با کلمات دیگری نوشت. یک متن میتواند از مقدارهایی که مرحلهاش پیشنهاد میدهد استفاده کند، که زیر ویرایشگر به شکل دکمه نشان داده میشوند ({{.Name}}، {{.Amount}} و غیره). ویرایشگر با مقدارهای نمونه پیشنمایش نشان میدهد، و فروشگاه پیش از نگه داشتن بررسیاش میکند، پس اشتباه هرگز به مشتری نمیرسد. پیامها از HTML تلگرام استفاده میکنند: <b>، <i>، <code>، <a href="…">. برگشت به متن پیشفرض متن خود فروشگاه را برمیگرداند.
گزارشها
فروش سفارشی است که در بازهٔ انتخابی پرداخت شده و بازپرداخت نشده است؛ سرویس تست فروش نیست. نرخ تمدید سهم حسابهایی است که پیش از بازه فروخته شدهاند (نه سرویس تست، و هنوز در پنل) و در همان بازه تمدید شدهاند یا حجم اضافه گرفتهاند. در کیف پولها مبلغی است که فروشگاه همین حالا به مشتریهایش بدهکار است. پول برای هر ارز جدا نشان داده میشود و هرگز تبدیل نمیشود.
زبانهای مشتریها
فروشگاه فارسی، انگلیسی، روسی و چینی حرف میزند. زیر تنظیمات زبانهایی را که مشتریهایتان به کار میبرند روشن کنید. هر مشتری، اگر زبانش روشن باشد، به زبان خودش (زبان تلگرامش، یا زبانی که انتخاب میکند) جواب میگیرد، وگرنه به انگلیسی یا اولین زبان روشن. هر محصول برای هر زبان روشن یک نام میخواهد.
یادآوریهای فروشگاه، یا اطلاعرسان
فروشگاه به طور پیشفرض دربارهٔ حسابها به مشتریهایش خبر میدهد: یادآوریهای پیش از انقضا، و هشدارهای پنل وقتی حسابی منقضی میشود، ترافیکش تمام میشود، تمدید یا حذف میشود. اگر اطلاعرسان را اجرا میکنید، که همین کار را برای همهٔ حسابهای پنل میکند، زیر تنظیمات گزینهٔ فروشگاه دربارهٔ انقضا، حجم، تمدید و حذف سرویس به مشتری خبر بدهد را خاموش کنید تا کسی آن را دو بار نشنود. فروشگاه همچنان دربارهٔ کارهایی که خودش میکند به مشتری خبر میدهد: خریدها، رسیدها، کیف پول، و تمدید خودکاری که کیف پول نتوانست هزینهاش را بپردازد.
