Tüm makaleler
Uygulama rehberi8 dk okuma

Google Play abonelik eklentisi iadeleri tek bir öğeyi hedefleyebilir, ancak müşteriniz yalnızca paketin tamamını iptal edebilir

Google Play, bir temel aboneliğin tek bir satın alma jetonunda 49'a kadar eklenti taşımasına izin verir. Abonelik eklentisi iadelerinin nasıl çalıştığını, hangi API çağrısının diğerlerine dokunmadan tek bir öğeyi iade ettiğini, Google'ın bunu nerede engellediğini ve her iade yolunun size maliyetini anlatıyoruz.

Kafede bir masada, ayrıntılı bir fişin yanında Android telefonuna bakan bir kişi. Google Play abonelik eklentisi iadelerinin satır satır uygulandığı türden paketli bir satın alma

Önemli noktalar

  • Google Play'in eklentili abonelik özelliği, tek bir satın almada bir temel abonelik ve 49'a kadar eklentiyi, toplamda 50 öğeyi bir araya getirir. Tüm öğeler aynı yinelenen faturalandırma dönemini paylaşmalıdır.
  • Google Play kullanıcıları Play Subscription Center'dan tek bir eklentiyi iptal edemez. Yalnızca temel aboneliği ve eklentilerini birlikte iptal edebilirler. Bu yüzden tek bir eklentiyi kaldırma işlemi geliştiricinin uygulamasında yapılmalıdır.
  • purchases.subscriptionsv2.revoke yöntemi tek bir productId içeren bir itemBasedRefund kabul eder. Diğer öğeler etkin kalırsa Google yalnızca o öğeyi iptal eder ve tamamını iade eder, abonelik devam eder.
  • Google, abonelik ödeme reddedildi durumundayken, öğenin süresi dolmuşsa veya kullanıcıya ait değilse ve ön ödemeli aboneliklerde öğe bazlı iadeyi engeller.
  • Eklentili bir abonelikte proratedRefund, her öğenin en son siparişini bir sonraki yenilemeye kalan süreye göre orantılı olarak iade eder ve tüm öğelere erişimi aynı anda iptal eder.
  • Eklentili abonelikler için gerçek zamanlı geliştirici bildirimleri subscriptionId içermez. Bu nedenle backend'in purchases.subscriptionsv2.get çağırması ve hangi öğelerin hâlâ kullanıcıya ait olduğunu görmek için her lineItem'ı okuması gerekir.
  • Google Play'de geliştiriciden kanıt isteyen tek iade akışı, orders.reviewrefund ile incelemeye alınan ve 24 saatlik süresi olan ters ibrazdır (chargeback). 3 Ağustos 2026'dan sonra verilen siparişlerde kaybedilen bir ters ibraz, geliştiriciye satın alma fiyatı eksi Play hizmet ücreti, artı bankanın ücretlerine mal olur.

Google Play'de üç eklentili bir temel abonelik satarsanız bu eklentilerden herhangi birini diğerlerini iptal etmeden iade edebilirsiniz. Müşteriniz kendi tarafında aynısını yapamaz. Google, kullanıcıların yalnızca paketin tamamını iptal etmesine izin verir. Yani Google Play abonelik eklentisi iadeleri için hassas araçlar yalnızca sizde, yani geliştiricide ve yalnızca API üzerinden. Bunları doğru kullanırsanız yalnızca sorunlu satırı iade edersiniz. Yanlış çağrıyı kullanırsanız her şeyi iade eder ya da iptal edersiniz.

Eklentili bir abonelik nasıl kurulur

Google, I/O 2025'te abonelikler için çoklu ürün ödeme akışını duyurdu. Tek bir satın alma akışı, bir temel abonelik ile isteğe bağlı eklentileri satar ve hepsi tek bir takvimle birlikte faturalandırılır. Google'ın geliştirici kılavuzu kesin sınırlar koyar:

  • Yalnızca otomatik yenilenen temel planlar eklenti taşıyabilir. Ön ödemeli planlar taşıyamaz.
  • Tüm öğeler aynı yinelenen faturalandırma dönemini paylaşmalıdır. Yıllık bir temel aboneliğe aylık eklentiler eklenemez.
  • Bir satın alma en fazla 50 öğe içerir, yani bir temel abonelik ve 49'a kadar eklenti.
  • Bu özellik Güney Kore'de kullanılamaz.

