App Store Refund Management

Apple App Store İade Talebine Adım Adım Nasıl Yanıt Verilir

Apple App Store iade talebini ele almanın ve müşterilere profesyonelce yanıt vermenin adım adım sürecini öğrenin.

5 min read
Apple App Store İade Talebine Adım Adım Nasıl Yanıt Verilir

Uzun bir süre "Apple iade talebine nasıl yanıt veririm" sorusunun dürüst cevabı, yanıt vermediğinizdi. Apple ödemeyi alır, talebi alır, kararını verir ve bir geliştiricinin bundan haberi olan ilk an, daha düşük bir ödeme olurdu. 2021'den beri bu doğru değil, gerçi hâlâ pek çok kişi böyle olduğunu düşünüyor.

Artık Apple, karar vermeden önce sunucunuza satın alma hakkında ne bildiğini sorar ve yanıtı almak için yaklaşık 12 saat bekler. CONSUMPTION_REQUEST'in gerçekte ne içerdiğini daha önce ele almıştık, bu yüzden veri yükünü alan alan tekrar etmeyeceğim. Bu yazı, bir talep geldiğinde ne yapılması gerektiğiyle ilgili.

Önemli Noktalar

  • Her App Store iadesine Apple karar verir. Gönderdiğiniz veriler bunu değiştirmez ama Apple'ın karar verirken bildiklerini değiştirir.

  • Talep, sadece tüketilebilir ürünler ve otomatik yenilenen abonelikler için bir CONSUMPTION_REQUEST bildirimi olarak gelir.

  • Send Consumption Information endpoint'i üzerinden yanıt vermek için 12 saatiniz var ve bu endpoint artık beş alan istiyor.

  • Yanıt büyük ölçüde üç olguya dayanır: teslim edildi mi, ne kadarı kullanıldı, önceden ücretsiz bir tat aldılar mı. Ayrıca sizin tercihiniz.

  • Deneyimlerimize göre, geliştiricilerin kaybettiği iadeler büyük ölçüde kimsenin yanıtlamadığı taleplerdir.

Apple App Store İade Talebi Nedir?

Apple App Store iade talebi, bir müşterinin bir uygulama veya uygulama içi satın alma için Apple'dan parasını geri istemesidir. Sizden istemez. reportaproblem.apple.com adresine gider veya uygulama içi iade ekranını kullanır, kısa bir menüden bir sebep seçer, satın almayı belirler ve gönderir. Apple'ın destek sayfası onlara 24 ile 48 saat içinde yanıt almayı bekleyebileceklerini söyler.

Satın alma tüketilebilir bir ürün veya otomatik yenilenen bir abonelikse, Apple sunucunuza sinyal gönderir, ne bildiğinizi sorar, ardından yanıtınızı sizden çok daha iyi bildiği müşterinin kendi satın alma ve iade geçmişiyle birleştirir ve kararı verir. Müşterinin adını göremezsiniz ve veto hakkınız yoktur. Elinizde olan şey, ortaya gerçekler koymak için kısa bir zaman dilimidir.

Apple İade Süreci Geliştiriciler İçin Nasıl İşler?

Geliştiriciler için Apple iade süreci dört aşamada işler ve siz bunlardan sadece birine dokunursunuz.

  1. Müşteri Apple'dan iade ister ve bir sebep seçer.

  2. Apple, App Store Connect'te kayıtlı sunucu URL'nize bir CONSUMPTION_REQUEST gönderir. Bu, sadece tüketilebilir ürünler ve otomatik yenilenen abonelikler için gerçekleşir.

  3. Verilerinizle Send Consumption Information endpoint'ini çağırmak için 12 saatiniz vardır.

  4. Apple kararını verir, sonra size bir REFUND veya REFUND_DECLINED bildirimiyle haber verir.

App Store Server Notifications için hiçbir zaman bir sunucu URL'si ayarlamadıysanız, ikinci aşama sessizce gerçekleşmez. Apple kararını sadece müşterinin hesabına göre verir ve siz bunu, okuyorsanız, satış raporundan öğrenirsiniz.

