İçeriğe geç
App Store Refund Management

Apple İade Talebi Yönetimi: Mobil Uygulama Geliştiricileri için Rehber

Mobil uygulama geliştiricilerinin iade işlemlerini ve App Store gereksinimlerini anlamalarına yardımcı olan, Apple iade talebi yönetimine dair pratik bir rehber.

5 min read
Apple İade Talebi Yönetimi: Mobil Uygulama Geliştiricileri için Rehber

On iOS ekibine Apple iadelerini nasıl yönettiklerini sorun, dokuzu aynı şeyi anlatacaktır. Ayın beşi civarında App Store Connect'ten çekilen bir CSV. Bir kez okunur, iç geçirilir, kapatılır.

Bu yönetim değil. Bu bir otopsi.

Apple her iade kararını kendisi verir ve sizin oyunuz yoktur. Elinizde olan şey bir dizi olay, bunlardan birini yanıtlamak için kısa bir süre ve harekete geçmeniz gereken bir iptal tarihidir. Bunları kuran ekipler, CSV okuyucularının asla göremediği parayı elinde tutar. Önce kayıt tarafı için Apple iade taleplerinin nasıl takip edileceği ve zamanında nasıl yanıt verileceği yazısıyla başlayın. Bu yazı ise işin tamamını kapsıyor.

Önemli Noktalar

  • Apple iade talebi yönetimi bir sunucu işidir. App Store Connect'in hiçbir yerinde iade kuyruğu yoktur.

  • Apple iade politikası, müşterilere reportaproblem.apple.com adresinden kendi kendine hizmet alabilecekleri bir yol sunar. Bundan yalnızca siz sorduysanız haberdar olursunuz.

  • Yaşam döngüsünü dört bildirim türü kapsar: CONSUMPTION_REQUEST, REFUND, REFUND_DECLINED, REFUND_REVERSED.

  • 12 saatlik yanıt süresi, katkınızın sonucu değiştirebileceği tek yerdir. Geri kalan her şey temizlik işidir.

  • Çoğu ekip REFUND_REVERSED'ı gözden kaçırır. Bu bildirim erişimi geri verir; onu unutmak dürüst bir müşteriyi cezalandırır.

Apple İade Talebi Yönetimi Gerçekte Ne Anlama Gelir

Bu, bir iade olayını yakalayan, isteniyorsa yanıtlayan, kullanıcının yapabildiklerini güncelleyen ve parayı kaydeden sistemlerdir. Dört iş. Hiçbiri isteğe bağlı değil ve bunlardan yalnızca biri Apple'ın size sunduğu bir panelde görünür.

The Apple iade politikası sizi de sürece dahil ediyormuş gibi görünür. Ama çoğunlukla değil. Apple'ın Medya Hizmetleri Koşulları tüm işlemlerin kesin olduğunu söyler, bu nedenle her iade, Apple'ın vermeyi tercih ettiği bir istisnadır. Onay düğmesi yok. Müşteri e-posta adresi yok. Talebi kimin yaptığını bile göremezsiniz.

Yapabileceğiniz tek şey, Apple hâlâ karar verirken kanıt göndermektir. Bu disiplinin var olma nedeni de bu kaldıraçtır.

Geliştiriciler için Uçtan Uca Apple İade Talebi Süreci

İşte müşteri tarafından sizin tarafınıza uzanan tüm yol, sırasıyla.

  1. Bir müşteri reportaproblem.apple.com adresini açar, oturum açar, son 90 gün içindeki bir satın alımı bulur, bir neden seçer ve gönderir. iOS 15'ten itibaren aynı formu StoreKit'in iade talebi sayfası ile uygulamanızın içinde de gösterebilir, memnun olmayan kullanıcıyı arada bir destek talebi olmadan doğrudan Apple'a yönlendirebilirsiniz.

  2. App Store Server Notifications V2 kullanıyorsanız, işlem, ürün ve seçtikleri nedenle birlikte endpoint'inize bir CONSUMPTION_REQUEST düşer.

  3. Tüketim verisiyle yanıt vermek için yaklaşık 12 saatiniz olur. Ya yanıtlarsınız ya da vermezsiniz.

  4. Apple karar verir: REFUND, REFUND_DECLINED ya da dinlemiyorsanız hiçbir şey.

  5. Eğer iade onaylandıysa, payload bir iptal tarihi ve nedeni taşır. Erişim bu tarih itibarıyla kaldırılır ve gelir kaydınız değişir.

  6. Bazen Apple, müşteri itirazından sonra fikrini değiştirir. REFUND_REVERSED gelir ve erişimi geri verirsiniz.