Bunların hepsi tek bir satın alma jetonunda bulunur. purchases.subscriptionsv2.get çağırdığınızda yanıt, her öğe için bir giriş içeren bir lineItems listesi döndürür. Her satır öğesinin kendi productId, expiryTime ve latestSuccessfulOrderId değerleri vardır. Öğe bazlı iadeyi mümkün kılan son alandır: her öğenin kendi en son siparişi vardır.

Orantılama ilk günden başlar

Kullanıcı dönem ortasında bir eklenti eklediğinde Google, eklentinin temel abonelikle aynı tarihte yenilenmesi için hemen orantılı bir tutar tahsil eder. Google'ın kendi örneğinde, 7 günlük denemenin ardından 15 Ağustos'ta eklenen aylık $10'lık bir eklenti için Ağustos'un geri kalanını karşılamak üzere $2.90 tahsil edilir. Yani tek bir eklentinin ilk tam siparişinden önce kısa ve alışılmadık tutarlı bir ilk siparişi olabilir. Bir iadenin hangi siparişe denk geleceğine bakarken bunu aklınızda tutun.

Müşteriniz yalnızca paketin tamamını iptal edebilir

Google'ın kullanıcı yardım sayfası bu konuda açık. Kullanıcılar temel aboneliği ve eklentileri yalnızca birlikte iptal edebilir ve şu anda Google Play'den tek tek eklentileri iptal edemez. Duraklatma da mümkün değildir. Kullanıcı bir fiyat artışını reddederse Google temel aboneliği ve tüm eklentileri birlikte iptal eder.

Bu durumda tek bir eklentiden çıkmak isteyen müşterinin Play Store'da iki seçeneği kalır: her şeyi iptal etmek ya da parasını geri istemek. İkisi de sizin için iyi değil. Google'ın kılavuzu, bunun yerine kaldırma seçeneğini uygulamanızın sunabileceğini söyler. Kaldırılan bir eklenti mevcut faturalandırma döneminin sonunda sona erer ve paketin geri kalanı yenilenmeye devam eder.

Google Play abonelik eklentisi iade araçlarının karşılaştırması

Google, eklentili bir abonelikte para iadesi için size beş yol sunar. Bu yollar neyi iade ettikleri ve erişimin sona erip ermediği konusunda farklıdır.

AraçNe iade edilirErişime ne olur
Belirli bir sipariş için Play Console iadesiO siparişte seçtiğiniz bir tutarHiçbir şey iptal edilmez
orders.refund, revoke ayarlanmamışTek bir siparişin tam tutarıHiçbir şey iptal edilmez
itemBasedRefund ile subscriptionsv2.revokeTek bir öğenin en son tahsilatının tamamıSon etkin öğe değilse yalnızca o öğe sona erer
proratedRefund ile subscriptionsv2.revokeHer öğenin en son siparişi, kalan süreye göre orantılıTüm öğeler hemen sona erer
fullRefund ile subscriptionsv2.revokeHer öğenin en son tahsilatının tamamıTüm öğeler hemen sona erer

Google, eklenti kılavuzunda kesin bir uyarı ekler: eklentili bir abonelikte kullanımdan kaldırılmış purchases.subscriptions.refund yöntemini çağırmayın. Ayrıca orders.refund üç yıldan eski siparişlere dokunamaz.

itemBasedRefund nasıl davranır

itemBasedRefund nesnesi, iptal edilecek öğeyi belirten tek bir zorunlu alan alır: productId. Google iki sonuç tanımlar:

  • Diğer öğeler hâlâ etkin: yalnızca belirtilen öğe iptal edilir ve tamamı iade edilir, abonelik devam eder.
  • Başka etkin öğe yok: öğe iptal edilir, tamamı iade edilir ve aboneliğin tamamı iptal edilir.

Her istekte bir öğe belirtebilirsiniz. İki eklentiyi iade etmek için iki çağrı yapın.

Google öğe bazlı iadeyi ne zaman engeller

Google, itemBasedRefund'ı üç durumda reddeder. Abonelik, ek süre ve hesap askıya alma dahil herhangi bir ödeme reddedildi durumundadır. Belirttiğiniz öğe kullanıcıya ait değildir veya süresi zaten dolmuştur. Ya da satın alma, öğe reddinin hiç desteklenmediği ön ödemeli bir aboneliktir.

Sipariş kimliğiyle iade ne yapar

Google'ın kılavuzu, orders.refund üzerindeki revoke bayrağının yalnızca sipariş abonelikteki en son siparişse erişimi sonlandırdığını belirtir. Daha eski bir siparişte iade başarılı olur ve hiçbir şey iptal edilmez. Play Console da aynı şekilde çalışır: en son siparişi iade ederseniz abonelik kaldırılır, daha eskisini iade ederseniz etkin kalır. Eklentilerde siparişi doğru satır öğesinin latestSuccessfulOrderId değerinden seçin, aksi halde kastettiğinizden farklı bir tahsilatı iade edebilirsiniz.

İadeye kim karar verir ve sizden ne zaman kanıt istenir

Eklentili bir abonelikteki iadelerin çoğu, diğer tüm Play aboneliklerinde olduğu gibi siz olmadan karara bağlanır. Satın almadan sonraki 48 saat içinde kullanıcı Sorun bildir üzerinden Google'a başvurabilir ve kararı Google verir. Bundan sonra Google kullanıcıyı size yönlendirir. Yeni bir abonelik satın alımını üç gün içinde onaylamazsanız Google kullanıcıya otomatik olarak iade yapar ve satın almayı iptal eder.

Yalnızca bir akış sizin tarafınızı dinler. Kart sahibi ters ibraz başlattığında ve Google bunu geliştirici incelemesi için işaretlediğinde bir PendingRefundReviewNotification alırsınız. Bir iade tercihi ve kullanım kanıtıyla orders.reviewrefund çağırmak için 24 saatiniz olur. Ters ibrazların kendisine banka karar verir ve bankanın kararı kesindir.

Eklenti iadelerini sunucunuzda izleme

Google'ın RTDN başvuru belgesi, bir abonelik paketindeki öğe değişiklikleri için SUBSCRIPTION_ITEMS_CHANGED, bitiş zamanından önce iptal edilen bir abonelik için SUBSCRIPTION_REVOKED listeler. Google'ın kılavuzuna göre subscriptionsv2.revoke ile yapılan bir iptal hem SUBSCRIPTION_REVOKED bildirimini hem de VoidedPurchaseNotification gönderir ve Voided Purchases API'ye kaydedilir.

Püf noktası subscriptionId. Google, eklentili abonelikler için bunun RTDN'lerde sağlanmadığını söyler. Bu yüzden hangi öğenin değiştiğini öğrenmek için bildirime güvenmeyin. Bir paketle ilgili her bildirimde:

  • purchaseToken ile purchases.subscriptionsv2.get çağırın.
  • Her lineItem'ı ve expiryTime değerini okuyun. Google, expiryTime değerini yalnızca beklediğiniz öğe için değil, tüm öğeler için yenilemeniz gerektiğini söyler.
  • Erişimi satın alma jetonuna göre değil, productId'ye göre verin veya kaldırın.
  • Yedek olarak Voided Purchases API'yi düzenli sorgulayın. Son 30 günü kapsar.

Ek süre ve hesap askıya alma paketin tamamına uygulanır

Ödeme sorunları tüm öğeleri aynı anda etkiler. Google, etkin öğeler arasındaki en kısa ek süreyi seçer ve tüm yenilemeye uygular. Ek süre boyunca kullanıcı tüm öğeleri korur. Hesap askıya alındığında tüm öğelere erişim durdurulur. Ödeme hiç düzelmezse reddedilen öğelerin süresi dolar ve diğer öğeler faturalandırma dönemlerinin geri kalanı için devam eder.

Bir geliştiricinin masası: sunucu maliyet grafiklerini gösteren bir dizüstü bilgisayar ve yanında, her Google Play abonelik eklentisinin arkasındaki ödenmiş maliyetlerin izlendiği ayrıntılı bir fatura

Her iade yolunun size parasal maliyeti

Eklentiler genellikle sizin ödediğiniz bir şeye karşılık gelir. Ek bulut depolama, depolama sağlayıcınız tarafından faturalandırılır. Bir AI kredi paketi, model API çağrıları olarak faturalandırılır. Ek bir koltuk daha fazla işlem gücü demektir ve bir içerik üretici katmanı ödeme tetikleyebilir. Bu maliyetlerin her biri kullanıcı eklentiyi kullandığında oluşur. İade ise fiyatı geri verir ama bu maliyetlerin hiçbirini geri getirmez.

Fazla iade etmek

Pahalı hata, şikayet tek bir eklentiyle ilgiliyken fullRefund veya proratedRefund kullanmaktır. İkisi de tüm öğeleri iptal eder. Böylece temel fiyatı da geri verir ve kalmak isteyen bir aboneyi kaybedersiniz. itemBasedRefund yalnızca o eklentinin en son tahsilatını geri verir. Engellendiğinde, o öğenin en son siparişine yapılan bir orders.refund hiçbir şeyi sonlandırmadan parayı geri verir.

