Tüm makaleler
Derinlemesine inceleme7 dk okuma

Artık her Apple iade talebi bir gerekçeyle geliyor ve onu okumanın yolu consumptionRequestReason

WWDC24'ten bu yana her Apple CONSUMPTION_REQUEST bir consumptionRequestReason taşıyor, yani müşterinin iade istemek için kendi belirttiği gerekçe. UNINTENDED_PURCHASE'tan LEGAL'a kadar beş değer var ve her biri 12 saatlik pencerenizde geri gönderdiğiniz yanıtı değiştirmeli. İşte her birini nasıl okuyacağınız.

Karanlık bir masanın üzerinde, boş bir kağıt etiketin yanında abonelik ödeme ekranı gösteren bir akıllı telefon, artık her tüketim talebiyle gelen Apple iade talebi gerekçesini gösteriyor

Önemli noktalar

  • WWDC24'te duyurulan App Store Server Notifications sürüm 2.11'den bu yana her CONSUMPTION_REQUEST bildirimi, müşterinin neden iade istediğini belirten bir dize olan consumptionRequestReason içeriyor.
  • Tam olarak beş değer var: UNINTENDED_PURCHASE, FULFILLMENT_ISSUE, UNSATISFIED_WITH_PURCHASE, LEGAL ve OTHER. Apple her talep için bir tane gönderir.
  • Gerekçe iadeyi belirlemez. Bu, 12 saatlik pencere kapanmadan önce refundPreference'ınızı ve tüketim verilerinizi seçmek için kullandığınız bir bağlamdır.
  • CONSUMPTION_REQUEST artık yalnızca tüketilebilirler için değil, otomatik yenilenen abonelikler için de tetikleniyor, bu yüzden consumptionRequestReason iadelerinizin WWDC24 öncesine kıyasla çok daha fazlasına ulaşıyor.
  • FULFILLMENT_ISSUE gerekçesi, kendi teslimatınızın başarısız olmuş olabileceğine dair bir sinyaldir. İtiraz etmek pencereyi yakar ve daha sonra bir ters ibraz davetiyesi çıkarır. Onu kabul etmek genellikle daha ucuz cevaptır.
  • 12 saat içinde customerConsented değeri true olarak ayarlanmış ve GRANT_FULL, GRANT_PRORATED veya DECLINE değerlerinden birinde bir refundPreference ile Send Consumption Information çağırarak yanıt verirsiniz. Apple tercihinizi bir emir olarak değil, bir girdi olarak değerlendirir.
  • Bir iade yine de satın almanın halihazırda tükettiği hesaplama gücüne, API çağrılarına, depolamaya ve ödemelere mal olur. Gerekçe alanı, savunmanızı yalnızca savunmaya değer davalara harcamanızın yoludur.

Apple, iade taleplerinin sunucunuza ulaşma biçimini değiştirdi ve birçok geliştirici bunu hiç fark etmedi. WWDC24'te duyurulan App Store Server Notifications 2.11 güncellemesinden bu yana her CONSUMPTION_REQUEST bildirimi consumptionRequestReason adında bir alan taşıyor. Bu, müşterinin parasını geri istemek için kendi belirttiği gerekçedir. Tek bir düz dize, beş olası değer, yanıtlamak için zaten on iki saatinizin olduğu aynı yükün içinde teslim edilir.

Apple iade talebi gerekçesi tek başına hiçbir şeyi belirlemez. Yaptığı şey, beş çok farklı durumdan hangisinde olduğunuzu size söylemektir, böylece kabul etmeniz gereken bir iadeye ve savaşmanız gereken bir iadeye aynı genel tüketim verilerini göndermeyi bırakırsınız. İşte bu alanın ne olduğu, Apple'ın gönderebileceği tam değerler, her birinin neyi işaret ettiği ve döndürdüğünüz tercihi ve kanıtı nasıl değiştirmesi gerektiği.

consumptionRequestReason aslında nedir

consumptionRequestReason, bir CONSUMPTION_REQUEST bildiriminin data nesnesindeki bir dize alanıdır. Apple bunu, iade akışındaki WWDC24 değişiklikleriyle birlikte App Store Server Notifications sürüm 2.11'de ekledi. Bundan önce talep, imzalı işlemle birlikte ve neden hakkında hiçbir şey olmadan geliyordu. Kör yanıtlıyordunuz. Artık müşterinin belirttiği gerekçe talep ile birlikte geliyor.