Bir Müşteri İade Talep Ettikten Sonra Ne Olur?

Müşteri gönderdikten kısa bir süre sonra, endpoint'iniz notificationType'ı CONSUMPTION_REQUEST olan imzalı bir JSON veri yükü alır. İçinde: imzalı işlem, ürün kimliği, orijinal işlem kimliği ve bir consumptionRequestReason bulunur. Apple bu sebebi 2024'te ekledi ve App Store sunucu API'leri üzerine WWDC24 oturumunda açıkladı. Beş olası değer vardır: UNINTENDED_PURCHASE, FULFILLMENT_ISSUE, UNSATISFIED_WITH_PURCHASE, LEGAL ve OTHER.

Eksik olan şey kişinin kendisidir. Kayıtlarınıza geri dönen tek bağlantı, işlem kimliği ve satın alma sırasında eklediyseniz appAccountToken'dır. Eklemediyseniz, eklemiş olmayı dileyeceğiniz an tam da budur.

Yani inceleme aslında bir sorgulamadır: bunu kim satın aldı, aldığını teslim aldı mı ve o zamandan beri onunla ne yaptı?

Apple İade Talebine Nasıl Yanıt Verilir

Apple iade talebi bildirimlerine nasıl yanıt verileceğini arayan kişiler çoğunlukla API referansını buluyor. İşte sırayla adımlar.

1. Veri Yükünü Doğrulayın

Apple her bildirimi imzalar. İçeriğindeki hiçbir şeye inanmadan önce imzayı kontrol edin. Apple'ın App Store Server Library'si bunu Java, Python, Node ve Swift'te yapar.

2. Satın Almayı Bulun

Satın almayı kendi sisteminizde bulmak için işlem kimliğini veya appAccountToken'ı kullanın. İhtiyacınız olan şey kullanıcı, teslimat kaydı ve o zamandan beri kaydettiğiniz her türlü kullanımdır.

3. Sebebi Okuyun, Sonra Kontrol Edin

FULFILLMENT_ISSUE, müşterinin ödediği şeyi hiç almadığını söylediği anlamına gelir. Önce teslimat günlüklerinizi kontrol edin, çünkü haklılarsa bu iadenin gerçekleşmesini istersiniz.

UNINTENDED_PURCHASE genellikle bir çocuk veya yanlış dokunma anlamına gelir.

UNSATISFIED_WITH_PURCHASE, kullanım verilerinizin gerçek bir ağırlık taşıdığı durumdur, çünkü "beğenmedim" ifadesi %2 kullanımda ile %100 kullanımda çok farklı görünür.

4. Bir Tercih Belirleyin

Apple, GRANT_FULL, GRANT_PRORATED veya DECLINE değerlerini kabul eder. Verilerinizin desteklediği değeri seçin. Bu bir tercihtir ve Apple, geliştiricilerin reddedilmesini istediği pek çok iadeyi onaylamıştır.

5. Gönderin

Send Consumption Information endpoint'ini çağırın. Güncel istek gövdesinde beş alan bulunur: customerConsented, deliveryStatus, consumptionPercentage, sampleContentProvided ve refundPreference.

Tüketim milliunit cinsindendir ve bu durum çoğu kişiyi yanıltır: 100000 tamamen kullanıldığı, 45200 ise %45.2 anlamına gelir.

Ve customerConsented değerinin true olması gerekir, bu nedenle kullanım verilerini paylaşma izni, ilk talep gelmeden çok önce kullanım koşullarınızda yer almalıdır.

6. Sonuca Göre Hareket Edin

REFUND, içeriğin veya hakkın geri alınması anlamına gelir, tercihen bir saat içinde. REFUND_DECLINED ise hiçbir şeyin değişmediği anlamına gelir. Her iki durumda da sonucu ilgili vakaya kaydedin.

Birinin saat 23:00'te 500 coin'lik bir paket satın aldığını, gece boyunca bunun 470'ini kullandığını ve ertesi sabah UNSATISFIED_WITH_PURCHASE altında talep açtığını düşünün. Teslim edildi, %94'ü kullanıldı, deneme yok, tercih DECLINE. İşte eksiksiz bir Apple iade talebi yanıtı budur. Bir makale değil.

