حساب تكلفة تجديد النطاق لعدة سنوات مع الخصم
تحوّل هذه الحاسبة سعر التجديد السنوي للنطاق إلى ميزانية واضحة لعدة سنوات. أدخلوا سعر السنة الواحدة، وعدد السنوات التي ترغبون في دفعها مقدماً، ونسبة الخصم التي يعرضها المسجّل. تفصل النتيجة بين المجموع قبل الخصم، وقيمة التوفير، والتكلفة النهائية، لكي تقارنوا العروض دون الخلط بين سعر ترويجي للسنة الأولى والتكلفة الدورية الفعلية للتجديد.
شغّل الأداة مجانًا
ابدؤوا بسعر التجديد السنوي الحقيقي
استخدموا سعر التجديد السنوي المعتاد الذي يعرضه مسجّل النطاق، لا السعر الترويجي للسنة الأولى، إلا إذا كان ذلك السعر يسري فعلاً على جميع سنوات المدة. كثيراً ما تعرض الإعلانات سعراً أولياً منخفضاً بجوار سعر تجديد أعلى، والجمع بينهما يقلل تقدير الالتزام الحقيقي. أدخلوا السعر السنوي رقماً غير سالب بالعملة التي تعتمدونها في الميزانية. لا تحوّل الحاسبة العملات، ولذلك تبقى جميع المدخلات والنتائج بالعملة نفسها. بعد ذلك، أدخلوا العدد الدقيق للسنوات التي تريدون دفعها مسبقاً. يجب أن يكون عدداً صحيحاً لا يقل عن 1، لأن مدة تسجيل النطاق لا تقبل جزءاً من سنة ولا صفراً من السنوات. يُحسب المجموع قبل الخصم بضرب السعر السنوي في عدد السنوات. وإظهار هذا المبلغ يوفر أساساً واضحاً لمقارنة الدفع المسبق بالتجديد السنوي، كما يجعل مراجعة حساب الخصم سهلة ومباشرة.
طبّقوا خصم السنوات المتعددة بصورة صحيحة
إذا قدّم المسجّل خصماً لعدة سنوات، فأدخلوا نسبة بين 0 و100. اتركوا الحقل أو استخدموا 0 عند عدم وجود خصم. تطبّق الحاسبة النسبة على المجموع الكامل قبل الخصم، ثم تعرض قيمة التوفير والمبلغ المتبقي. خصم 10 في المئة يعني دفع 90 في المئة من المجموع؛ ولا يعني طرح عشر وحدات نقدية أو تخفيض سنة واحدة فقط. تُقرّب المبالغ إلى منزلتين عشريتين بما يوافق الدقة المعتادة للفواتير. قبل اعتماد النتيجة، تحققوا مما إذا كان العرض يشمل سنوات التجديد أو النقل أو رسوم النطاقات المميزة أو التسجيل الجديد وحده. راجعوا أيضاً الضرائب ورسوم السجل وخدمات الخصوصية والإضافات. لا تدخل هذه البنود في الحساب إلا إذا أضفتموها عمداً إلى السعر السنوي، ولذلك تمثل النتيجة عنصر التجديد المحسوب وليست بالضرورة القيمة النهائية للفاتورة.
قارنوا الخطط ووثّقوا الميزانية
شغّلوا الحساب لكل مسجّل أو مدة تفكرون فيها، مع استخدام العملة نفسها وعدد السنوات نفسه للحصول على مقارنة عادلة. تجعل حقول النتيجة التفاصيل واضحة: يعرض المجموع التكلفة قبل العرض، ويسجل discount_percent النسبة المستخدمة، ويبيّن discount_amount مقدار التوفير، ويعرض total_cost التكلفة بعد الخصم. يساعد هذا التفصيل الفرق على توثيق سبب اختيار خطة معينة، والوكالات على إعداد تقدير للعميل، ومالكي النطاقات على تخصيص أموال لمحفظة كاملة. قد يكون المجموع الأقل جذاباً، لكن السعر ليس العامل الوحيد؛ راجعوا سياسات النقل والتنبيهات وأمان الحساب والدعم وفقدان المرونة الناتج عن الدفع المسبق. احتفظوا بتاريخ العرض وشروطه مع النتيجة لأن الشروط قد تتغير. تبلغ تكلفة طلب API واحد $0.002، ويستخدم الحساب الحتمي نفسه المتاح في المتصفح، مما يجعل عمليات إعداد الميزانية المتكررة قابلة لإعادة الإنتاج.
حالات الاستخدام
مقارنة عروض مسجّلي النطاقات
احسبوا الإجمالي بعد الخصم للمدة نفسها كي تقارنوا بين شروط متكافئة.
إعداد ميزانية لمحفظة نطاقات
قدّروا التزام الدفع المسبق لكل نطاق قبل إعداد الميزانية السنوية.
التحقق من خصم صفحة الدفع
قارنوا النسبة المعلنة بالمجموع والتوفير والتكلفة النهائية للتجديد.
الأسئلة الشائعة
ما السعر الذي ينبغي إدخاله؟
أدخلوا سعر التجديد السنوي المطبق على كل سنة من المدة المخططة، بالعملة التي تختارونها.
ماذا يحدث إذا لم يوجد خصم لعدة سنوات؟
اتركوا discount_percent أو اضبطوه على 0. يساوي الإجمالي السعر السنوي مضروباً في عدد السنوات.
كيف يُحسب الخصم؟
تُطبّق النسبة مرة واحدة على المجموع الكامل قبل الخصم، ثم تُطرح قيمة التوفير منه.
هل يمكن إدخال صفر من السنوات؟
لا. يجب أن يكون عدد السنوات صحيحاً ولا يقل عن 1؛ وتؤدي القيم الأقل إلى خطأ في الإدخال.
هل تشمل النتيجة الضرائب والإضافات؟
فقط إذا أدرجتموها في annual_price. لا تضيف الحاسبة الضرائب أو خدمات الخصوصية أو رسوم السجل تلقائياً.
كم تبلغ تكلفة طلب API؟
تبلغ تكلفة كل طلب API مقدار $0.002. لا يتطلب الحساب داخل المتصفح طلب API.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/web/domain-renewal-cost-multi-year \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"annual_price":14.99,"years":3}'const res = await fetch("https://api.kit.forhosting.com/web/domain-renewal-cost-multi-year", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"annual_price": 14.99,
"years": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/domain-renewal-cost-multi-year",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"annual_price": 14.99,
"years": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/domain-renewal-cost-multi-year", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"annual_price":14.99,"years":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"annual_price":14.99,"years":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/domain-renewal-cost-multi-year", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"annual_price": 14.99,
"years": 3
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.domain_renewal_cost_multi_year",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
timeout_sec | 30 |
max_crawl_pages | 25 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |