انتقل إلى المحتوى

تكامل الفواتير المخصصة

سيشرح هذا الموضوع كيفية إعداد تكامل فوترة الدفع الآجل مع أي نظام فوترة باستثناء WHMCS (على سبيل المثال، Blesta، أو Hostbill، أو Ubersmith، أو غيرها).

الخطوة 1 - تحديد معدل التحويل بين الرموز والعملات

يقدم SolusVM 2 الفواتير بالساعة والشهرية. قرر مقدار الأموال الحقيقية (بالعملات المرغوبة) التي سيكلفها الرمز المميز.

Note

يمكن أن تكون الرموز أعدادًا صحيحة فقط.

ننصحك بإعداد جدول تحويل مفصل، على سبيل المثال:

الرموز سعر الرمز بالدولار الأمريكي سعر الرمز باليورو
1 0.00100 دولار 0.00091 يورو
10 0.01000 دولار 0.00910 يورو
100 0.10000 دولار 0.09100 يورو
1000 1.00000 دولار 0.91000 يورو
10.000 10.00000 دولار 9.10000 يورو

الخطوة 2 - حساب الأسعار بالساعة والشهرية

المتطلبات الأساسية: لنفترض أنك قمت بالفعل بإضافة خطط. إذا لم يكن الأمر كذلك، فقد حان الوقت للقيام بذلك.

أنت الآن بحاجة إلى تحديد المبلغ الذي ستتحمله مقابل خططك. يمكن أن تحتوي كل خطة في SolusVM 2 على السعر بالساعة والسعر الشهري بالرموز:

  • "الرموز المميزة في الساعة" هو السعر بالرموز المميزة لاستخدام مورد لكل ساعة.

على سبيل المثال، إذا قمت بتشغيل خادم وإنهائه بعد خمس دقائق، يجب على مستخدم الخادم دفع ثمن ساعة واحدة.

  • "الرموز المميزة في الشهر" هو السعر بالرموز المميزة لاستخدام أحد الموارد لمدة شهر كامل تقريبًا.

الأشهر لها أطوال مختلفة ولكن السعر الشهري ثابت. لتحقيق ذلك، يمكنك تحديد السعر الشهري عن طريق حساب الحد الأقصى الشهري. دعونا نرى مثالا.

لدينا سعر الساعة وهو 7 رموز (تساوي 0.007 دولار في الساعة). سيتكلف الشهر بأكمله المكون من 31 يومًا ما يلي:

7 رموز × 24 ساعة × 31 يومًا = 7 × 744 ساعة = 5208 رموز (تساوي 5.21 دولارًا)

الناس يحبون الأرقام المستديرة. يمكننا خصم 208 رمزًا (0.21 دولارًا) ونحصل على سعر 5000 رمزًا (5.00 دولارات). سيكون هذا هو الحد الأقصى الشهري والسعر الشهري في نفس الوقت. سيختار SolusVM 2 السعر (بالساعة أو بالشهر) الذي سيتم تحصيله وفقًا للسعر الشهري.

على سبيل المثال، قام مستخدم بتشغيل خادم لمدة 700 ساعة، وهو ما يكلف 4900 رمزًا مميزًا. إنه أقل من 5000 رمزًا من الحد الأقصى الشهري، لذا سيتم تحصيل رسوم من المستخدم كل ساعة. في الشهر التالي، قام المستخدم بتشغيل الخادم لمدة 730 ساعة، بتكلفة 5110 رمزًا. إنه أكثر من 5000 رمز من الحد الأقصى الشهري، لذا سيتم فرض رسوم على المستخدم شهريًا (5.00 دولارات).

نوصي بحساب الأسعار بالساعة والشهرية قبل تحديدها فعليًا في SolusVM 2. يمكنك أدناه الاطلاع على مثال لكيفية حساب الأسعار باستخدام جدول التحويل الموضح في الخطوة 1.