Geliştiriciler Yanıt Vermeden Önce Hangi Bilgileri Kontrol Etmeli?

Beş şey, bunların çoğu zaten veritabanınızda olmalı.

Satın Alma Kaydı

Tarih, ürün, fiyat ve bu hesabın sizden daha önce satın alma yapıp yapmadığı. Kayıtlarınız yetersizse, Apple'ın Get Transaction History endpoint'i, başlangıç noktası olarak işlem kimliklerinden biri verildiğinde, bu müşterinin uygulamanızda satın aldığı her şeyi döndürür.

Teslimat

Sunucunuz coin'leri gerçekten verdi mi, özelliği açtı mı, aboneliği başlattı mı ve ne zaman? Bu çağrı başarısız olduysa, deliveryStatus'ünüz UNDELIVERED değerlerinden biridir ve iade hak edilmiştir. Kendi günlüklerinizle tartışmayın.

O Zamandan Beri Kullanım

Oturumlar, açılan bölümler, harcanan coin'ler, ürününüz için "kullanmak" ne anlama geliyorsa. Apple sadece bir yüzde ister, ama altındaki olaylar olmadan savunabileceğiniz bir yüzde üretemezsiniz.

Önceden Bir Tat Alıp Almadıkları

Yani ücretsiz bir deneme, önizleme bölümü veya ücretsiz bir katman. Apple bunu doğrudan sorar ve bir "evet" yanıtı, "ne satın aldığımı bilmiyordum" anlatısını zayıflatır.

Sizin Taraftaki Hesap

Ne kadar eski olduğu, daha önce iade yapıp yapmadığınız, açık bir destek talebi olup olmadığı. Apple o geçmişin App Store tarafını görür. Siz de kendi tarafınızı görürsünüz.

Bunların hepsi, Apple'ın işlem kimliğini sisteminizdeki bir kullanıcıyla eşleştirmeye bağlıdır ki appAccountToken'ın var olma sebebi de budur. Bulduğumuz en yaygın boşluk budur ve kurulum detaylarını istiyorsanız appAccountToken'ın iade savunması için neden önemli olduğu hakkında yazdık.

Geliştiricilerin Apple İade Taleplerinde Yaptığı Yaygın Hatalar

Bildirim Hiç Gelmiyor

App Store Connect'te bir sunucu URL'si yok, ya da var ama birinin Mart ayında devre dışı bıraktığı bir staging sunucusuna işaret ediyor. Apple göndermeye devam ediyor. Ama kimse evde değil.

Geç Yanıt Vermek

On iki saat, bir Pazar günü saat 02:00'de bir talep gelip bu işlerle ilgilenen kişi uyuyor, sonra brunch'ta, sonra bir Slack mesajından belli belirsiz haberdar oluyor haline gelene kadar bol bir süre gibi görünür. Mesai saatleri etrafında kurulmuş bir süreç, tasarım itibarıyla taleplerin bir kısmını kaçırır.

Söyleyecek Hiçbir Şeyin Olmaması

Bildirim gelir ve ortada teslimat günlüğü, kullanım olayı, appAccountToken yoktur. Apple kararını müşterinin sözüne göre verir. Bu hata aylar önce, ödeme sırasında yapılmıştır.

Apple'dan Her Şeyi Reddetmesini İstemek

Geliştiricinin kendi günlüklerinin teslimatın başarısız olduğunu gösterdiği talepler de dahil olmak üzere, her talebe DECLINE gönderen kurulumlar gördük. Apple bu örüntüyü görebilir ve bu, gerçekten geçerli bir durumunuzun olduğu taleplerde güvenilirliğinize mal olur.

Onaylanan Bir İadenin Ardından Erişimi Geri Almayı Unutmak

Bu, iki kez maliyete yol açan hatadır. Para gitmiştir ve müşteride içerik hâlâ durmaktadır, bazıları da bunu fark eder.

Canlı Ortamda Test Etmek