Kısmi iadeler ve ücretler

Play Console, abonelik siparişlerinde kısmi iade yapmanıza izin verir ve Google, iade yüzdesinin ödemenize ve hizmet ücretine de uygulandığını söyler. Bir siparişin yarısını iade ederseniz Google'ın ücretinin yarısı da geri gelir. O eklentiyi sunmak için yaptığınız kendi maliyetleriniz geri gelmez.

Bir pakette ters ibrazlar

3 Ağustos 2026'dan sonra verilen siparişlerde Google ters ibraz maliyetlerini geliştiricilere aktarır. Bir ters ibraz kabul edildiğinde satın alma fiyatı eksi Play hizmet ücretini, artı bankanın aldığı ücretleri siz ödersiniz. Birkaç eklentili bir paket siparişi, kaybedilmesi daha pahalı bir siparişe karşılık gelir. Gizlenmiş hesap kimliğiyle eşleştirilmiş eklenti bazlı kullanım günlükleri, 24 saatlik bir incelemede göndereceğiniz şeydir.

Eklenti iadeleri için kontrol listesi

  • Google Play sunmadığı için tek bir eklentiyi kaldırmanın uygulama içi bir yolunu sunun.
  • Her bildirimde her lineItem'ın productId, expiryTime ve latestSuccessfulOrderId değerlerini saklayın.
  • Sorun tek bir eklentideyse varsayılan olarak itemBasedRefund kullanın.
  • Abonelik ek süredeyse veya hesap askıya alınmışsa bunun yerine öğenin siparişini orders.refund ile iade edin.
  • Bir pakette kullanımdan kaldırılmış purchases.subscriptions.refund yöntemini asla çağırmayın.
  • Bir ters ibraz incelemesine 24 saat içinde yanıt gönderilebilmesi için eklenti kullanımını hesap bazında kaydedin.
  • İade oranlarını yalnızca abonelik bazında değil, eklenti bazında da raporlayın. Böylece zayıf bir eklenti temel planın rakamları arasında gizlenmez.

Sık sorulan sorular

Bir kullanıcı Google Play aboneliğindeki tek bir eklentiyi iptal edebilir mi?
Google Play'den edemez. Google'ın yardım sayfası, kullanıcıların temel aboneliği ve eklentileri yalnızca birlikte iptal edebileceğini söyler. Uygulamanız tek bir eklentinin kaldırılmasını sunabilir. Bu eklenti daha sonra mevcut faturalandırma döneminin sonunda sona erer.
Aboneliği iptal etmeden tek bir eklentiyi nasıl iade ederim?
Eklentinin productId değerini belirten bir itemBasedRefund ile purchases.subscriptionsv2.revoke çağırın. Diğer öğeler etkin kalırsa Google yalnızca o öğeyi iptal eder ve tamamını iade eder. Öğenin en son siparişini revoke bayrağı olmadan orders.refund ile de iade edebilirsiniz. Bu, parayı geri verir ve erişime dokunmaz.
itemBasedRefund çağrım neden başarısız oldu?
Google, abonelik ödeme reddedildi durumundayken, öğe kullanıcıya ait değilse veya süresi dolmuşsa ve ön ödemeli aboneliklerde bunu engeller. Çağırmadan önce satır öğesinin expiryTime değerini ve abonelik durumunu kontrol edin.
Orantılı iade eklentili bir abonelikte çalışır mı?
Evet, ancak her şeyi iptal eder. Google her öğenin en son siparişini bir sonraki yenilemeye kalan süreye göre orantılı olarak iade eder ve tüm öğelere erişim hemen sona erer.
Hangi RTDN bir eklentinin iade edildiğini bildirir?
Google'ın kılavuzuna göre iptal, SUBSCRIPTION_REVOKED ve bir VoidedPurchaseNotification tetikler. SUBSCRIPTION_ITEMS_CHANGED ise paketteki bir öğede yapılan değişiklikleri kapsar. Paketlerde subscriptionId bulunmadığı için purchases.subscriptionsv2.get çağırın ve neyin değiştiğini görmek için her lineItem'ı okuyun.

Kaynaklar ve ek okumalar

RefundHalt

App Store ve Google Play için geri ödeme otomatik pilotu

Okumaya devam edin

Bir sonraki geri ödeme talebi şimdiden yolda.

İtiraz edemediğiniz bir geri ödemeyle ilgili başka bir destek e-postasını okumak için gereken sürede RefundHalt'ı kurun.