Belirtilen kelimesini dikkatle okuyun. Bu, müşterinin Apple'a başvuruda bulunurken seçtiği gerekçedir, Apple'ın doğruladığı bir olgu değil. UNINTENDED_PURCHASE, satın almanın kullanılmadığını kanıtlamaz ve UNSATISFIED_WITH_PURCHASE, ürünün bozuk olduğunu kanıtlamaz. Değer bir mercektir, bir karar değil. Onu yine de kendi teslimat ve kullanım kayıtlarınızla eşleştirirsiniz.

Zaten işlediğiniz bildirimin içinde geliyor

CONSUMPTION_REQUEST, geliştiriciden kanıt isteyen tek Apple akışıdır. Google Play'deki karşılığı, orders.reviewrefund üzerinden yapılan ters ibraz incelemesidir. Biri geldiğinde, işlem tüketim uç noktasına bir PUT olan Send Consumption Information'ı çağırarak yanıt vermek için 12 saatiniz vardır. consumptionRequestReason artık aynı bildirimin bir parçasıdır, bu yüzden abone olunacak yeni bir şey yoktur. CONSUMPTION_REQUEST'i zaten ayrıştırıyorsanız, gerekçe muhtemelen görmezden geldiğiniz tek bir alandır.

Beş gerekçe ve her birinin size söylediği şey

Apple tam olarak beş değeri belgeliyor. Her talep için bir tane gelir. İşte tüm küme ve her birini pratikte nasıl okuyacağınız.

DeğerMüşterinin belirttiği şeySizin için genellikle ne anlama gelir
UNINTENDED_PURCHASESatın almak istemedilerGenellikle kazara veya aile içi bir dokunuş. Karar vermeden önce teslimatı ve tüketimi kontrol edin.
FULFILLMENT_ISSUEAlamadılar veya kullanamadılarKendi teslimatınıza işaret eder. İtiraz etmeden önce günlüklerinizi doğrulayın.
UNSATISFIED_WITH_PURCHASEMemnun kalmadılarAlıcı pişmanlığı. Burada tüketim kanıtınız en fazla ağırlığı taşır.
LEGALYasal bir gerekçe öne sürdülerBir kabul olarak değerlendirin. Yasal bir talebe itiraz etmek pencereye değmez.
OTHERYukarıda listelenmeyen herhangi bir gerekçeTek başına sinyal vermez. Teslimat ve kullanım verilerinize dayanın.

UNINTENDED_PURCHASE kazara dokunuş kovasıdır

Bu, bir çocuğun 10,000 jeton satın almasının ardından bir ebeveynin seçtiği ya da onayı yanlış tuşlayan bir yetişkinin seçtiği gerekçedir. Hiç açılmayan veya kullanılmayan satın almalarla ilişkilidir. Kendi verilerinizin önemli olmasının nedeni tam olarak budur. Kayıtlarınız tüketilebilirin tamamen teslim edildiğini ve yoğun biçimde tüketildiğini gösteriyorsa, istem dışı satın alma iddiası ile tamamen harcanmış bir bakiye birbiriyle örtüşmez ve bu boşluğu consumptionPercentage aracılığıyla bildirmeye değer.

FULFILLMENT_ISSUE size işaret eder

FULFILLMENT_ISSUE, kısmen müşteriyle değil, uygulamanızla ilgili olan tek gerekçedir. Müşterinin, ödediği şeyi alamadığını veya kullanamadığını söylediği anlamına gelir. Refleksle itiraz etmeden önce teslimat günlüklerinizi çekin. Kendi sunucunuz yetkinin hiç etkinleşmediğini veya kredilerin hiç yansımadığını gösteriyorsa müşteri haklıdır ve DECLINE yanlış tercihtir. Gerçek bir yerine getirme başarısızlığıyla savaşmak pencereyi boşa harcar ve müşteriyi bankasına itebilir, orada bir ters ibraz iadenin maliyetinden daha pahalıya gelir.

UNSATISFIED_WITH_PURCHASE kanıtın karar verdiği yerdir

