Günlük işleriniz kapsamında abonelikler veya tek seferlik satın almalarla ilgili yönetim işlemleri yapmanız gerekebilir. Örneğin, müşteri hizmetlerinizin kullanıcılara tam veya kısmi geri ödeme yapması ya da belirli durumlarda hakları iptal etmeniz gerekebilir. Siparişleri Google Play Console'dan yönetebilirsiniz. Siparişleri kendi sisteminizden yönetmek istiyorsanız Google Play Developer API'yi kullanabilirsiniz.
Abonelikleri iptal etme
Abonelik iptalleri kullanıcılar veya geliştiriciler tarafından başlatılabilir.
Kullanıcı tarafından başlatılan iptaller
Kullanıcılar, Google Play aboneliklerini diledikleri zaman Play Store'u kullanarak iptal edebilirler. Geçerli olduğu durumlarda, kullanıcılara uygulamanızda ve web sitenizde aboneliklerini iptal etme seçeneği de sunmanız gerekir.
Kullanıcıların aboneliklerini gönüllü olarak iptal etmelerini sağlamanın en kolay yolu, uygulamanızda Play Store'a derin bağlantılar eklemektir. Bu bağlantılar aracılığıyla kullanıcılar aboneliklerini görüntüleyip yönetebilir.
Geliştirici tarafından başlatılan iptaller
Geliştirici olarak, iptal işlemlerini arka ucunuzdan da tetiklemeniz gerekebilir.
purchases.subscriptions.cancel API'si, abonelik satın alma işlemini iptal etmenize olanak tanır.
Örneğin, eski bir hizmeti devre dışı bırakmak için bu yöntemi kullanabilirsiniz.
Abonelik iptal edildiğinde geri ödeme yapılmaz ve kullanıcı, mevcut fatura döneminin sonuna kadar erişimini sürdürür.
Bu yöntem, cancellationType istek gövdesi parametresinde aşağıdaki iptal türlerini belirtmenize olanak tanır:
USER_REQUESTED_STOP_RENEWALS: Aboneliği, kullanıcılar Google Play Store'dan iptal etmiş gibi iptal eder. Taksit ödemeleri, mevcut taahhüt süresinin geri kalanında devam eder. Kullanıcılar, aboneliği süresi dolmadan önce Play Store'dan geri yükleyebilir veya temel plan için etkinleştirilmişse süresi dolduktan sonra yeniden abone olabilir.
DEVELOPER_REQUESTED_STOP_PAYMENTS: Aboneliği iptal eder ve daha sonraki ödemeleri engeller. Kullanıcılar aboneliği Play Store'dan geri yükleyemez veya yeniden abone olamaz ancak uygulamanızda tekrar abone olmalarını sağlayabilirsiniz.
Kullanıcıların süresi dolmamış abonelikleri geri yüklemesine izin verme
Bazı senaryolarda, geliştirici olarak iptal işlemini başlattıktan sonra kullanıcıların süresi dolmamış abonelikleri Play abonelik merkezinden geri yüklemesine izin vermek faydalı olabilir. Örneğin, özelleştirilmiş bir uygulama içi iptal akışı sunmak isteyebilirsiniz. İş mantığınıza göre, arka ucunuzdan başlatılan hangi iptallerin kullanıcılar tarafından geri yüklenebileceğine karar verebilirsiniz.
Bir kullanıcının iptal işlemini geri yükleyebileceğini belirtmek için purchases.subscriptions.cancel API'sine bir POST isteği gönderin ve cancellationType istek parametresini USER_REQUESTED_STOP_RENEWALS değerine ayarlayın.
Örnek:
1a2b3c4d5e6f7g8h9i0jaboneliğinin satın alma jetonu- Uygulama paketi adı
com.your.app - Abonelik kimliği:
your-subscription-product
HTTP POST isteği:
https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.your.app/purchases/subscriptions/your-subscription-product/tokens/1a2b3c4d5e6f7g8h9i0j:cancel
İstek içeriği:
{
"cancellationType": "USER_REQUESTED_STOP_RENEWALS"
}
Kullanıcıların süresi dolmuş aboneliklere yeniden abone olmalarına izin verme
Süresi dolmuş bir aboneliğe yeniden abone olunmasına izin vermek için aboneliğin temel planında Yeniden abone ol seçeneğini etkinleştirmeniz ve ardından cancellationType parametresini USER_REQUESTED_STOP_RENEWALS değerine ayarlayarak aboneliği iptal etmeniz gerekir.
Kullanıcıların yalnızca uygulamanızda yeniden abone olmasına izin verme
cancellationType parametresini DEVELOPER_REQUESTED_STOP_PAYMENTS olarak ayarladıysanız veya cancellationType parametresini ayarlamadıysanız kullanıcılar aboneliklerini Play abonelik merkezinden geri yükleyemez. Ancak kullanıcılar gerekirse uygulamanız üzerinden aboneliğe tekrar kaydolabilir.
Bu işlem, SUBSCRIPTION_CANCELED gerçek zamanlı geliştirici bildirimini tetikler. Bu iptalleri İptaller bölümünde açıklandığı şekilde ele alın.
Faturalandırmayı erteleme
subscriptionsv2.defer yöntemini kullanarak bir aboneliğin yararlanma süresini uzatabilirsiniz. Eklenti içeren bir aboneliği ertelediğinizde abonelikteki tüm öğeler aynı süre boyunca ertelenir. Erteleme süresi boyunca kullanıcı, içeriğinize abone kalmaya devam eder ancak ek süre için ücret alınmaz. Bir abonelik için faturalandırmayı ertelediğinizde durum bilgileri buna göre güncellenir ve satın alma durumu bilgilerindeki expiryTime alanına yansıtılır:
- Etkin yinelenen aboneliklerde ertelenen faturalandırma, bir sonraki yenileme tarihini uzatır.
- Ön ödemeli planlarda ertelenen faturalandırma, geçerlilik bitiş tarihini uzatır.
Ertelenmiş faturalandırmayı nasıl kullanabileceğinize dair bazı örnekler:
- Kullanıcılara özel teklif olarak ücretsiz erişim verin. Örneğin, mevcut abonelere geri bildirim anketi doldurmaları karşılığında bir hafta ücretsiz erişim verebilirsiniz.
- Müşteri hizmetleri kapsamında müşterilere ücretsiz erişim sunun. Örneğin, hizmetinizi kullanmalarını etkileyebilecek uzun süreli bir kesintiden sonra bu işlemi yapabilirsiniz.
Faturalandırma, API çağrısı başına bir gün ile bir yıl arasında ertelenebilir. Yararlanma hakkının bitiş tarihini daha da ileriye almak için yeni geçerlilik bitiş tarihinden önce API'yi tekrar çağırın.
Bu işlem, SUBSCRIPTION_DEFERRED gerçek zamanlı geliştirici bildirimini tetikler. Bu etkinlikleri nasıl ele alacağınızı öğrenmek için Abonelikler hakkında bölümündeki Aboneler için faturalandırmayı erteleme konusuna bakın.
Örnek:
FitnessGoals adlı yayın hizmeti, Şubat ayında düzenli egzersizi teşvik etmek için bir promosyon yayınlamak istiyor.
Şubat ayı boyunca FitnessHedefleri ile en az 10 kez egzersiz yapan abonelere bir ay daha hizmet sunmaya karar verir.
Yarışmanın sonuçlarını takip ederler ve 1 Mart'ta, Şubat ayında yarışmayı tamamlayan kullanıcılara ait her etkin abonelik satın alma işlemi için subscriptionsv2.defer yöntemini çağırırlar.
Bu kullanıcılar, bir ay boyunca ücretsiz olarak düzenli egzersiz videoları izleyebiliyor ve FitnessGoals'un sağlıklı kalmalarına nasıl yardımcı olduğunu tüm arkadaşlarına anlatıyor.
Geri ödeme ve iptal işlemleri yapma
Bir abonelik veya tek seferlik satın alma işlemi için geri ödeme yapmak ya da erişimi iptal etmek isteyebileceğiniz birçok durum vardır.
Sipariş kimliğine göre bir siparişin tamamını geri ödeme
orders.refund API'si ile, satın alma tarihinden itibaren üç yıl içinde herhangi bir sipariş için eksiksiz geri ödeme yapabilirsiniz.
orders.refund yöntemi, geri ödeme yapmanın yanı sıra erişimin iptal edilip edilmeyeceğini belirten bir iptal parametresi alır.
Abonelik satın alma işlemi için geri ödeme çağrısıyla birlikte iptal işlemi yaparsanız abonelik hemen sonlandırılır ve hem SUBSCRIPTION_REVOKED anlık geliştirici bildirimi hem de VoidedPurchaseNotification (Voided Purchases API'sinde kaydedilir) tetiklenir. Bu etkinlikleri nasıl ele alacağınızı öğrenmek için abonelik yaşam döngüsü yönetimi rehberindeki İptaller bölümünü okuyun.
Örnek:
Yeni dünya kupasının başlangıcını kutlamak isteyen e-spor uygulaması Football-Not-Soccer, ilk 24 saat içinde yeni takım forması satın alan tüm kullanıcılar için ücretsiz sanal forma çekilişi yapmaya karar veriyor.
Football-Not-Soccer, kazananlara forma satın alma işlemlerini geri ödemek için iptal parametresi iletmeden
orders.refundAPI'sini kullanır.
Satın alma jetonuyla aboneliği iptal etme ve geri ödeme yapma
Belirli kullanım alanlarında, kullanıcının aboneliğine erişimi iptal etmeniz ve geri ödeme yapmanız gerekebilir. Google Play Faturalandırma, subscriptionsv2.revoke API'si aracılığıyla eksiksiz geri ödeme ve süreyle orantılı geri ödeme gibi iptal yöntemleri sunar. Bu uç noktayla, geri ödemenin nasıl hesaplanacağını belirlemek için revocationContext değerini belirtebilirsiniz.
Bu işlem, hem SUBSCRIPTION_REVOKED Gerçek Zamanlı Geliştirici Bildirimi'ni hem de VoidedPurchaseNotification işlemini tetikler ve Voided Purchases API'ye kaydedilir. Uygulamanız bu iptalleri İptaller bölümünde açıklandığı şekilde işlemelidir.
Örnek:
- Satın alma jetonuyla satın alma
1a2b3c4d5e6f7g8h9i0j com.your.apppaket adına sahip uygulama- Kullanıma göre geri ödeme yapma amacı
HTTP POST isteği:
https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.your.app/purchases/subscriptionsv2/tokens/1a2b3c4d5e6f7g8h9i0j:revoke
İstek içeriği:
{
"revocationContext": {
"proratedRefund": {}
}
}
Eksiksiz geri ödeme
Bir aboneliği sonlandırmanız ve mevcut fatura döneminin tamamını geri ödemeniz gerekiyorsa eksiksiz geri ödeme yapın. purchases.subscriptionsv2.revoke işlevini kullanın ve geri ödeme türünü "fullRefund": {} olarak ayarlayın.
Örnek:
Maria'nın, SuperMovies video akış hizmetinin aylık planına 30 günlük otomatik yenilenen aboneliği var. Maria, içeriğe erişmesini engelleyen bazı teknik sorunlarla karşılaştı. Faturalandırma döneminin 3. gününde müşteri hizmetleriyle iletişime geçerek aboneliğe hiçbir zaman erişemediğini belirtiyor.
Müşteri hizmetleri, sistemlerinde Maria'nın abonelik satın alma ayrıntılarını bulur ve
purchases.subscriptionsv2.revokeiçin eksiksiz geri ödeme isteğinde bulunan bir çağrı tetikler.Müşteri hizmetleri, Maria'ya abonelik ücretinin tamamının iade edileceğini ve artık plana abone olmadığını bildirir.
Geri ödemeleri orantılı olarak hesaplama
Bir aboneliği sonlandırmanız ve kalan kullanım hakkı süresi için kısmi geri ödeme yapmanız gerekiyorsa orantılı geri ödeme yapın. purchases.subscriptionsv2.revoke işlevini kullanın ve geri ödeme türünü "proratedRefund": {} olarak ayarlayın.
Orantılı geri ödemeler, hem otomatik yenilenen abonelikler hem de en az bir hafta süreli ön ödemeli planlar için desteklenir.
Örnek:
Maria, SuperMovies streaming aylık planına otomatik yenilenen 30 günlük bir abonelik satın aldı. Bir süredir hizmeti memnuniyetle kullanıyor. Merve, faturalandırma döneminin 15. gününde müşteri hizmetleriyle iletişime geçerek yurt dışına taşındığını ve ertesi günden itibaren hizmeti kullanamayacağını bildiriyor.
Müşteri hizmetleri, sistemlerinde Maria'nın abonelik satın alma ayrıntılarını bulur ve
purchases.subscriptionsv2.revokeiçin bir çağrı tetikleyerek eşit olarak dağıtılmış geri ödeme isteğinde bulunur.Müşteri hizmetleri, Maria'ya abonelik ücretinin yaklaşık% 50'sinin geri ödeneceğini ve hizmete erişiminin hemen sonlandırılacağını söyler.