Ana içeriğe geç

Özel Faturalandırma Entegrasyonu

Bu konu, WHMCS (örneğin, Blesta, Hostbill, Ubersmith veya diğerleri) dışındaki herhangi bir faturalandırma sistemi ile faturalı fatura entegrasyonunun nasıl kurulacağını açıklayacaktır.

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

SolusVM 2 saatlik ve aylık faturalandırma sunar. Bir tokenın ne kadar gerçek paraya (istenen para birimlerinde) mal olacağına karar verin.

Note

Belirteçler yalnızca tam sayı olabilir.

Ayrıntılı bir dönüşüm tablosu hazırlamanızı öneririz, örneğin:

Jetonlar USD cinsinden token fiyatı EUR cinsinden token fiyatı
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: Zaten plan eklediğinizi varsayalım. Değilse, bunu yapmanın tam zamanı.

Artık planlarınız için ne kadar ücret alacağınıza karar vermeniz gerekiyor. SolusVM 2'deki her planın saatlik ve aylık fiyatı token cinsinden bulunabilir:

  • “Saat başına jeton”, bir kaynağın her saat için kullanılmasının jeton cinsinden fiyatıdır.

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

  • "Aylık jeton", bir kaynağın yaklaşık olarak tüm ay boyunca kullanılmasının jeton cinsinden fiyatıdır.

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

Saatlik fiyatımız 7 jetondur (saatte 0,007$'a eşittir). Bu durumda 31 günlük ayın tamamı aşağıdaki maliyete tabi olacaktır:

7 jeton × 24 saat × 31 gün = 7 × 744 saat = 5208 jeton (5,21 ABD dolarına eşittir)

İnsanlar yuvarlak sayıları sever. 208 tokeni (0,21$) düşüp 5000 tokenin (5,00$) fiyatını alabiliriz. Bu bizim aylık sınırımız ve aynı zamanda aylık fiyatımız olacak. SolusVM 2, aylık fiyata bağlı olarak hangi fiyatın (saatlik veya aylık) ücretlendirileceğini seçecektir.

Örneğin, bir kullanıcı bir sunucuyu 700 saat çalıştırdı ve bunun maliyeti 4900 token oldu. Aylık sınır 5000 jetondan az olduğu için kullanıcıdan saatlik ücret alınacaktır. Gelecek ay, kullanıcı bir sunucuyu 730 saat çalıştırdı ve bunun maliyeti 5110 token oldu. Aylık sınır 5000 jetonun üzerinde olduğundan kullanıcıdan aylık olarak ücret alınacaktır (5,00$).

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

Planlar Saat başına jeton Aylık toplu jetonlar (saat başına jetonlar × 24 saat × 31 gün) Aylık toplam fiyat ABD doları cinsinden Aylık jetonlar (sabit fiyat olarak) "Aylık jeton" uygulandıysa ABD doları cinsinden aylık fiyat
1 Çekirdek, 1 GiB RAM 7 5.208 5,21$ 5.000 5,00$
1 Çekirdek, 2 GiB RAM 14 10.416 10,42$ 10.000 10,00$
2 Çekirdek, 2 GiB RAM 21 15.624 15,62$ 15.000 15,00$
2 Çekirdek, 4 GiB RAM 28 20.832 20,83$ 20.000 20,00$

Note

Yukarıdaki örnekte aylık fiyatları (son iki sütun) yuvarladık. Müşteriler için daha uygundur ve aylık indirim görevi görebilir. Aynısını yapıp yapmamak size kalmış.

Adım 3 – SolusVM 2'deki planlar için belirteçlerin fiyatlarını ayarlayın

Önceki adımda ayrıntılı fiyatlandırma tablosunu oluşturdunuz. Artık SolusVM 2'deki planlar için saatlik ve aylık fiyatları (sırasıyla fiyatlandırma tablosunun ikinci ve beşinci sütunları) ayarlamanız gerekiyor:

  1. SolusVM 2'de oturum açın.

  2. Bilgi İşlem Kaynakları > Planlar'a gidin.

  1. Mevcut bir planı düzenlerken veya yeni bir plan oluştururken belirteç değerlerini belirtebilirsiniz:

  2. Mevcut bir planı düzenlemek için planın satırındaki simgesine tıklayın.

  3. Yeni bir plan oluşturmak için Plan Ekle'yi tıklayın.

  4. Saatlik jeton ve aylık jeton cinsinden sırasıyla saatlik ve aylık fiyatı olarak belirtin.

  5. Bir plan oluşturuyorsanız ayrıca gerekli alanları doldurun.

!!! note

     "Aylık jeton"u "0" olarak ayarlarsanız yalnızca saatlik faturalandırma mümkün olacaktır.
     “Saat başına jeton”u “0” olarak ayarlarsanız ancak “Jeton (aylık)” değerini belirtirseniz,
     bu durumda saatlik faturalandırma kullanılamayacaktır.
     Müşterilerden her zaman "Aylık Tokenlar" ile tanımlanan sabit aylık ücret tahsil edilecektir.
  1. Kaydet'i tıklayın.

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

SolusVM 2 ile yapılandırılan faturalandırma sistemi, SolusVM 2 kullanıcıları için ana veritabanı olmalıdır. Hangi kullanıcıların sunucu oluşturma iznine sahip olup olmadığını yalnızca faturalandırma sistemi veritabanı kontrol etmelidir.

Ancak SolusVM 2'nin arayüzünde, kullanıcıların sunucu oluşturduğu "kullanıcı alanı" adı verilen bir kısım bulunur. Doğrudan kullanıcı alanında kullanıcılar 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 gerekir:

  1. SolusVM 2'de oturum açın.
  2. Ayarlar > Kullanıcı Alanı'na gidin ve “Kaydı Etkinleştir” onay kutusunun işaretini kaldırın.
  3. Kaydet'i tıklayın.

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

Adım 5 – Limit grupları oluşturun

Sınır grupları, belirli bir kullanıcının oluşturabileceği ve çalışır durumda tutabileceği sunucu sayısına ilişkin 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. Bunu nasıl yapacağınızı öğrenin.

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

Artık faturalandırma sistemi tarafında GetTokenPricing uç noktasını yapılandırmanız gerekiyor. Dilediğiniz kodlama dilinde kolaylıkla yapılandırabilirsiniz.

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

Note

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

GetTokenPricing uç noktası aşağıdaki istek ve yanıt parametrelerine sahiptir:

Parametreleri talep et

Parametre Tip Tanım Gerekli
'jeton' sicim Yetkilendirme jetonu Hayır
`userid` int Faturalandırma sistemindeki kullanıcı kimliği Evet

Yanıt parametreleri

Parametre Tip Tanım
`base_token_unit_cost` batmadan yüzmek Herhangi bir indirim ve/veya vergi öncesi bir tokenin fiyatı.
`user_token_unit_cost` batmadan yüzmek Bir tokenin indirimler ve vergiler dahil tam ve nihai fiyatı.
`currency` sıralamak Para birimi biçimlendirme parametrelerinden oluşan dizi: ISO kodu, önek, sonek, ondalık sayı sayısı, binlik sayı ve ondalık ayırıcı. Örnek: ``` "para birimi": { "code": "GBP", "display_prefix": "\u00a3", "display_suffix": " GBP", "thousands_separator ": ",", "decimals_separator": ".", "decimals_per_month": 2, "decimals_per_hour": 4 } ```
`discounts` sıralamak Ad, açıklama ve çarpandan oluşan uygulanan indirimler dizisi. Örneğin:
"discounts": [ { "name": "Special Client Group Discount", "description": "5% Recurring Discount", "multipler": 0.95 }
`taxes` sıralamak Vergi türü (bileşik olsun ya da olmasın) ve oranları (etiket ve oran) dahil olmak üzere vergi bilgileri dizisi. Örnek: ``` "vergiler": { "bileşik": true, "oranlar": [ { "label": "Şehir Vergisi", "oran": 6 }, { " label": "Eyalet Vergisi", "oran": 2 } ] } ```

SolusVM 2'nin bir müşteriye bir fiyat göstermesi gerektiğinde, SolusVM 2, 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_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
                     }
                 ]
         }
}

