Abonelikleri ve tek seferlik satın alma işlemlerini yönetme

Günlük işlerinizin bir parçası olarak abonelikler veya tek seferlik satın alımlarla ilgili yönetim işlemleri yapmanız gerekebilir. Örneğin, müşteri hizmetlerinin kullanıcılar için toplam veya kısmi geri ödeme yapması veya belirli durumlarda yararlanma haklarını iptal etmeniz gerekebilir. Siparişleri Play Console'dan yönetebilirsiniz. Kendi sisteminizden yönetmek istiyorsanız bu işlemi Google Play Developer API'yi kullanarak da yapabilirsiniz.

Abonelikleri iptal etme

Kullanıcılar, Play Store'u kullanarak Google Play aboneliklerini istedikleri zaman iptal edebilirler. Bununla birlikte, kullanıcılara aboneliklerini iptal etme imkanını uygulamanızdan ve web sitenizden de (varsa) iptal etme seçeneği sunmanız gerekir.

Kullanıcıların aboneliklerini gönüllü olarak iptal etmelerini sağlamanın en kolay yolu, aboneliklerini görüntüleyip yönetebilecekleri Play Store'a derin bağlantı oluşturmaktır.

İptal işlemlerini arka ucunuzdan tetiklemeniz de gerekebilir. purchases.subscriptions.cancel yöntemi, 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ı, geçerli fatura döneminin sonuna kadar erişmeye devam eder. Bu yöntemle abonelik iptal edildiğinde kullanıcının Play Store'da aboneliği geri yüklemesi mümkün olmaz. Ancak kullanıcılar gerektiğinde uygulamanız üzerinden tekrar kaydolabilir.

Bu işlem, SUBSCRIPTION_CANCELED oranında gerçek zamanlı geliştirici bildirimini tetikler. Bu iptal işlemlerini İptaller bölümünde açıklandığı şekilde yapın.

Faturalandırmayı ertele

Bir aboneliğin yararlanma hakkı süresini uzatmak için subscriptions.defer aracını kullanın. Erteleme süresi boyunca kullanıcı içeriğinize abone olarak kalır, ancak ek süre için ücretlendirilmez. Bir aboneliğin faturalandırmasını ertelediğinizde durum bilgileri uygun şekilde güncellenir ve satın alma durumu bilgilerindeki expiryTime alanına yansıtılır:

  • Yinelenen etkin abonelikler için ertelenmiş faturalandırma, bir sonraki yenileme tarihine kadar uzatılır.
  • Ön ödemeli planlarda ertelenmiş faturalandırma, geçerlilik süresini uzatır.

Aşağıda, ertelenmiş faturalandırmayı nasıl kullanabileceğinize ilişkin bazı örnekler verilmiştir:

  • Özel bir teklif olarak kullanıcılara ücretsiz erişim sunun (ör. geri bildirim anketini doldurmaları için mevcut abonelere bir hafta ücretsiz verme).
  • Müşteri hizmetleri işlemi olarak müşterilere ücretsiz erişim sunun (örneğin, hizmetinizi kullanabilme ihtimallerini etkilemiş olabilecek uzun süreli bir kesintiden sonra).

Faturalandırma, API çağrısı başına bir gün veya bir yıla kadar ertelenebilir. Yararlanma hakkının sonunu daha da ertelemek için yeni son kullanma tarihi gelmeden önce API'yi tekrar çağırın.

Bu işlem, SUBSCRIPTION_DEFERRED oranında gerçek zamanlı geliştirici bildirimini tetikler. Bu etkinliklerin nasıl ele alınacağını öğrenmek için Abonelikler hakkında başlıklı makaledeki Bir abonenin faturalandırmasını erteleme konusuna bakın.

Örnek:

  1. FitnessGoals akış hizmeti, Şubat ayında düzenli egzersizi teşvik etmek için bir promosyon yürütmek istiyor.

  2. Şubat ayı boyunca FitnessGoals ile en az 10 kez egzersiz yapan aboneye bir aylık ek hizmet sunmaya karar veriyor.

  3. Görevin sonuçlarını takip eder ve 1 Mart'ta, Şubat ayında bu zorluğun üstesinden gelen kullanıcılara ait her etkin abonelik satın alma işlemi için subscriptions.defer API'yi çağırırlar.

  4. Bu kullanıcılar bir ay boyunca düzenli egzersiz videolarının keyfini ücretsiz çıkarıyor. Ayrıca kullanıcılar tüm arkadaşlarına FitnessGoals'ın sağlıklı kalmalarına nasıl yardımcı olduğunu söylüyor!