Sonucu etkileyebildiğiniz tek adım 3. adımdır. Paranın sessizce sızdığı yerler ise 5. ve 6. adımlardır.

Bunu kurmadan önce bilmeniz gereken bir şey var: Apple, geliştiricilere iade durumunu sorgulamamalarını (polling) söyler. Önerilen yol bildirimlerdir; Get Refund History ise birincil kaynağınız olarak değil, bir kesintiden sonra mutabakat için kullanılır.

Bunun Değerine Dair Gerçek Bir Örnek

r/iOSProgramming'de, bir geliştiricinin CONSUMPTION_REQUEST'i ilk kez ele alışını yazdığı bilinen bir konu vardır. Aylardır bunu görmezden geliyordu. Bir yanıt mekanizması kurduktan sonra, tek bir küçük uygulamada aylık gelire yaklaşık 1.000 $ geri kazandırdı.

Paywall'da değişiklik yok. Yeni bir onboarding yok. Fiyat testi yok. Sadece Apple'ın zaten sorduğu soruyu yanıtlamaya başladı.

Bu konunun özü budur. İş göz alıcı değildir ve backend kodunda yaşar. Getiri hızlıca görülür, çünkü bu talepler zaten varsayılan olarak onaylanıyordu.

Dört Olay ve Her Biriyle Ne Yapılmalı

CONSUMPTION_REQUEST

Apple burada soruyor, karar vermiyor. Müşterinin gerçek kullanım verilerini çekin, verilerinin paylaşılmasına onay verip vermediğini kontrol edin ve beş alanı doldurun: onay, teslimat durumu, sağlanan örnek, milli birim cinsinden tüketim yüzdesi ve tercih ettiğiniz sonuç. Ürünün kullanıldığı durumları reddedin. Gerçek kazaları onaylayın.

REFUND

Para geri gidiyor ve bunu iki ayrı işlem izler. Yetkilendirmeyi iptal tarihi itibarıyla kaldırın. İadeyi, haberdar olduğunuz dönem yerine orijinal satın alımın gerçekleştiği döneme kaydedin. İptal nedenini de saklayın, çünkü bu, uygulama kaynaklı iadeleri gürültüden ayırır.

REFUND_DECLINED

Kaydetmekten başka yapacak bir şey yok. Ya yanıtınız işe yaradı ya da hesap geçmişi.

REFUND_REVERSED

Apple, bir itirazdan sonra iadeyi geri aldı. Erişimi kestiyseniz, geri verin. Bir abonelikte bu gerçekleştiğinde yenileme tarihi değişmez, bu da insanları şaşırtır.

Kimsenin planlamadığı iki uç durum var. Bir abonelik iadesi, AUTO_RENEW_DISABLED alt türüyle birlikte DID_CHANGE_RENEWAL_STATUS'ü de getirir, yani yenileme zaten kapatılmıştır. Ayrıca Family Sharing açıkken, bir iade erişimi olan her aile üyesi için REVOKE tetikler.

Apple İade Talepleri Nasıl Ele Alınır: 12 Saatlik İş

Bu süre kısadır ve saatin kaç olduğuna aldırmaz. Doğru bir şekilde yanıt vermek beş adım gerektirir. Herhangi bir baytına güvenmeden önce JWS imzasını Apple'ın sertifika zinciriyle doğrulayın. İşlemi gerçek bir kullanıcıyla eşleştirin. Tüketimi tahmine dayalı değil, kayıtlı kullanımdan hesaplayın. Bir In-App Purchase anahtarıyla kısa ömürlü bir JWT oluşturun. Yanıtı gönderin.

Her şeyin kapısı onaydır. Apple'ın Send Consumption Information belgeleri bu konuda nettir: müşteri tüketim verilerinin paylaşılmasını kabul etmediyse hiç yanıt vermeyin. Bu ifadeyi yayına almadan önce kullanım koşullarınıza ekleyin. Otomatik yenilenen abonelikler, tüketim yüzdesini tamamen reddeder çünkü Apple bunu geçen süreden türetir.

Sandbox size 12 saat yerine 5 dakika verir. Bunu bir ipucu olarak okuyun. Bir kişi değil, bir sunucu.

Karardan Sonra Ne Olur