الخطط الرموز في الساعة الرموز المجمعة شهريًا (الرموز لكل ساعة × 24 ساعة × 31 يومًا) السعر الإجمالي شهريًا بالدولار الأمريكي الرموز شهريًا (بالسعر الثابت) السعر شهريًا بالدولار الأمريكي إذا تم تطبيق "الرموز المميزة لكل شهر".
1 نواة، 1 جيجا رام 7 5,208 5.21 دولار 5000 5.00 دولار
1 كور، 2 جيجا رام 14 10,416 10.42 دولار 10.000 10.00 دولار
2 النواة، 2 جيجا رام 21 15,624 15.62 دولار 15000 15.00 دولارًا
2 النواة، 4 جيجا بايت رام 28 20,832 20.83 دولارًا 20.000 20.00 دولارًا

Note

في المثال أعلاه، قمنا بتقريب الأسعار الشهرية (العمودين الأخيرين). إنه أكثر ملاءمة للعملاء ويمكن أن يكون بمثابة خصم شهري. الأمر متروك لك، إذا فعلت الشيء نفسه أم لا.

الخطوة 3 – تحديد الأسعار بالرموز المميزة للخطط في SolusVM 2

خلال الخطوة السابقة، قمت بإنشاء جدول الأسعار التفصيلي. أنت الآن بحاجة إلى تعيين الأسعار بالساعة والشهرية (العمودين الثاني والخامس في جدول التسعير على التوالي) للخطط في SolusVM 2:

  1. قم بتسجيل الدخول إلى SolusVM 2.

  2. انتقل إلى حساب الموارد > الخطط.

  1. يمكنك تحديد قيم الرمز المميز أثناء تحرير خطة موجودة أو إنشاء خطة جديدة:

  2. لتعديل خطة موجودة، انقر فوق أيقونة الموجودة في صف الخطة.

  3. لإنشاء خطة جديدة، انقر فوق إضافة خطة.

  4. حدد السعر بالساعة والسعر الشهري بالرموز المميزة في "الرموز المميزة لكل ساعة" و"الرموز المميزة لكل شهر" على التوالي.

  5. إذا كنت تقوم بإنشاء خطة، أيضًا املأ الحقول المطلوبة.

!!! note

     إذا قمت بتعيين "الرموز المميزة لكل شهر" على "0"، فلن تتوفر سوى الفواتير بالساعة.
     إذا قمت بتعيين "الرموز المميزة لكل ساعة" على "0" ولكنك حددت قيمة "الرموز المميزة (لكل شهر)"،
     ، فلن تكون الفواتير بالساعة متاحة.
     سيتم دائمًا تحصيل السعر الشهري الثابت من العملاء المحدد بواسطة "الرموز المميزة شهريًا".
  1. انقر حفظ.

الخطوة 4 - تعطيل التسجيل في منطقة مستخدم SolusVM 2

يجب أن يكون نظام الفوترة الذي تم تكوينه باستخدام SolusVM 2 هو قاعدة البيانات الرئيسية لمستخدمي SolusVM 2. يجب أن تتحكم قاعدة بيانات نظام الفوترة فقط في المستخدمين الذين لديهم أو ليس لديهم الإذن بإنشاء الخوادم.

ومع ذلك، يحتوي SolusVM 2 على جزء من الواجهة يسمى "منطقة المستخدم" حيث يقوم المستخدمون بإنشاء الخوادم. من الممكن تجاوز قاعدة بيانات نظام الفوترة عن طريق إنشاء مستخدمين مباشرة في منطقة المستخدم. لمنع ذلك، تحتاج إلى تعطيل التسجيل في منطقة المستخدم:

  1. قم بتسجيل الدخول إلى SolusVM 2.
  2. انتقل إلى الإعدادات > منطقة المستخدم وقم بإلغاء تحديد مربع الاختيار "تمكين التسجيل".
  3. انقر حفظ.

لقد قمت بتعطيل التسجيل في منطقة المستخدم. قاعدة بيانات نظام الفوترة هي الآن قاعدة البيانات الرئيسية لمستخدمي SolusVM 2.

