Steamworks Belgeleri
Tekrar Eden Oyun İçi Faturalandırma

Genel Bakış

Not: Bu belge, oyun içi satın alım belgesine ek olarak kullanılması için hazırlanmıştır. Burada bahsedilen API'lar, ana dokümanda bahsedilen API'ın bir uzantısıdır. Eğer Steam mağazasında başlatılan tekrar eden abonelikleri arıyorsanız daha fazla bilgi için lütfen Tekrarlanan Abonelikler dokümantasyonuna bakın.

Bir Steam kullanıcısı için tekrar eden bir ödeme oluşturduğunuz zaman kullanıcıyla ilk olarak ödeme koşullarının belirtildiği bir ödeme anlaşması yaparsınız. Faturalandırma sürecinin başlayabilmesi için kullanıcı belirtilen koşulları kabul etmelidir. Ödeme, asıl ödeme işlemi için Steam arka ucuyla iletişime geçen oyunun kendi faturalandırma sistemi tarafından gerçekleştirilebilir.

Ödeme sonuçları mikrohareket API'ı aracılığıyla ya tekil bir kullanıcı sorgulanarak ya da bütün kullanıcıların ödemelerini gösteren rapor ayrıştırılarak alınır.

Faturalandırma Anlaşması Yapmak

Tekrar eden ödeme anlaşmasını tanımlamak için ISteamMicroTxn/InitTxn web API'ını kullanın. Anlaşma tıpkı Steam'deki diğer oyun içi öğe satışı anlaşmalarında olduğu gibi oluşturulur ama tam olarak tanımlanabilmesi için ilave veri gereklidir. Anlaşma, tek bir öğe satışı etkinliği için veya kullanıcının almak için eklediği diğer oyun içi öğelerin de bulunduğu sepeti için yapılabilir. Eğer işlem Steam tarafından kabul edilirse kullanıcıdan anlaşmayı onaylaması istenecek ve API, 64 bitlik benzersiz bir sözleşme ID'sini yanıt olarak geri döndürecektir. Eğer bir hata geri döndüyse, yeni bir istek gönderilmeden önce bu sorun düzeltilmelidir. Onaylama yapıldıktan sonra anlaşmayı tamamlamak için ISteamMicroTxn/FinalizeTxn web API'ını kullanmalısınız.

Tekrar eden ödeme oyunun faturalandırma sistemi tarafından başlatılır. Bu, ödeme miktarı ve işleme süresiyle ilgili daha fazla esneklik sağlar. Oyunun faturalandırma sunucusu ödemeyi başlatmak ve ödeme miktarını belirtmek için ISteamMicroTxn/ProcessAgreement API'ını kullanır. Zaman içerisinde ödeme miktarını değiştirmek veya kredi vermek için bunu kullanın.

Bir kullanıcının bir oyunda sadece tek bir etkin faturalandırma anlaşması olabilir. İstediğiniz zaman kullanıcı için yeni bir anlaşma oluşturabilirsiniz fakat ISteamMicroTxn/FinalizeTxn çağrısı tamamlandıktan sonra önceki faturalandırma anlaşmalarının hepsi devre dışı kalır. Her faturalandırma anlaşmasına başvuru için kullanabileceğiniz benzersiz bir 64 bit ID verilir fakat sadece en son anlaşmanın ödemeyi tamamlamaya izni vardır.

Kullanıcılar Steam hesabı ayarlarına giderek istedikleri zaman bir anlaşmayı iptal edebilir. İptal bildirimleri ISteamMicroTxn/GetReport Web API'ı ile yapılır.

Tekrar eden ödemeler için diğer Web API'ları şunlardır:

Durumu Almak

Faturalandırma anlaşmalarının ödeme durumlarını şu iki Web API'ını kullanarak alabilirsiniz:
  • ISteamMicroTxn/GetUserAgreementInfo - Yapılan son ödeme ve bir sonraki ödeme tarihi gibi oyununuzdaki bir kullanıcının bütün anlaşmalarıyla ilgili detaylı bilgi almak için bu kullanılabilir.
  • ISteamMicroTxn/GetReport – Bu API faturalandırma anlaşmaları sonucu gerçekleşen işlemler de dâhil olmak üzere oyununuzla ilişkili olarak gerçekleşen bütün işlemleri gösterir. Ayrıca kullanıcılar aboneliklerini Steam hesaplarından yenileyebildikleri ya da iptal edebildikleri için oyun, bu eylemlerle ilgili olarak bu API aracılığıyla bildirim alabilir.