Yanıttaki user_token_unit_cost, belirli bir kullanıcının tüm vergilerini, indirimlerini ve özel tekliflerini yansıtan katsayıdır. SolusVM 2 daha sonra user_token_unit_costu planın token cinsinden fiyatıyla çarpar, para birimi cinsinden gerçek fiyatı alır (örneğimizde sterlin), ve bu fiyatı kullanıcıya gösterir.

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

Faturalandırma sistemi tarafında API uç noktasını yapılandırdınız. Artık onu kullanacağız.

  1. SolusVM 2'de oturum açın.
  2. Ayarlar > Faturalandırma Entegrasyonu'na gidin.
  3. "Tür" altında "Özel faturalandırma"yı seçin.
  4. Faturalandırma sistemi tarafında 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 jeton gerektirebilir. Öyleyse faturalandırma sistemi yetkilendirme jetonunuzu yapıştırın.
  6. Kaydet'i tıklayın.

Adım 8 – Faturalandırma sistemi tarafında kullanıcı yönetimini SolusVM 2 ile entegre edin

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

Bunu başarmak için faturalandırma sistemi tarafında SolusVM 2 ile kullanıcı yönetimi entegrasyonunu ayarlamanız gerekir. Bunu yaptığınızda, faturalandırma sistemi kilitleyebilir ve askıya alabilir SolusVM 2'deki kullanıcılar SolusVM 2 API uç noktasını kullanarak.

Note

Kullanıcı yönetimini entegre ederken, faturalandırma sisteminin SolusVM 2'ye billing_user_id gönderdiğinden emin olun. SolusVM 2'nin, faturalandırma sisteminde depolanan kullanıcılarla eşleşmesi için "billing_user_id"ye sahip olması gerekir SolusVM 2'de depolananlarla.

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

Faturalandırma sistemi kullanıcıları SolusVM 2 kullanıcı alanına yönlendirir. Kullanıcıların ikinci kez oturum açmak zorunda kalmadan SolusVM 2'ye girmelerine yardımcı olmak için otomatik oturum açmayı yapılandırın. Bunu yapmak için, öncelikle bir kullanıcı için bir erişim belirteci oluşturmanız yapmanız gerekir. Ardından, kullanıcıyı entegrasyon komut dosyalarında yetkilendirmek için belirteci içeren bir oturum açma bağlantısı kullanın:

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

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

Son adım olarak, faturalandırma sistemini API isteklerini /usage SolusVM 2'ye gönderecek şekilde yapılandırmanız gerekir. API uç noktası.

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

Tebrikler! Faturalandırma sisteminizi SolusVM 2 ile entegre etmeyi tamamladınız. Paranın şimdiden geldiğini umuyoruz.