Apple size bir test bildirimi endpoint'i ve sandbox iade talepleri sunar. İlk gerçek talep uygunsuz bir saatte ortaya çıkmadan önce ikisini de kullanın.

Apple İade Yönetimi: Manuel mi, Otomatik mi?

Apple iade yönetimi, o 12 saatlik zaman dilimi etrafındaki her şeyi kapsar: talebi almak, veriyi bulmak, bir tercih belirlemek, yanıtı göndermek, sonucu kaydetmek, gerektiğinde erişimi geri almak.

Manuel

El ile yapıldığında, bu günlük erişimi ve bir uyarısı olan tek bir kişi demektir. Ayda bir avuç talep için gayet iyi işler, tabii o kişi hiç bir hafta izin almazsa.

Haftada yirmiye yaklaşıldığında işler kaymaya başlar. Yüze geldiğinde ise bu bir iş hâline gelir, hem de kimsenin istediği türden bir iş değil.

Otomatik

Otomatikleştirildiğinde, sorgulama ve yanıt bir kez yazdığınız kurallara göre çalışır. Tamamen tüketilmiş bir ürün DECLINE alır, başarısız bir teslimatla gelen FULFILLMENT_ISSUE GRANT_FULL alır ve sıra dışı olan her şey bir insan için işaretlenir.

Yanıtlar dakikalar içinde gider, saat 02:00'de de 14:00'te olduğu kadar güvenilir şekilde.

Ama bir incelik var: otomasyon, altındaki veri kadar iyidir. Eksik teslimat ve kullanım kayıtları sadece "bilinmiyor" yanıtını daha hızlı gönderir.

Geliştiriciler Apple İade Yönetimi Yazılımını Ne Zaman Düşünmeli?

Açıkçası, başlangıçta değil. Ayda iki üç talep bir kontrol listesi ve yüksek sesli bir uyarıyla halledilebilir ve birkaçını elle yapmak size çok şey öğretir.

Talepler bir kişinin zaman dilimi içinde halledebileceğinden daha hızlı gelmeye başladığında veya kimsenin uyanık olmadığı saatlerde geldiğinde mantıklı olmaya başlar. Birden fazla uygulama işletiyorsanız veya Apple ile Google Play'i yan yana yönetiyorsanız ve üç liste yerine bir liste istiyorsanız da işe yarar.

Apple iade yönetimi yazılımı, manuel süreç talepleri kaçırmaya başladığında kendini kanıtlar. Bunun ne zaman olduğunu anlarsınız: arka arkaya üç talebi kaçırıp bunu sadece ödeme tutarından öğrendiğiniz hafta budur.

Apple İade Savunma Yazılımı: Geliştiriciler Neye Bakmalı?

Apple iade savunma yazılımlarını karşılaştırıyorsanız, altyapıdan başlayın: CONSUMPTION_REQUEST'i kendisi mi alıyor ve rutin durumlara araya bir insan girmeden mi yanıt veriyor? Ne kadar hızlı, gece yarısı ve hafta sonları da dahil? Doğru cevap dakikalardır, zaman damgalarını görmek isteyin.

Kanıt

Teslimat ve kullanım verilerinizi çekebiliyor veya alabiliyor mu, yoksa sadece bildirimi bir tercih ekleyerek geri mi yansıtıyor? İkinci türden olanlar pek bir şeye yaramaz.

Ayrıca e-postaları ayrıştırmak üzerine değil, App Store Server API ve Server Notifications V2 üzerine inşa edilmiş olmalıdır.

Görünürlük

Bir talep geldiğinde, bir yanıt gönderildiğinde ve Apple karar verdiğinde bildirimler.

Her talep için yanıtın ve sonucun bir arada bulunduğu bir vaka.

Her uygulama ve her ürün için iade oranları, kazanma oranları ve sebepler hakkında raporlama.

Kimin veya neyin hangi yanıtı ne zaman gönderdiğine dair bir denetim izi.

Kontrol ettiğiniz kurallar, böylece mantığınızı değiştirmek bir deploy gerektirmez.

Fiyatlandırma