الخطوة 5 – إنشاء مجموعات محدودة

تساعدك مجموعات الحدود على وضع حدود لعدد الخوادم التي يمكن لمستخدم معين إنشاؤها ويمكنه الاحتفاظ بها في حالة التشغيل. نوصي بإنشاء مجموعات حدود واختيار مجموعة الحدود الافتراضية للمستخدمين الجدد. تعرف على كيفية القيام بذلك.

الخطوة 6 - تكوين نقطة نهاية واجهة برمجة التطبيقات (API) من جانب نظام الفوترة

أنت الآن بحاجة إلى تكوين نقطة النهاية GetTokenPricing من جانب نظام الفوترة. يمكنك تكوينه بسهولة بلغة الترميز التي تختارها.

أنت بحاجة إلى نقطة النهاية هذه حتى يتمكن SolusVM 2 من عرض الأسعار للعملاء.

Note

في الوقت الحالي، تحتاج إلى تكوين نقطة النهاية GetTokenPricing فقط. ولكن قد نقوم بتوسيع قائمة نقاط نهاية API في المستقبل.

تحتوي نقطة النهاية GetTokenPricing على معلمات الطلب والاستجابة التالية:

طلب المعلمات

معامل يكتب وصف مطلوب
"رمز مميز". خيط رمز التفويض لا
`userid` int معرف المستخدم في نظام الفوترة نعم

معلمات الاستجابة

