Ana içeriğe geç

Özel Faturalandırma Enterasyonu#


Bu konu, WHMCS dışındaki herhangi bir fatura sistemiyle (örneğin, Blesta, Hostbill, Ubersmith vb.) gecikmeli fatura entegrasyonunun nasıl yapılandırılacağını açıklayacaktır.

Adım 1 - Jetonlar ve para birimleri arasındaki dönüşüm oranınızı tanımlayın#

SolusVM 2, saatlik ve aylık fatura seçenekleri sunmaktadır. Bir tokenin gerçek para birimindeki değerini (istediğiniz para biriminde) belirleyin.

Not

Tokenlar yalnızca tamsayı olabilir.

Aşağıdaki tabloda, token başına düşen değerleri görebilirsiniz:

Token Token fiyatı (USD) Token fiyatı (EUR)
1 $0.00100 €0.00091
10 $0.01000 €0.00910
100 $0.10000 €0.09100
1,000 $1.00000 €0.91000
10,000 $10.00000 €9.10000

Adım 2 - Saatlik ve aylık fiyatlarınızı hesaplayın#

Önkoşullar: Varsayalım ki zaten planlar eklediniz. Eğer eklemediyseniz, bunu yapmanın tam zamanı.

Şimdi planlarınız için ne kadar ücret talep edeceğinizi belirlemeniz gerekiyor. SolusVM 2'deki her bir planın saatlik ve aylık fiyatı token cinsinden olabilir:

  • "Saat başına token" bir kaynağı bir saat boyunca kullanmanın token cinsinden fiyatıdır.

    Örneğin, bir sunucu başlatıp beş dakika sonra sonlandırırsanız, sunucunun kullanıcısı bir saatlik fiyatı ödemek zorundadır.

  • "Aya periyodik token" bir kaynağı yaklaşık olarak bir ay boyunca kullanmanın token cinsinden fiyatıdır.

    Ayların farklı uzunlukları olsa da aylık fiyat sabittir. Bunu başarmak için aylık fiyatı aylık sınırı hesaplayarak belirlersiniz. Bir örnek görelim.

    Saatlik fiyatı 7 token (yani $0.007/saat) olan bir planımız olsun. 31 günlük bir ayın maliyeti aşağıdaki gibi olacaktır:

    7 token × 24 saat × 31 gün = 7 × 744 saat = 5208 token ($5.21'e eşdeğer)

    İnsanlar yuvarlak rakamları sever. 208 token ($0.21) düşebilir ve 5000 token ($5.00) fiyatını elde edebiliriz. Bu hem aylık sınırımız hem de aylık fiyatımız olacak. SolusVM 2, aylık fiyatına bağlı olarak hangi fiyatı (saatlik veya aylık) uygulayacağını seçecektir.

    Örneğin, bir kullanıcı 700 saat boyunca bir sunucu çalıştırdı ve bu 4900 token'a mal oldu. Bu, aylık sınır olan 5000 token'dan daha az olduğu için kullanıcı saatlik olarak ücretlendirilecek. Gelecek ay, kullanıcı 730 saat boyunca bir sunucu çalıştırdı ve bu 5110 token'a mal oldu. Bu, aylık sınır olan 5000 token'dan daha fazla olduğu için kullanıcı aylık olarak ücretlendirilecek ($5.00).

Gerçekten SolusVM 2'de ayarlamadan önce saatlik ve aylık fiyatlarınızı hesaplamanızı öneririz. Aşağıda, adım 1'de gösterilen dönüşüm tablosunu kullanarak fiyatları nasıl hesapladığımızı görebilirsiniz.

Planlar Saat başına token Ayda biriken token miktarı (saat başına token × 24 saat × 31 gün) Ayda biriken toplam fiyat (USD) Aylık token fiyatı (sabit fiyat olarak) Eğer "ayda periyodik token" uygulanmış olsaydı aylık fiyat (USD)
1 Core, 1 GiB RAM 7 5,208 $5.21 5,000 $5.00
1 Core, 2 GiB RAM 14 10,416 $10.42 10,000 $10.00
2 Cores, 2 GiB RAM 21 15,624 $15.62 15,000 $15.00
2 Cores, 4 GiB RAM 28 20,832 $20.83 20,000 $20.00

Not

Yukarıdaki örnekte, aylık fiyatları yuvarlamış durumdayız (son iki sütun). Bu müşteriler için daha uygun ve aylık bir indirim olarak kullanılabilir. Siz yapmayı tercih ederseniz veya etmeseniz size kalmış.

Adım 3 - SolusVM 2'deki planlar için token cinsinden fiyatları belirleyin#

Önceki adımda detaylı fiyatlandırma tablosunu oluşturdunuz. Şimdi SolusVM 2'deki planlar için saatlik ve aylık fiyatları (fiyatlama tablosundaki ikinci ve beşinci sütunlar) belirlemeniz gerekiyor:

  1. SolusVM 2'ye giriş yapın.
  2. İşlem Kaynakları > Planlar bölümüne gidin.

  3. Varolan bir planı düzenlerken veya yeni bir plan oluştururken token değerlerini belirleyebilirsiniz:

    • Varolan bir planı düzenlemek için, planın satırındaki simgesine tıklayın.
    • Yeni bir plan oluşturmak için, Plan Ekle düğmesine tıklayın.
  4. Saatlik fiyat için "Saat başına token" ve aylık fiyat için "Aya periyodik token" alanlarına token cinsinden fiyatları belirtin.

  5. Bir plan oluşturuyorsanız, gereken alanları doldurun.

    Not

    "Aya periyodik token" değerini "0" olarak ayarlarsanız, yalnızca saatlik faturalandırma kullanılabilir olur. "Saat başına token" değerini "0" olarak ayarlarsanız ancak "Aya periyodik token" için bir değer belirtirseniz, saatlik faturalandırma kullanılamaz. Müşteriler her zaman "Aya periyodik token" tarafından belirlenen sabit aylık fiyatı ödeyeceklerdir.

  6. Kaydet düğmesine tıklayın.

Adım 4 - SolusVM 2 kullanıcı alanında kaydı devre dışı bırakın#

SolusVM 2 ile yapılandırılmış olan faturalandırma sistemi, SolusVM 2 kullanıcıları için ana veritabanı olmalıdır. Sadece faturalandırma sistemi veritabanı, hangi kullanıcıların sunucu oluşturma iznine sahip olduğunu kontrol etmelidir.

Ancak, SolusVM 2'nin "kullanıcı alanı" adlı bir arayüz bölümü vardır kullanıcıların sunucu oluşturduğu yer. Kullanıcı alanında doğrudan kullanıcı oluşturarak faturalandırma sistemi veritabanını atlamak mümkündür. Bunu önlemek için kullanıcı alanında kaydı devre dışı bırakmanız gerekmektedir:

  1. SolusVM 2'ye giriş yapın.
  2. Ayarlar > Kullanıcı Alanı bölümüne gidin ve "Kaydı Etkinleştir" onay kutusunu temizleyin.
  3. Kaydet düğmesine tıklayın.

Kullanıcı alanında kaydı devre dışı bıraktınız. Artık faturalandırma sistemi veritabanı, SolusVM 2 kullanıcıları için ana veritabanıdır.

Adım 5 - Sınır Grupları Oluşturun#

Limit grupları, belirli bir kullanıcının oluşturabileceği ve çalışma durumunda tutabileceği sunucu sayısı üzerinde sınırlar belirlemenize yardımcı olur. Limit grupları oluşturmanızı ve yeni kullanıcılar için varsayılan limit grubunu seçmenizi öneririz. Nasıl yapılacağını öğrenin.

Adım 6 - Faturalandırma sistemi tarafında API uç noktasını yapılandırın#

Şimdi, faturalandırma sistemi tarafındaki GetTokenPricing uç noktasını yapılandırmanız gerekiyor. Bunu tercih ettiğiniz bir kodlama dilinde kolayca yapılandırabilirsiniz.

SolusVM 2'nin müşterilere fiyatları gösterebilmesi için bu uç noktaya ihtiyacınız vardır.

Not

Şu anda sadece GetTokenPricing uç noktasını yapılandırmanız gerekmektedir. Ancak gelecekte API uç noktalarının listesini genişletebiliriz.

GetTokenPricing uç noktasının aşağıdaki istek ve yanıt parametreleri bulunur:

İstek parametreleri#

Parametre Tür Açıklama Gerekli
token string Yetkilendirme belirteci Hayır
userid int Faturalandırma sistemindeki kullanıcı kimliği Evet

Yanıt parametreleri#

Parametre Tür Açıklama
base_token_unit_cost float İndirim ve/veya vergilerden önce bir jetonun fiyatı.
user_token_unit_cost float İndirimler ve vergiler dahil bir jetonun tam ve nihai fiyatı.
currency array ISO kodu, önek, sonek, ondalık basamak sayısı, binler ve ondalık ayırıcıdan oluşan para birimi biçimlendirme parametrelerini içeren dizi. Örnek:
"currency": { "code": "GBP", "display_prefix": "\u00a3", "display_suffix": " GBP", "thousands_separator": ",", "decimals_separator": ".", "decimals": 2 }
discounts array Uygulanan indirimleri içeren dizi; ad, açıklama ve çarpan. Örnek:
"discounts": [ { "name": "Özel Müşteri Grubu İndirimi", "description": "Yüzde 5 Tekrarlayan İndirim", "multipler": 0.95 }
taxes array Bileşik olup olmadığı ve oranlarının (bir etiket ve oran) yer aldığı vergi bilgilerini içeren dizi. Örnek:
"taxes": { "compound": true, "rates": [ { "label": "Şehir Vergisi", "rate": 6 }, { "label": "Eyalet Vergisi", "rate": 2 } ] }

SolusVM 2, bir müşteriye bir fiyat göstermek gerektiğinde, kullanıcı kimliğiyle GetTokenPricing uç noktasına bir API isteği gönderir:

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"

Faturalandırma sistemi daha sonra fiyatla ilgili bilgileri içeren bir API yanıtı gönderir, örneğin:

{
 "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": 2
 },
 "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
                     }
                 ]
         }
}