Bu sıradan bir alıcı pişmanlığıdır ve tüketim verilerinizin en çok iş gördüğü gerekçedir. Ürün çalıştı. Müşteri onun bir kısmını veya tamamını kullandı ve şimdi parasını geri istiyor. Yüksek bir consumptionPercentage, dürüst bir DELIVERED deliveryStatus ve DECLINE veya GRANT_PRORATED değerinde bir refundPreference, Apple'ın kurmanızı istediği davadır. Bir argüman değil, sayıları gönderin.

LEGAL ve OTHER

LEGAL, müşterinin yasal veya düzenleyici bir hakkı öne sürdüğü anlamına gelir. Makul insanlar aynı fikirde olmayabilir, ancak kural olarak burası dava açacak pencere değildir. Kabul edin ve devam edin. OTHER, belirtilen gerekçe yukarıdaki dördünden hiçbirine uymadığında Apple'ın kullandığı genel kategoridir. Tek başına sinyal taşımaz, bu yüzden bir OTHER'a, hiç gerekçesi olmayan bir talebe davranacağınız gibi davranın: teslimat durumunuz ve kullanım kanıtınızla başlayın.

Bir telefonun yanında karanlık bir masanın üzerine yelpaze gibi açılmış beş boş katlanmış kart, bir müşterinin gönderebileceği beş consumptionRequestReason değerini temsil ediyor

Gerekçe yanıtınızı nasıl değiştirir, alan alan

Bir CONSUMPTION_REQUEST'e, bir ConsumptionRequest gövdesiyle Send Consumption Information'ı çağırarak yanıt verirsiniz. Gerekçe, bu gövdedeki üç alanı biçimlendirmelidir.

customerConsented true olmak zorunda

Apple gönderimi yalnızca customerConsented true olduğunda kabul eder, yani müşteri tüketim verilerini paylaşmayı kabul etmiştir. Bu onaya sahip değilseniz, gerekçe ne olursa olsun hiç veri gönderemezsiniz. Onay yok, kanıt yok ve talep sizin sayılarınız olmadan karara bağlanır.

deliveryStatus ve consumptionPercentage gerçekleri taşır

deliveryStatus, çalışan bir satın alma teslim edip etmediğinizi söyler. DELIVERED dışında bir şeyse, Apple consumptionPercentage'ın 0 olmasını gerektirir. Teslim ettiyseniz, consumptionPercentage 0 ile 100,000 arasında milliunits cinsinden bir tam sayıdır; burada 100,000, müşterinin satın almanın tamamını kullandığı anlamına gelir. Bu çift sizin olgusal çekirdeğinizdir ve bir FULFILLMENT_ISSUE veya bir UNSATISFIED_WITH_PURCHASE davasını taşıması gereken şey odur, gerekçenin kendisi değil.

refundPreference tek kolunuzdur

refundPreference, ne istediğinizi belirttiğiniz yerdir. Apple üç değeri belgeliyor: GRANT_FULL, GRANT_PRORATED ve DECLINE. Gerekçeyi okuyun, verilerinize karşı tartın, sonra seçin. Günlüklerinizde başarısız bir teslimatla FULFILLMENT_ISSUE, GRANT_FULL'e eğilim gösterir. Tamamen tüketilmiş bir üründe UNSATISFIED_WITH_PURCHASE, DECLINE veya GRANT_PRORATED'e eğilim gösterir. LEGAL, GRANT_FULL'e eğilim gösterir.

Bir iade size gerçekte neye mal olur

Gerekçe alanı önemlidir çünkü bir iade nadiren yalnızca satışın defterinizden düşmesidir. Halihazırda çalışmış bir tüketilebilir için, onu yerine getirmek için ödeme yaptınız. Ücretli bir çıkarım API'sini çağıran bir kredi paketi, GPU süresini yakan bir grup üretilmiş görsel, depolama faturanızda duran kayıtlı bir dışa aktarma, halihazırda gönderdiğiniz bir içerik üreticisi ödemesi: satın alma geri alındığında bu maliyetler harcanmış olarak kalır. Mağaza müşterinin parasını geri verir. Sizin hesaplama gücünüzü geri vermez.