Fiyatlandırma da farklılık gösterir: sabit aylık ücretler, talep başına ücretler ve geri kazanım yüzdesine dayalı modeller, her biri farklı hacimlerde mantıklı olur.

Hiçbirinin yapamayacağı bir şey var: iade taleplerinin oluşmasını önlemek veya Apple'ın nasıl karar vereceğini garanti etmek. Aksini iddia eden biri size bir şey satmaya çalışıyordur.

Apple İade Taleplerine Yanıt Vermek İçin En İyi Uygulamalar

Bunu nöbet listesinin yanına iğneleyin.

  • App Store Server Notifications V2 için canlı ortam sunucu URL'si kaydedin ve sessizleştiğinde uyarı alın.

  • appAccountToken'ı her satın almada ayarlayın. Her birinde.

  • Teslimatı bir zaman damgası ve sonuçla, ayrıca "kullandılar" anlamına gelen bir avuç kullanım olayıyla kaydedin.

  • Kullanım verilerini paylaşma onayını şimdiden kullanım koşullarınıza ekleyin.

  • Yanıtın "onaylayın" olduğu durumlar dahil, her talebe 12 saat içinde yanıt verin.

  • DECLINE'ı sadece verileriniz bunu desteklediğinde isteyin. Apple örüntüleri fark eder.

  • Her REFUND bildiriminde erişimi aynı gün geri alın.

  • Ayda bir, taleplerin gerçekte ne kadarını yanıtladığınızı kontrol edin. Bu sayı, iade oranınızı her şeyden daha fazla etkiler.

Apple İade Yönetimi Yazılımını Kullanmaya Değer mi?

Düşük hacimde, muhtemelen değmez. Talepler bir kişinin güvenilir şekilde yanıtlayabileceğinden daha hızlı gelmeye başladığında veya mesai saatleri dışında gelmeye başladığında, otomatik yanıt veren bir yazılım genellikle kendini amorti eder.

Bütün bunlardan alınacak tek bir alışkanlık varsa, o da her talebe, gerçek verilerle, süre dolmadan önce yanıt vermektir. Bir abonelik ses uygulaması olan Dipsea, yanıt vermeye başladıktan sonra yaklaşık iki hafta içinde %3'lük iade oranından %1.9'a düştü ve Apple'dan hiçbir şeyi reddetmesini istemedi. Sessiz kalan uygulamalar, ne kadarını koruyabileceklerini hiçbir zaman öğrenemez.

Sık sorulan sorular

Bir müşterinin, genellikle reportaproblem.apple.com üzerinden, bir uygulama veya uygulama içi satın alma için Apple'dan para iadesi istemesidir. Apple, müşterilere 24 ile 48 saat içinde yanıt almayı beklemelerini söyler. Tüketilebilir ürünler ve abonelikler için önce geliştiriciden bilgi ister.

Bildirimi doğrulayın, satın almayı kendi kayıtlarınızda bulun, teslimatı ve kullanımı kontrol edin, bir tercih belirleyin ve 12 saat içinde Apple'ın Send Consumption Information endpoint'ini çağırın. Ardından Apple'ın verdiği karara göre hareket edin.

Hayır. Apple'a reddedilmesini tercih ettiğinizi söyleyebilir ve bunu destekleyen veriler gönderebilirsiniz. Ancak kararı yine de Apple verir ve geliştiricilerin reddedilmesini istediği iadeleri de onaylayabilir, nitekim onaylamaktadır.

Beş şey: müşterinin veri paylaşımına onay verip vermediği, satın almanın teslim edilip edilmediği, ne kadarının tüketildiği, müşterinin ücretsiz bir örnek veya deneme alıp almadığı ve sizin iade tercihiniz. Güncel istek gövdesinin tamamı bundan ibaret.

CONSUMPTION_REQUEST'ten itibaren on iki saat. Apple, verilerinizin karara dahil edilmesini istiyorsanız bu süre içinde yanıt vermenizi söyler.

#Apple App Store Refund#Apple Refund Request#App Store Refund#Apple App Store#Refund Request Guide
Refund SensorRefund Sensor TeamRefund defense for App Store and Google Play developers