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ılar için tam veya kısmi geri ödeme yapması gerekebilir ya da belirli durumlarda hakları iptal etmeniz gerekebilir. Siparişleri Play Console'dan yönetebilirsiniz. Kendi sisteminizden yönetmek isterseniz 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, Play Store'u kullanarak Google Play aboneliklerini diledikleri zaman iptal edebilir. Geçerliyse uygulamanızda ve web sitenizde kullanıcılara 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, iptalleri arka uçtan da tetiklemeniz gerekebilir.
purchases.subscriptions.cancel
API, abonelik satın alma işlemlerini iptal etmenize olanak tanır.
Örneğin, bu yöntemi eski bir hizmeti devre dışı bırakmak için kullanabilirsiniz.
Aboneliğin iptal edilmesi durumunda geri ödeme yapılmaz ve kullanıcı, mevcut fatura döneminin sonuna kadar erişimini korur.
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 Play Store'dan iptal etmiş gibi iptal eder. Taksit ödemeleri, mevcut taahhüt süresinin geri kalanı boyunca devam eder. Kullanıcılar, Play Store'dan aboneliğin süresi dolmadan önce 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 başka ödeme yapılmasını engeller. Kullanıcılar, aboneliği Play Store'dan geri yükleyemez veya aboneliğe yeniden abone olamaz. Ancak uygulamanızda kullanıcıların yeniden abone olması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ışı sağlamak 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 iptali 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:
- Aboneliğin satın alma jetonu
1a2b3c4d5e6f7g8h9i0j - 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 olmasını sağlama
Süresi dolmuş bir aboneliğin yeniden etkinleştirilmesine 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_CANCELEDanlık geliştirici
bildirimi tetikler. Bu iptalleri İptaller bölümünde açıklandığı şekilde ele alın.
Faturalandırmayı erteleme
subscriptionsv2.defer yöntemini kullanarak aboneliğin hak kazanma süresini uzatabilirsiniz. Eklenti içeren bir aboneliği ertelediğinizde, abonelikteki tüm öğeler aynı süreyle ertelenir. Erteleme süresi boyunca kullanıcı, içeriğinize abone kalmaya devam eder ancak ek süre için ücret alınmaz. Bir aboneliğin faturalandırmasını ertelediğinizde durum bilgileri buna göre güncellenir ve satın alma durumu bilgilerindeki expiryTime alanında gösterilir:
- Yinelenen ve etkin aboneliklerde, ertelenen faturalandırma bir sonraki yenileme tarihini uzatır.
- Ön ödemeli planlarda, ertelenmiş faturalandırma son kullanma süresini uzatır.
Ertelenmiş faturalandırmayı nasıl kullanabileceğinize dair bazı örnekler:
- Kullanıcılara özel teklif olarak ücretsiz erişim sunun. Örneğin, mevcut abonelere geri bildirim anketini doldurmaları karşılığında bir hafta ücretsiz erişim verin.
- Müşterilere, müşteri hizmetleri kapsamında ücretsiz erişim sunun. Örneğin, hizmetinizi kullanma becerilerini etkilemiş olabilecek uzun süreli bir kesintinin ardından bu erişimi sağlayabilirsiniz.
Faturalandırma, API çağrısı başına en az bir gün ve en fazla bir yıl ertelenebilir. Hak süresinin bitişini daha da ertelemek için yeni geçerlilik bitiş tarihi gelmeden önce API'yi tekrar çağırın.
Bu işlem, SUBSCRIPTION_DEFERRED gerçek zamanlı geliştirici bildirimi tetikler. Bu etkinlikleri nasıl ele alacağınızı öğrenmek için Abonelikler hakkında bölümündeki Abonenin faturalandırmasını erteleme başlıklı makaleyi inceleyin.
Ö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.
Bu kullanıcılar, yarışmanın sonuçlarını takip eder ve 1 Mart'ta Şubat ayında yarışmayı tamamlayan kullanıcılara ait her etkin abonelik satın alımı için subscriptionsv2.defer yöntemini çağırır.
Bu kullanıcılar, bir ay boyunca ücretsiz olarak düzenli egzersiz videolarından yararlanır ve FitnessHedefleri'nin sağlıklı kalmalarına nasıl yardımcı olduğunu tüm arkadaşlarına anlatır.
Geri ödeme ve iptal işlemleri yapma
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 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 tam 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 SUBSCRIPTION_REVOKED
anlık 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:
Yeni dünya kupasının başlangıcını kutlamak için Football-Not-Soccer adlı e-spor uygulaması, ilk 24 saat içinde yeni takım forması satın alan tüm kullanıcılara ücretsiz sanal forma hediye etmeye karar verir.
Football-Not-Soccer, forma satın alımlarının kazananlara geri ödenmesi için iptal parametresi iletmeden
orders.refundAPI'sini kullanıyor.
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. Play Faturalandırma, subscriptionsv2.revoke API'si aracılığıyla tam geri ödemeler ve süreyle orantılı geri ödemeler dahil olmak üzere iptal yöntemleri sunar. Bu uç nokta ile geri ödemenin nasıl hesaplanacağını belirlemek için revocationContext değerini belirtebilirsiniz.
Bu işlem, SUBSCRIPTION_REVOKED gerçek zamanlı geliştirici bildirimi
tetikler. 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ım süresiyle orantılı 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": {}
}
}
Tam geri ödemeler
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:
Meryem, SuperMovies streaming aylık planına otomatik yenilenen 30 günlük bir abonelik satın alıyor. Maria, içeriğe erişmesini engelleyen bazı teknik sorunlarla karşılaştı. Fatura döneminin 3. gününde müşteri hizmetleriyle iletişime geçen kullanıcı, aboneliğe hiç erişemediğini belirtiyor.
Müşteri hizmetleri, sistemlerinde Maria'nın abonelik satın alma ayrıntılarını bulur ve
purchases.subscriptionsv2.revoke'ı arayarak eksiksiz geri ödeme isteğinde bulunur.Müşteri hizmetleri, Maria'ya abonelik ücretinin% 100'ünün geri ödeneceğini ve artık plana abone olmadığını bildiriyor.
Geri ödemeleri orantılı olarak yapma
Bir aboneliği sonlandırmanız ve kalan hak süresinin bir kısmını geri ödemeniz gerekiyorsa orantılı geri ödeme yapın. purchases.subscriptionsv2.revoke işlevini kullanın ve geri ödeme türünü "proratedRefund": {} olarak ayarlayın.
Otomatik yenilenen abonelikler ve süresi en az bir hafta olan ön ödemeli planlar için orantılı geri ödemeler desteklenir.
Örnek:
Meryem, SuperMovies streaming aylık planına otomatik yenilenen 30 günlük bir abonelik satın alıyor. 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 sonraki 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.revoke'ı arayarak orantılı geri ödeme isteğinde bulunur.Müşteri hizmetleri, Maria'ya abonelik fiyatının yaklaşık% 50'sinin geri ödeneceğini ve hizmete erişimin hemen sonlandırılacağını bildiriyor.