Bu rehberde
Yenileme başarısız olabilir: süresi dolmuş kart, boş bakiye, kaldırılmış bir ödeme yöntemi. Uygulamanın sonra ne yaptığı, kullanıcının sorunu düzeltip düzeltmeyeceğini ya da kızıp gideceğini belirler. Satın alma ve paywall testi bölümünün parçası.
Mağaza kuralları değişebilir; bu yüzden güncel sayfalarda doğrula ve test matrisini onlara göre kur.
- Apple: "If you enabled the billing grace period for your apps, there won't be any interruption to days of paid service or to your revenue, if Apple is able to recover the subscription within the billing grace period (either 6 or 16 days, depending on the subscription duration)." (Uygulamalar için faturalama ek süresini (grace period) etkinleştirdiysen, Apple aboneliği faturalama ek süresi içinde geri alabilirse ücretli hizmet günlerinde ya da gelirinde bir kesinti olmaz (abonelik süresine bağlı olarak 6 ya da 16 gün).)
- Google Play: "This recovery period can consist of a grace period followed by an account hold period. During a grace period, the user should still have access to their subscription entitlement." (Bu geri kazanım süresi, bir ek süreden ve ardından bir hesap bekletme süresinden oluşabilir. Ek süre boyunca kullanıcı hâlâ abonelik hakkına erişebilmelidir.) ve "When a subscription enters account hold, you should block access to the subscription entitlement." (Bir abonelik hesap bekletmeye girdiğinde abonelik hakkına erişimi engellemelisin.) Ek süre uzunluğu Play Console'da ayarlanabilir; hesap bekletme uzunluğu varsayılan olarak "60 days minus any grace period duration." (60 günden ek süre çıkarılmış hâli) kadardır.
Kaynaklar: Apple App Store Connect Yardımı (Offer auto-renewable subscriptions); Android Developers (Subscriptions; Subscription lifecycle); hepsi 2026-10-22 tarihinde alındı.
Önce matrisi kur
Belgelerden, mağazanın bildirebileceği her abonelik durumunu listele (örneğin aktif, yeniden deneniyor, beklemede, süresi dolmuş). Her durum için yaz: kullanıcının hangi erişime sahip olması gerektiği, uygulamanın ne söylemesi gerektiği ve kullanıcının ne yapabileceği. Sonra her satırı test et.
Kontroller
- Her durumun tanımlı bir erişim kuralı var. Hiçbir durum yanlışlıkla "tanımsız, dolayısıyla kilitli" grubuna düşmesin.
- Kullanıcı uygulamada ödemenin başarısız olduğundan haberdar ediliyor. Sade sözler, tek bir eylem ("Ödeme yöntemini güncelle"), suçlama yok.
- Eylem doğru yere götürüyor. Bağlantı, mağazanın ödeme yönetimini açıyor, çıkmaz sokağa değil. Nasıl kontrol edilir: gerçek bir cihazda dokun.
- Düzeltmeden sonra mesaj kayboluyor. Sandbox'ta yeniden öde; uygulamayı yeniden yüklemeden afiş kaybolur.
- Rahatsız etme yok. Erişim hâlâ geçerliyken her açılışta engelleyen bir ekran değil, bir afiş ya da tek bir diyalog.
- Erişim ne çok erken kesiliyor ne de çok uzun açık kalıyor. Uygulamanın izin verdiğini, kaydettiğin durumla karşılaştır.
- Son bitiş. Abonelik bittiğinde kullanıcı, neyin olduğunu açıklayan sakin bir paywall'a iniyor. Bkz. ücretsiz deneme akışı.
- Bittikten sonra yeniden abone ol. Satın alma çalışıyor ve erişim geri geliyor. Bkz. satın almaları geri yükleme.
- Plan değişikliği sırasında başarısız ödeme. Bkz. yükseltme ve düşürme.
- Sunucu ve uygulama aynı şeyi söylüyor. Durumu bir sunucuda takip ediyorsan, aynı durumları ve sırası karışık olayları doğru işlediğini kontrol et (sunucu tarafı kontroller).
- Sandbox'ta zamanlama. Sandbox yenilemeleri kısaltılmış takvimlerle çalışır; "6 gün içinde" gibi ifadeler hakkında sonuç çıkarmadan önce yukarıdaki gerçek süreleri karşılaştır.
Metin
Mağazadan okuyamadığın tarihleri vaat etme. "Aboneliğini yenileyemedik" doğrudur; "7 gün kaldı" ise yalnızca doğrulamışsan doğrudur.
İlgili: satın alma kesintisi, bölgelere göre fiyat gösterimi.
Bir test ediciye hangi mesajı bekleyeceğini ve ne yapacağını bilip bilmeyeceğini sor. Ücretsiz başla.