Talebi ele almak işin yarısıdır. Geliştiricilerin App Store iadelerini nasıl yönettiği, sonraki saate bağlıdır; bu saatte üç şeyin senkronize kalması gerekir:

  • Yetkilendirmeler. REFUND'da erişim kapanır, REFUND_REVERSED'da geri açılır. Bir kullanıcının Pro erişimi iki farklı yetkilendirmeden geliyorsa, önce diğerini kontrol edin. Bu sorunu iadeden sonra erişimi iptal etme konusunda ayrıntılı olarak ele aldık.

  • Gelir kayıtları. İadeler haftalar sonra gelir. Bunları orijinal kohorta atfedin, yoksa LTV'niz kurgudan ibaret olur ve reklam harcamanız da onunla birlikte yanlış yöne gider.

  • Raporlama. Apple'ın ne sorduğunu, ne gönderdiğinizi, kabul edilip edilmediğini ve ne kadar sürdüğünü kaydedin. Bir yanıt göndermek ile bu yanıtın kabul edilmesi farklı şeylerdir. Önemli olan yalnızca ikincisidir.

Bunlardan birini atlarsanız, mobil uygulamaların App Store iadelerini kötü yönetirken iyi yönettiklerini sanmalarının nedeni tam da budur.

Kendiniz Kurun ya da Geliştiriciler için Apple İade Yönetimi Yazılımı Satın Alın

Geliştiriciler için Apple iade yönetimi, tek bir seçime indirgenir: hacim, artı hiç kesintiye uğramaması gereken bir işleyicinin sorumluluğunu kimsenin üstlenmek isteyip istemediği.

Bunu kurmak; JWS doğrulaması, bir kez indirdiğiniz bir In-App Purchase anahtarı, şema değişikliklerine dayanıklı bir işlem-kullanıcı eşlemesi ve sabah 3'teki bir cumartesi için nöbet listesi anlamına gelir. Basit bir hale getirmek günler, güvenilir hale getirmek aylar alır.

Satın almak daha hızlıdır. App Store iade yönetimi araçları üç konuda birbirinden ayrılır: süre içinde otomatik olarak yanıt verip vermedikleri, Google Play'i kapsayıp kapsamadıkları ve elinizde tuttuğunuz parayı mı yoksa yalnızca bir olay kaydını mı gösterdikleri. Bu alanı Apple iade yönetimi araçları: doğru çözümü nasıl seçersiniz yazısında karşılaştırdık.

Hiçbir şey kurmak ve kod yayınlamak istemiyorsanız, Refund Sensor zaten sahip olduğunuz mağaza anahtarları üzerinde çalışan bir App Store iade yönetimi çözümüdür. Her talebi, süre içinde işlem kanıtıyla yanıtlar ve her vakanın sonucunu takip eder. Bağlanması beş dakika sürer, SDK gerekmez, yeniden gönderim gerekmez.

Kaynaklar

Sık sorulan sorular

reportaproblem.apple.com adresine gidin, satın alma işleminde kullanılan Apple ID ile oturum açın, son 90 gün içindeki satın alımı bulun ve bir neden seçin. Apple, müşterilere 48 saat içinde geri dönüş yapacağını belirtir. Uygulama içinde, StoreKit'in iade talebi sayfası aynı formu gösterir.

Hayır. Karar Apple'a aittir. Talep beklemedeyken tüketim kanıtı gönderebilir ve bir tercih belirtebilirsiniz. Ancak nihai karar size ait değildir.

Son 90 gün içindeki satın alımlar reportaproblem.apple.com adresinde görünür. Apple'ın koşullarına göre tüm işlemler kesindir, bu nedenle bir iade Apple'ın takdirine bağlı bir istisnadır.

Genellikle yönetemezsiniz ve bunu dürüstçe söylemek gerekir. Bildirimler bir endpoint gerektirir. Bir sunucunuz yoksa, bu endpoint'i barındıran yönetilen bir hizmet, 12 saat içinde yanıt vermenin tek yoludur.

App Store Connect'te Users and Access (Kullanıcılar ve Erişim) altında, Integrations (Entegrasyonlar) bölümünde oluşturulan bir In-App Purchase anahtarı. Bu, App Store Connect API anahtarınız değildir ve .p8 dosyası yalnızca bir kez indirilir.

Evet. İade, DIDCHANGERENEWALSTATUS ve AUTORENEW_DISABLED ile birlikte gelir, yani para iade edildiğinde yenileme zaten kapatılmış olur.

Her talebi otomatik olarak yanıtlayan ve neyi elinizde tuttuğunuzu raporlayan çözüm. Tek başına çalışan bir geliştirici için bu işleyiciyi oluşturmak makul bir hafta sonu projesidir, ancak sonrasında sürekli izleme gerektirir. Belirli bir hacmin ötesinde, bir iOS uygulaması iade yönetimi çözümü nöbet listesinden daha iyidir.

#Apple Refund Requests#Refund Request Management#App Store Refunds#Mobile App Developers#Apple App Store#App Monetization
Refund SensorRefund Sensor TeamRefund defense for App Store and Google Play developers