Ö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:
- SolusVM 2'ye giriş yapın.
-
İşlem Kaynakları > Planlar bölümüne gidin.
-
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.
-
Saatlik fiyat için "Saat başına token" ve aylık fiyat için "Aya periyodik token" alanlarına token cinsinden fiyatları belirtin.
-
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.
-
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:
- SolusVM 2'ye giriş yapın.
- Ayarlar > Kullanıcı Alanı bölümüne gidin ve "Kaydı Etkinleştir" onay kutusunu temizleyin.
-
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:
|
discounts |
array |
Uygulanan indirimleri içeren dizi; ad, açıklama ve çarpan.
Örnek:
|
taxes |
array |
Bileşik olup olmadığı ve oranlarının (bir etiket ve oran) yer aldığı vergi bilgilerini içeren dizi.
Örnek:
|
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.
- SolusVM 2'ye giriş yapın.
- Ayarlar > Fatura Entegrasyonu bölümüne gidin.
- "Tip" altında, "Özel faturalandırma" seçeneğini seçin.
- Faturalandırma sistemi tarafındaki
GetTokenPricing
uç noktasının URL'sini belirtin, örneğinhttps://www.mybilling.com/solusio/api/
- (İsteğe bağlı) Faturalandırma sistemi yetkilendirme için token gerektirebilir. Bu durumda, faturalandırma sistemi yetkilendirme token'ını yapıştırın.
-
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.