response içerisindeki user_token_unit_cost, belirli bir kullanıcının tüm vergileri, indirimleri ve özel teklifleri yansıtan bir katsayıdır. SolusVM 2, user_token_unit_cost'u planın fiyatıyla çarparak, gerçek fiyatı (örneğimizde İngiliz Sterlini) elde eder ve bu fiyatı kullanıcıya gösterir.

Adım 7 - SolusVM 2'de faturalandırma entegrasyonunu etkinleştirin#

Billing sistem tarafında API uç noktasını yapılandırdınız. Şimdi bunu kullanacağız.

  1. SolusVM 2'ye giriş yapın.
  2. Ayarlar > Fatura Entegrasyonu bölümüne gidin.
  3. "Tip" altında, "Özel faturalandırma" seçeneğini seçin.
  4. Faturalandırma sistemi tarafındaki GetTokenPricing uç noktasının URL'sini belirtin, örneğin https://www.mybilling.com/solusio/api/
  5. (İsteğe bağlı) Faturalandırma sistemi yetkilendirme için token gerektirebilir. Bu durumda, faturalandırma sistemi yetkilendirme token'ını yapıştırın.
  6. Kaydet'e tıklayın.

Adım 8 - Billing sistemi tarafında SolusVM 2 ile kullanıcı yönetimini entegre edin#