معامل يكتب وصف
`base_token_unit_cost` يطفو سعر رمز واحد قبل أي خصومات و/أو ضرائب.
`user_token_unit_cost` يطفو السعر الكامل والنهائي لرمز واحد بما في ذلك الخصومات والضرائب.
`currency` مجموعة مصفوفة يتكون المصفوفة من معلمات تنسيق العملة: رمز ISO، والبادئة، واللاحقة، وعدد الكسور العشرية، والآلاف، وفاصل الكسور العشرية. مثال: ``` "currency": { "code": "GBP"، "display_prefix": "\u00a3"، "display_suffix": " GBP"، "thousands_separator" ": "،، "الأرقام العشرية_الفاصلة": "."، "الأرقام العشرية_لكل_شهر": 2، "الأرقام العشرية_لكل_ساعة": 4 } ```
`discounts` مجموعة مصفوفة مجموعة الخصومات المطبقة والتي تتكون من الاسم والوصف والمضاعف. مثال:
"discounts": [ { "name": "Special Client Group Discount", "description": "5% Recurring Discount", "multipler": 0.95 }
`taxes` مجموعة مصفوفة مجموعة المعلومات الضريبية بما في ذلك نوع الضريبة (مركبة أم لا) ومعدلاتها (الملصق والمعدل). مثال: ``` "الضرائب": { "مركب": صحيح، "المعدلات": [ { "label": "ضريبة المدينة"، "المعدل": 6 }، { " label": "ضريبة الولاية"، "معدل": 2 } ] } ```

عندما يحتاج SolusVM 2 إلى عرض سعر للعميل، يرسل SolusVM 2 طلب API بمعرف المستخدم إلى نقطة النهاية GetTokenPricing:

curl -X POST "https://www.mybilling.com/solusio/api/"
\ -H "Accept: application/json"
\ -H "Content-Type: application/x-www-form-urlencoded"
\ -d "token=xxxxxxx&action=GetTokenPricing&userid=1"

يرسل نظام الفوترة بعد ذلك استجابة واجهة برمجة التطبيقات (API) مع المعلومات المتعلقة بالسعر، على سبيل المثال:

{
 "base_token_unit_cost": 1.34,
 "user_token_unit_cost": 1.0812,
 "currency": {
         "code": "GBP",
         "display_prefix": "\u00a3",
         "display_suffix": " GBP",
         "thousands_separator": ",",
         "decimals_separator": ".",
         "decimals_per_month": 2,
         "decimals_per_hour": 4
 },
 "discounts": [
         {
                 "name": "Special Client Group Discount",
                 "description": "5% Recurring Discount",
                 "multipler": 0.95
         }
 ],
 "taxes": {
         "compound": true,
         "rates": [
                     {
                             "label": "City Tax",
                             "rate": 6
                     },
                     {
                             "label": "State Tax",
                             "rate": 2
                     }
                 ]
         }
}

user_token_unit_cost في الرد هو المعامل الذي يعكس جميع الضرائب والخصومات والعروض الخاصة لمستخدم معين. يقوم SolusVM 2 بعد ذلك بضرب user_token_unit_cost في سعر الخطة بالرموز، يحصل على السعر الحقيقي بالعملة (الجنيه الإسترليني في مثالنا)، ويظهر هذا السعر للمستخدم.

الخطوة 7 - تمكين تكامل الفوترة في SolusVM 2

لقد قمت بتكوين نقطة نهاية واجهة برمجة التطبيقات (API) من جانب نظام الفوترة. سنستخدمه الآن.

  1. قم بتسجيل الدخول إلى SolusVM 2.
  2. انتقل إلى الإعدادات > تكامل الفوترة.
  3. ضمن "النوع"، حدد "الفوترة المخصصة".
  4. حدد عنوان URL لنقطة النهاية GetTokenPricing على جانب نظام الفوترة، على سبيل المثال https://www.mybilling.com/solusio/api/
  5. (اختياري) قد يتطلب نظام الفوترة رموزًا مميزة للترخيص. إذا كان الأمر كذلك، فالصق رمز تفويض نظام الفوترة الخاص بك.
  6. انقر حفظ.

الخطوة 8 – دمج إدارة المستخدم مع SolusVM 2 من جانب نظام الفوترة

يجب أن يقوم نظام الفوترة بإدارة المستخدمين في SolusVM 2 عندما يكون ذلك ضروريًا.

لتحقيق ذلك، تحتاج إلى إعداد تكامل إدارة المستخدم مع SolusVM 2 على جانب نظام الفوترة. عند القيام بذلك، سيتمكن نظام الفوترة من إنشاء وتحرير وحذف قفل وتعليق المستخدمين في SolusVM 2 باستخدام نقطة نهاية SolusVM 2 API.

Note

عند دمج إدارة المستخدم، تأكد من أن نظام الفوترة يرسل billing_user_id إلى SolusVM 2. يحتاج SolusVM 2 إلى billing_user_id لمطابقة المستخدمين المخزنين في نظام الفوترة مع تلك المخزنة في SolusVM 2.

الخطوة 9 – تكوين تسجيل الدخول التلقائي إلى SolusVM 2

يقوم نظام الفوترة بإعادة توجيه المستخدمين إلى منطقة مستخدم SolusVM 2. لمساعدة المستخدمين على الدخول إلى SolusVM 2 دون الحاجة إلى تسجيل الدخول للمرة الثانية، قم بتكوين تسجيل الدخول التلقائي. للقيام بذلك، تحتاج إلى إنشاء رمز وصول للمستخدم أولاً. ثم استخدم رابط تسجيل الدخول الذي يحتوي على الرمز المميز لتخويل المستخدم في البرامج النصية للتكامل:

GET https://www.solus-user-ui.com/auth/by_token/{access_token}

الخطوة 10 – تكوين إنشاء الفواتير من جانب نظام الفوترة

كخطوة أخيرة، تحتاج إلى تكوين نظام الفوترة لإرسال طلبات API إلى /usage SolusVM 2 نقطة نهاية API.

في نهاية دورة الفوترة، يقوم نظام الفوترة بإنشاء الفواتير وإرسالها إلى المستخدمين. لحساب الرسوم، يجب أن يتلقى نظام الفوترة إحصائيات الموارد المستهلكة عن طريق إرسال طلبات API إلى نقطة النهاية /usage.

تهانينا! لقد انتهيت من دمج نظام الفوترة الخاص بك مع SolusVM 2. نأمل أن الأموال تأتي بالفعل.