Günlük iş süreçleri kapsamında abonelikler veya tek seferlik satın alma işlemleriyle ilgili yönetim işlemleri yapmanız gerekebilir. Örneğin, müşteri hizmetinizin kullanıcılara tam veya kısmi geri ödeme yapması gerekebilir ya da belirli durumlarda haklarınızı iptal etmeniz gerekebilir. Siparişleri Play Console'dan yönetebilirsiniz. Dilerseniz kendi sisteminizden yönetmek için 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 iptal işlemleri
Kullanıcılar, Play Store'u kullanarak Google Play aboneliklerini istedikleri zaman iptal edebilir. Uygun durumlarda, kullanıcıların uygulamanızda ve web sitenizde aboneliklerini iptal etmeleri için bir seçenek de sunmanız gerekir.
Kullanıcıların gönüllü olarak iptal etmesini sağlamanın en kolay yolu, uygulamanızda Play Store'a derin bağlantılar sağlamaktır. Bu bağlantılar sayesinde kullanıcılar aboneliklerini görüntüleyip yönetebilir.
Geliştirici tarafından başlatılan iptal işlemleri
Geliştirici olarak, iptalleri arka uçtan da tetiklemeniz gerekebilir.
purchases.subscriptions.cancel
API, 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öntem, cancellationType
istek gövde 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 döneminin geri kalanı boyunca devam eder. Kullanıcılar, Play Store'dan aboneliği süresi dolmadan önce geri yükleyebilir veya temel planda etkinleştirildiyse süresi dolduktan sonra yeniden abone olabilir.
DEVELOPER_REQUESTED_STOP_PAYMENTS: Aboneliği iptal eder ve daha fazla ödeme yapılmasını engeller. Kullanıcılar Play Store'dan aboneliği geri yükleyemez veya aboneliğe yeniden kaydolamaz. Ancak uygulamanızda yeniden abone olmalarını sağlayabilirsiniz.
Kullanıcıların süresi dolmamış abonelikleri geri yüklemelerine olanak tanıyın
Bazı durumlarda, geliştirici olarak iptal işlemini tetikledikten sonra kullanıcıların süresi dolmamış abonelikleri Play abonelik merkezinden geri yüklemelerine izin vermeniz yararlı olabilir. Örneğin, özelleştirilmiş bir uygulama içi iptal akışı sunabilirsiniz. İşletme mantığınıza bağlı olarak, arka uçtan tetiklenen hangi iptallerin kullanıcılar tarafından geri yüklenebileceğine karar verebilirsiniz.
Kullanıcının iptal işlemini geri alabileceğini belirtmek için purchases.subscriptions.cancel
API'sine bir POST isteği gönderin ve cancellationType
istek parametresini USER_REQUESTED_STOP_RENEWAL
değerine ayarlayın.
Örnek:
1a2b3c4d5e6f7g8h9i0j
aboneliğ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_RENEWAL"
}
Kullanıcıların süresi dolmuş aboneliklere yeniden abone olmalarını sağlama
Süresi dolmuş bir aboneliğin yeniden aboneliğine 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_RENEWAL
değerine ayarlayarak aboneliği iptal etmeniz gerekir.
Kullanıcıların yalnızca uygulamanızda aboneliği yenilemelerini etkinleştirme
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 işleme alın.
Faturalandırmayı erteleme
Aboneliğin yararlanma süresini uzatmak için subscriptions.defer
simgesini kullanın. Kullanıcı, erteleme süresi boyunca içeriğinize abone olmaya devam eder ancak ek süre için ödeme alınmaz. Bir aboneliğin faturalandırmasını ertelediğinizde durum bilgileri buna göre güncellenir ve bu güncelleme, 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, süre sonunu uzatır.
Ertelenen 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 haftalık ücretsiz erişim verebilirsiniz.
- Müşterilere, müşteri hizmetleri kapsamında ücretsiz erişim sunun. Örneğin, hizmetinizi kullanmalarını etkileyebilecek uzun süreli bir kesinti sonrasında bunu yapabilirsiniz.
Faturalandırma, API çağrısı başına en az bir gün ve en fazla bir yıl ertelenebilir. Kullanım hakkının sonunu 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 bildirimini 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 yayın hizmeti, Şubat ayında düzenli egzersiz yapmayı teşvik etmek için bir promosyon yayınlamak istiyor.
Fitness Hedefleri ile Şubat ayında en az 10 kez egzersiz yapan tüm abonelere ek bir aylık hizmet sunmaya karar verirler.
Şirket, yarışmanın sonuçlarını izler ve 1 Mart'ta, Şubat ayında yarışmayı tamamlayan kullanıcılara ait her etkin abonelik satın alma işlemi için
subscriptions.defer
API'yi çağırır.Bu kullanıcılar, normal egzersiz videolarına ek olarak bir ay boyunca ücretsiz olarak erişebilir. Bu kullanıcılar, Fitness Hedefleri'nin sağlıklı kalmalarına nasıl yardımcı olduğunu tüm arkadaşlarına anlatır.
Geri ödeme yapma ve iptal etme
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 ile, satın alma tarihinden itibaren üç yıl içinde herhangi bir sipariş için eksiksiz geri ödeme yapabilirsiniz.
orders.refund
yöntemi, geri ödemenin 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 feshedilir 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:
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 formaları satın alan tüm kullanıcılara ücretsiz sanal forma çekilişi yapmaya karar verir.
Football-Not-Soccer, forma satın alma işlemlerinin geri ödemesini kazananlara yapmak 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
Bazı 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 üzerinden eksiksiz geri ödemeler ve oransal geri ödemeler dahil olmak üzere iptal yöntemleri 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 Bildirimi'ni tetikler. Uygulamanız, bu iptalleri İptaller bölümünde açıklandığı şekilde işlemelidir.
Örnek:
1a2b3c4d5e6f7g8h9i0j
satın alma jetonuyla satın almacom.your.app
paket adına sahip uygulama- Orantısal geri ödeme yapma niyeti
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 ödemeler
Bir aboneliği feshedip geçerli faturalandırma döneminin tutarını eksiksiz olarak geri ödemeniz gerekiyorsa eksiksiz geri ödeme yapın. purchases.subscriptionsv2.revoke
işlevini kullanın ve geri ödeme türü olarak "fullRefund": {}
değerini ayarlayın.
Örnek:
Meral, otomatik olarak yenilenen 30 günlük bir SuperMovies akışı aylık planına abonedir. Maria, içeriğe erişmesini engelleyen bazı teknik sorunlarla karşılaştı. Müşteri, faturalandırma döneminin 3. gününde müşteri hizmetleriyle iletişime geçerek aboneliğe hiç erişemediğini belirtir.
Müşteri hizmetleri, Maria'nın abonelik satın alma ayrıntılarını sistemlerinde bulur ve
purchases.subscriptionsv2.revoke
'a tam geri ödeme isteğinde bulunan bir arama yapar.Müşteri hizmetleri, Meral'e abonelik fiyatının% 100'ünün geri ödeneceğini ve artık plana abone olmadığını bildirir.
Prorata geri ödemeler
Bir aboneliği feshedip kalan uygunluk süresini kısmen geri ödemeniz gerekiyorsa oransal geri ödeme yapın. purchases.subscriptionsv2.revoke
işlevini kullanın ve geri ödeme türü olarak "proratedRefund": {}
değerini ayarlayın.
Örnek:
Meral, otomatik olarak yenilenen 30 günlük bir SuperMovies aboneliğine (aylık plan) sahip. Hizmeti bir süredir memnuniyetle kullanıyor. 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ı belirtir.
Müşteri hizmetleri, Maria'nın abonelik satın alma ayrıntılarını sistemlerinde bulur ve
purchases.subscriptionsv2.revoke
'a oransal geri ödeme isteğinde bulunan bir arama yapar.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ı bildirir.