Geri ödeme ve iptal etme

Birçok durumda bir abonelik veya tek seferlik satın alma işlemi için geri ödeme yapmak ya da bu aboneliğe erişimi iptal etmek isteyebilirsiniz.

Sipariş kimliğine göre bir sipariş için eksiksiz geri ödeme yapma

orders.refund API ile, herhangi bir sipariş için satın alma tarihinden itibaren üç yıl içinde eksiksiz geri ödeme yapabilirsiniz. orders.refund yöntemi, geri ödeme sağlamanın yanı sıra erişimin iptal edilip edilmeyeceğini belirten bir iptal parametresi alır.

Abonelik satın alma için geri ödeme çağrısıyla birlikte bir iptal işlemi gerçekleştirirseniz abonelik hemen sonlandırılır veSUBSCRIPTION_REVOKED Gerçek Zamanlı Geliştirici Bildirimi tetiklenir. Bu etkinlikleri nasıl ele alacağınızı öğrenmek için abonelik yaşam döngüsü yönetimi kılavuzunun İptaller bölümünü okuyun.

Örnek:

  1. E-spor uygulaması Football-Not-Soccer, yeni dünya kupasının başlangıcını kutlamak için ilk 24 saat içinde yeni takım setleri satın alan tüm kullanıcılar için ücretsiz sanal forma çekilişine karar veriyor.

  2. Football-Not-Soccer, satın alınan formaları kazananlara geri ödemek için iptal parametresi iletmeden orders.refund API'yi kullanır.

Satın alma jetonuna göre aboneliği iptal etme ve geri ödeme yapma

Belirli kullanım durumları için bir kullanıcının aboneliğine erişimi iptal etmeniz ve geri ödeme yapmanız gerekebilir. Play Faturalandırma, subscriptionsv2.revoke API'yi kullanarak yapabileceğiniz orantılı geri ödemeler de dahil olmak üzere kısmi geri ödemeler sunar. Bu uç noktayla geri ödemenin nasıl hesaplanacağını belirlemek için revocationContext değerini belirtebilirsiniz.

Bu işlem, SUBSCRIPTION_REVOKED Gerçek Zamanlı Geliştirici Bildirimini tetikler. Uygulamanız bu iptal işlemlerini İptaller bölümünde açıklandığı gibi işlemelidir.

Örnek:

  • 1a2b3c4d5e6f7g8h9i0j satın alma jetonuyla satın alma
  • Paket adı com.your.app olan uygulama
  • Kullanım kadar ödeme yapma amacı

HTTP POST isteği:

https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.your.app/purchases/subscriptionsv2/tokens/1a2b3c4d5e6f7g8h9i0j:revoke

İstek gövdesi:

{
  "revocationContext": {
    "proratedRefund": {}
  }
}

Orantılı geri ödemeler

Bir aboneliği feshetmeniz ve kalan yararlanma hakkının süresini kısmen geri ödemeniz gerekirse eşit olarak bölünmüş bir geri ödeme yapın. purchases.subscriptionsv2.revoke işlevini kullanın ve geri ödeme türünü "proratedRefund": {} olarak ayarlayın.

Örnek:

  1. Maria'nın aylık SuperMovies akış planı için otomatik yenilenen 30 günlük aboneliği var. Bir süredir hizmetten memnun kalmıştır. Maria, 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ı söylüyor.

  2. Müşteri hizmetleri, sistemlerinde Meryem'in abonelik satın alma ayrıntılarını bulur ve purchases.subscriptionsv2.revoke numaralı telefonu arayarak eşit oranlı geri ödeme talebinde bulunur.

  3. Müşteri hizmetleri, Merve'ye abonelik fiyatının yaklaşık% 50'sinin geri ödenmesi gerektiğini ve hizmete erişimin derhal sonlandırılacağını söylüyor.