Billing sistemi, gerektiğinde SolusVM 2'deki kullanıcıları yönetmelidir.

Bunu başarmak için, kullanıcı yönetimi entegrasyonunu billing sistemi tarafında SolusVM 2 ile yapılandırmanız gerekmektedir. Bunu yaptığınızda, billing sistemi SolusVM 2 API'sini kullanarak SolusVM 2'de kullanıcıları oluşturabilir, düzenleyebilir, silebilir, kilitler ve askıya alır.

Not

Kullanıcı yönetimini entegre ederken, billing sisteminin SolusVM 2'ye billing_user_id gönderdiğinden emin olun. SolusVM 2, kullanıcıları billing sisteminde saklanan kullanıcılarla eşleştirmek için billing_user_id'ye ihtiyaç duyar.

Adım 9 - SolusVM 2'de otomatik oturum açmayı yapılandırın#

Billing sistemi kullanıcıları SolusVM 2 kullanıcı alanına yönlendirir. Kullanıcıların ikinci kez giriş yapmadan SolusVM 2'ye girmelerine yardımcı olmak için otomatik giriş ayarlarını yapılandırın. Bunu yapmak için önce bir kullanıcı için erişim belirteci oluşturmanız gerekmektedir. Ardından, erişim belirteci içeren bir giriş bağlantısı kullanarak kullanıcıyı entegrasyon betiklerinde yetkilendirin:

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

Adım 10 - Faturalandırma sistemi tarafında fatura oluşturmayı yapılandırma#

Son adımda, faturalandırma sisteminin SolusVM 2 API'sinin /usage noktasına API istekleri göndermesi gerekmektedir.

Faturalandırma döngüsünün sonunda, faturalandırma sistemi kullanıcılara fatura oluşturur ve gönderir. Ücretleri hesaplamak için, faturalandırma sistemi tüketilen kaynak istatistiklerini almak için API isteklerini /usage noktasına göndermelidir.

Tebrikler! Faturalandırma sisteminizi SolusVM 2 ile entegre etmeyi tamamladınız. Umarız gelirler artık gelmeye başlamıştır.