BSS HostKhaneh

قیمت دامنه (انبار پسوند — مثل WHMCS Domain Pricing)

← بازگشت به راهنما

قیمت دامنه (انبار پسوند — مثل WHMCS Domain Pricing)



> version: 1.9 | last_updated: 2026-09-26 | audience: admin

مسیر UI



**پنل شرکت** → تنظیمات → **قیمت دامنه** (`/panel/domain-tlds`)

نیاز به لایسنس خانوادهٔ **فروش دامنه** (`domain`).

فروشگاه مشتری (فاز ۲)



  • `/domains` — جستجو + WHOIS + قیمت ماتریس → [`docs/customer/domain-lookup.md`](../customer/domain-lookup.md)

  • `/domains/checkout` — ثبت سفارش با `priceIrr` و سال انتخابی

  • پیش‌نیاز: یک محصول کاتالوگ از نوع **دامنه** (دسته خودکار)


  • اکشن دسته‌ای روی لیست پسوند



    پس از انتخاب چند ردیف:

    | اکشن | کار |
    |------|-----|
    | سرور / ثبت خودکار | `provisioning_server_id` + `auto_register` |
    | Grace / Redemption | روز و هزینه (فقط فیلدهای پرشده) |
    | فعال / غیرفعال کردن | `is_active` |

    هم‌ترازی با WHMCS



    | WHMCS Domain Pricing | BSS |
    |----------------------|-----|
    | لیست TLD | `domain_tlds` |
    | Register / Renew / Transfer × ۱–۱۰ سال | `domain_tld_prices.amount` |
    | ارز | `domain_tlds.currency` = `IRR` یا `USD` |
    | خالی / `-1` = غیرفعال | همان |
    | Grace / Redemption | روز + هزینه روی TLD (همان `currency`) |
    | Auto Registration | `auto_register` + سرور `domain` |
    | DNS / Email / ID Protection | فلگ روی TLD |
    | ایجاد دسته‌ای | دکمه **ایجاد دسته‌ای** + **نمونه Excel** |
    | Registrar TLD Sync | فاز ۳ (جزئی) — سرور از `DomainTld.provisioning_server_id` + احترام به `auto_register` |
    | Lookup / WHOIS / checkout مشتری | فاز ۲ ✅ — ثبت + انتقال + تمدید |

    ارز ریال / دلار



  • روی هر پسوند فیلد **واحد قیمت** (`currency`)

  • اگر `USD` باشد، اعداد ماتریس **و** هزینه‌های Grace / Redemption دلاری ذخیره می‌شوند (فقط در پنل ادمین)

  • برای مشتری و فاکتور: همیشه **ریال** از `priceIrr()` / `graceFeeIrr()` / `redemptionFeeIrr()` با `UsdIrrRateService` — مبلغ دلاری خام در فروشگاه نمایش داده نمی‌شود

  • هنگام **ایجاد/ویرایش** پسوند دلاری: `ensureUsableRate` نرخ روز را در صورت نیاز از TGJU تازه می‌کند؛ اگر نرخ ذخیره‌شده نسبت به خام خراب باشد، از خام ترمیم می‌شود

  • اگر نرخ دلار تنظیم نباشد، قیمت سال‌ها خالی می‌ماند و پیام «نرخ دلار … تنظیم نشده» دیده می‌شود (نه «رایگان»)


  • ایجاد دسته‌ای (Excel)



  • دکمه **نمونه Excel** → فایل `domain-tlds-sample.xlsx`

  • ستون اجباری: `extension` — ستون `currency` = `IRR` یا `USD`

  • قیمت‌ها: `register_1y` / `renew_1y` / `transfer_1y` … تا `_10y`

  • دکمه **ایجاد دسته‌ای** → آپلود یا چسباندن

  • گزینه‌ها: رد تکراری / به‌روزرسانی موجود


  • بدون هدر: `extension, register_1y, renew_1y, transfer_1y [, is_active]`

    سرویس: [`DomainTldImportService`](../../modules/ProductCatalog/Services/DomainTldImportService.php)

    مدل داده



  • `domain_tlds` — پسوند + `currency`

  • `domain_tld_prices` — `(action, years, amount)` در واحد همان پسوند

  • [`DomainPricingService`](../../modules/ProductCatalog/Services/DomainPricingService.php): `price()` خام، `priceIrr()` / `graceFeeIrr()` / `redemptionFeeIrr()` ریال مشتری