İşte bu yüzden gerekçeyi okumaya değer. Diyelim ki bir müşteri her biri ücretli bir API çağrısını tetikleyen 5,000 kredi satın aldı, bunların 4,000'ini harcadı, sonra UNSATISFIED_WITH_PURCHASE altında başvuruda bulundu. deliveryStatus'unuz DELIVERED, consumptionPercentage'ınız 80,000 milliunits ve bir DECLINE veya GRANT_PRORATED tercihi, API faturasını yemek ile büyük kısmını geri almak arasındaki farktır. Şimdi gerekçeyi, kredilerin hiç yansımadığını gösteren günlüklerle FULFILLMENT_ISSUE'ya çevirin ve dürüst, daha ucuz hamle, müşteri bankasına başvurmadan önce GRANT_FULL'dir.

Gerekçeyi abartmadan okumak

Tuzak, gerekçeyi kanıt olarak ele almaktır. UNINTENDED_PURCHASE, ürünün kullanılmadığına dair bir itiraf değildir ve LEGAL her zaman gerçek bir yasal iddia değildir. Gerekçe durumu daraltır. Teslimat günlükleriniz ve tüketim kayıtlarınız onu çözer. Müşteriyle örtüştüklerinde, erken ve ucuza kabul edin. Müşteriyle çeliştiklerinde, deliveryStatus ve consumptionPercentage olarak ifade edilen o çelişki, gönderebileceğiniz en güçlü şeydir. RefundHalt, her CONSUMPTION_REQUEST'te consumptionRequestReason'ı okur ve onu gerçek kullanım verilerinizle otomatik olarak eşleştirir, böylece her gerekçe 12 saatlik pencerede hak ettiği yanıtı alır.

Değişiklik küçük ve gözden kaçması kolay, ama iade konuşmasını sizin lehinize kaydırdı. Apple artık size, siz yanıt vermeden önce nedenini söylüyor. Bunu kullanın.

Sık sorulan sorular

consumptionRequestReason nedir?
consumptionRequestReason, Apple'ın her CONSUMPTION_REQUEST bildirimine dahil ettiği bir dize alanıdır; WWDC24'te App Store Server Notifications sürüm 2.11'de eklendi. Müşterinin iade isteme gerekçesini belirtir ve 12 saatlik pencere içinde tüketim verileriyle yanıt vermeden önce size bağlam sağlar.
consumptionRequestReason'ın olası değerleri nelerdir?
Beş tanedir: UNINTENDED_PURCHASE, FULFILLMENT_ISSUE, UNSATISFIED_WITH_PURCHASE, LEGAL ve OTHER. Apple her iade talebi için tam olarak bir tane gönderir. Her biri, kazara bir dokunuştan belirtilen bir yasal gerekçeye kadar farklı bir duruma işaret eder ve her biri geri gönderdiğiniz refundPreference'ı ve tüketim verilerini biçimlendirmelidir.
İade gerekçesi parayı tutup tutmayacağıma karar verir mi?
Hayır. consumptionRequestReason bir bağlamdır, bir karar değil. Apple iadeye yine kendisi karar verir; refundPreference'ınızı, deliveryStatus ve consumptionPercentage değerlerinizi ve müşterinin geçmişini tartar. Gerekçe size hangi davayı kuracağınızı söyler. Onu kuran şey ise teslimat ve kullanım verilerinizdir.
Bir CONSUMPTION_REQUEST'e yanıt vermek için ne kadar sürem var?
CONSUMPTION_REQUEST bildirimini aldığınız andan itibaren Send Consumption Information'ı çağırmak için 12 saatiniz vardır. Çağrı customerConsented değerini true olarak ayarlamalıdır, aksi halde Apple onu reddeder. Pencereyi kaçırırsanız iade, verilerinizin hiçbiri olmadan karara bağlanır.
consumptionRequestReason abonelik iadelerinde görünür mü?
Evet. consumptionRequestReason'ı ekleyen aynı WWDC24 güncellemesi, yalnızca tüketilebilirler için değil, otomatik yenilenen abonelikler için de CONSUMPTION_REQUEST göndermeye başladı. Çoğu uygulama için bu, gerekçe alanının artık finansal olarak en önemli iadelere ulaştığı anlamına gelir.

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.