Tüm makaleler
Deep dive9 dk okuma

Sunucunun zaten aldığı iade neden kodunu oku, uygulamanı mı düzelteceğini yoksa müşteriye mi karşı çıkacağını sana söyler

Apple ve Google'ın sunucuna gönderdiği her iade bir neden kodu taşır. Google Play her iptale dokuz nedenden birini ve bir kaynak damgalar, Apple ise iadenin uygulamanı suçlayıp suçlamadığını işaretler. İşte her kodun ne anlama geldiği, bunları düzelt, itiraz et ya da kabul et olarak nasıl ayıracağın ve parasal olarak ne değer taşıdıkları.

Bir büyütecin yanında kağıt bir etikete lastik damgayla basılmış bir kod işareti, sunucunun her iadede aldığı iade neden kodunu temsil ediyor

Önemli noktalar

  • Apple ya da Google'ın sunucuna gönderdiği her iade bir iade neden kodu taşır ve bu, para çoktan hareket ettikten sonra bile okuyabildiğin, iadenin tek parçasıdır. İadenin neden olduğunu söyler, o da sana bundan sonra ne yapacağını söyler.
  • Google Play'in Voided Purchases API'si her iptale iki sayı damgalar: 0'dan 8'e bir voidedReason (diğer, pişmanlık, teslim alınmadı, kusurlu, kazara satın alma, dolandırıcılık, dost dolandırıcılığı, ters ibraz, onaylanmamış satın alma) ve 0 kullanıcı, 1 geliştirici ya da 2 Google olan bir voidedSource.
  • Apple sana daha dar ama keskin bir sinyal verir. İadesi yapılmış bir işlemde, App Store uygulamanın içindeki gerçek ya da algılanan bir sorun nedeniyle iade yaptığında revocationReason 1 olur, kazara satın alma gibi başka bir nedenle iade yaptığında ise 0 olur.
  • Kodlar üç yığına ayrılır. Kusurlu, teslim alınmadı, onaylanmamış ve Apple'ın uygulama-içi-sorun kodu ürününü işaret eder, bu yüzden onları düzeltirsin. Dolandırıcılık, dost dolandırıcılığı ve ters ibraz, itiraz ettiğin ya da önlediğin uyuşmazlıklardır. Pişmanlık ve kazara satın alma ise durdurmanın hiçbir zaman senin elinde olmadığı şeylerdi.
  • voidedReason 8, onaylanmamış satın alma, kendi kendine kestiğin bir iadedir. Google, uygulamanın üç gün içinde onaylamadığı her satın almayı otomatik olarak iade eder ve geri alır ve bu kod, kendi entegrasyonundaki o hatayı bulma yolundur.
  • voidedReason 7, ters ibraz, pahalı olandır. August 3, 2026 tarihinde ya da sonrasında verilen Google Play siparişlerinde, kaybedilen bir ters ibraz geliştiriciye satın alma fiyatından Play'in hizmet ücreti düşüldükten sonraki tutara ek olarak bankanın ters ibraz ücretine mal olur, dolayısıyla ters ibraz koduyla işaretlenmiş iptallerini saymak, gerçek bir ek maliyeti saymaktır.
  • Voided Purchases API yalnızca 30 gün geriye bakar ve satın almanın ne zaman gerçekleştiğine göre değil, Google'ın iptali ne zaman gördüğüne göre filtreler, bu yüzden o pencere içinde yakalamadığın bir neden kodu, sonsuza dek kaybettiğin bir neden kodudur.

Apple ya da Google müşterilerinden birine iade yaptığında, para genellikle sen daha bir söz hakkı bulamadan çoktan gitmiştir. Sonrasında sunucuna düşen şey bir makbuza benzer ve çoğu ekip ona bir makbuz gibi davranır. Bundan fazlasıdır. Her iade bir iade neden kodu taşır ve bu, karar verildikten sonra bile hâlâ okuyabildiğin, iadenin tek parçasıdır. Google Play sana iadenin bir ters ibraz mı, bir pişmanlık talebi mi, yoksa kendi uygulamanın hiç onaylamadığı bir satın alma mı olduğunu söyler. Apple sana iadenin uygulamanın içindeki bir şeyi suçlayıp suçlamadığını söyler. O kodu oku, iade bir raporda bir satır olmayı bırakır ve bir talimata dönüşür: şunu düzelt, şuna itiraz et ya da şunu bırak gitsin. İşte her kodun ne anlama geldiği, bunları nasıl ayıracağın ve her birinin neye mal olduğu.

İade neden kodu aslında nedir

Bir iade neden kodu, bir satın almanın neden geri alındığına dair mağazanın kendi etiketidir. Onu sen belirlemezsin ve onunla tartışamazsın. İadeye, iş işten geçtikten sonra iliştirilmiş olarak gelir ve iki mağaza onu farklı biçimlerde ve çok farklı bir çözünürlükte sunar.

Google Play her iptale bir neden ve bir kaynak damgalar

Google Play'in Voided Purchases API'si, geri alınan her satın alma için bir kayıt döndürür ve her kayıt önemli olan iki tam sayı taşır. voidedReason satın almanın neden iptal edildiğini söyler. voidedSource onu kimin harekete geçirdiğini söyler. İkisi birlikte çıplak bir iadeyi bir cümleye dönüştürür: bu sipariş bir ters ibraz nedeniyle, Google tarafından başlatılarak iptal edildi ya da pişmanlık olarak, kullanıcı tarafından başlatılarak iptal edildi. Bunları API'yi yoklayarak ya da bir iptal düştüğünde tetiklenen gerçek zamanlı geliştirici bildirimine abone olarak okursun. Her iki durumda da, saklamaya değer yük bu iki sayıdır.

Apple sana daha dar ama keskin bir sinyal verir

Apple sana dokuz yönlü bir neden vermez. İadesi yapılmış bir işlemde Apple, revocationReason'ı iki değerden birine ayarlar. Bir 1, App Store'un işlemi uygulamanın içindeki gerçek ya da algılanan bir sorun nedeniyle iade ettiği anlamına gelir. Bir 0, örneğin kazara bir satın alma gibi başka bir nedenle iade ettiği anlamına gelir. Bu alan yalnızca iadesi yapılmış ya da geri alınmış işlemlerde, bir revocationDate ile birlikte, REFUND App Store Server Notification'ın imzalı işlem bilgisi içinde görünür. İki değer çok değildir, ama önemli olanı, bir 1, Apple'ın sana iadenin müşterinin fikir değiştirmesiyle değil, ürününle ilgili olduğunu söylemesidir.

Google Play'in sana verdiği dokuz neden

Google'ın voidedReason'ı ikisinin daha zengin olanıdır ve her değer, her biri farklı bir yeri işaret ettiği için görür görmez bilmeye değer. İşte doğrudan VoidedPurchase kaynağından alınmış tam liste ve her kodun sana aslında ne yapmanı söylediği.

voidedReasonGoogle'ın etiketiKodun sana söylediği
0DiğerBelirli bir neden kaydedilmedi. Tekil vakaya değil, hacme bakarak grupla ve izle.
1PişmanlıkMüşteri fikrini değiştirdi. Uygulamanda yanlış bir şey yoktu.
2Teslim alınmadıMüşteri, ödediği şeyi hiç almadığını söylüyor. Kontrol edilecek bir teslimat sorunu.
3KusurluSatın alma işe yaramadı. Bir ürün hatası ve bu listedeki en çok aksiyon alınabilir kod.
4Kazara satın almaYanlış bir tıklama ya da istenmeyen bir alım. Daha net bir onay adımı düşün.
5DolandırıcılıkGoogle işlemi hileli olarak işaretledi. Senin müşterin değil ve elinde tutacağın bir gelir de değil.
6Dost dolandırıcılığıAlıcı, yaptığı ve aldığı bir ödemeye itiraz etti. Kanıt hâlâ buna dokunabilir.
7Ters ibrazBanka ödemeyi geri çevirdi. En pahalı yol ve artık bir ücret eklenmiş halde.
8Onaylanmamış satın almaUygulaman satın almayı hiç onaylamadı, bu yüzden Google onu otomatik iade etti. Kodundaki bir hata.

voidedSource sana tetiği kimin çektiğini söyler

Nedenin yanında voidedSource durur ve farklı bir soruyu yanıtlar: bunu kim geri aldı. Bir 0, bunu kullanıcının, self servis ya da bir banka aracılığıyla yaptığı anlamına gelir. Bir 1, bunu geliştiricinin, yani sen ya da kendi araçlarının bir iade yayınlayarak yaptığı anlamına gelir. Bir 2, bunu Google'ın kendi kararıyla yaptığı anlamına gelir; onaylanmamış bir satın alma için yapılan otomatik iade de buna dahildir. Bir iptal artışı gördüğünde, ilk ayrım kaynaktır. Bir source 2 duvarı, Google'ın hesabın üzerinde harekete geçmesidir ve bu genellikle müşterilerinden çok entegrasyonuna geri işaret eden bir sinyaldir.

Her iadeyi düzelt, itiraz et ya da kabul et olarak ayır

Bir kodun işe yarama nedeni, bir iadenin üç yanıttan hangisini hak ettiğini sana söylemesidir. Çoğu ekip bütün iadelere aynı davranır ve asla kazanamayacakları iadeler için çaba yakar. Kodlar tertemiz ayrılır.

Düzelt: ürününün yol açtığı iadeler

Bazı kodlar, iade kılığına girmiş hata raporlarıdır. Google'da kusurlu (3) ve teslim alınmadı (2) ile Apple'da 1 olan bir revocationReason, hepsi aynı şeyi söyler: müşteri ödedi ve uygulaman teslim etmedi. Onaylanmamış satın alma (8) bunların en keskinidir, çünkü kabahat tümüyle senin faturalandırma kodundadır. Bunlar ortadan kaldırılması en ucuz iadelerdir, çünkü onları birini ikna ederek değil, kendine ait bir şeyi düzelterek ortadan kaldırırsın. Bu yığında artan bir sayı, üzerinde bir para tutarı asılı duran bir ürün kusurudur.

İtiraz Et: birinin üzerinde çalıştığı iadeler

Dolandırıcılık (5), dost dolandırıcılığı (6) ve ters ibraz (7) uyuşmazlıklardır. Saf dolandırıcılık (5) senin müşterin değildir ve zaten hiç elinde tutamayacağın bir gelirdir. Dost dolandırıcılığı (6), alıcının ödediği şeyin tam olarak aynısını alıp sonra itiraz ettiği durumdur ve kanıtının hâlâ kıpırdatabildiği tek uyuşmazlıktır; ters ibraz (7) ise o kanıtın sunulduğu yerdir. Bunlardan biri düştüğünde, henüz yapmadıysan erişimi geri alırsın ve bir inceleme penceresi açık olduğunda ona, hesap hakkında bildiklerinle yanıt verirsin.

Kabul Et: durdurmanın hiçbir zaman senin elinde olmadığı iadeler

Pişmanlık (1) ve kazara satın alma (4), müşterinin kendi fikir değişikliğidir. Apple'ın 0 olan revocationReason'ı da buraya oturur. Hiçbir özellik başarısız olmadı ve hiçbir dolandırıcılık gerçekleşmedi. Kazara yığınını daha net bir satın alma onayıyla yumuşatabilirsin, ama bir pişmanlık iadesini tartışarak savuşturamazsın ve bunu denemeye harcanan zaman, paranın gerçekten olduğu düzeltme yığınından alınan zamandır.

YığınGoogle kodlarıApple sinyaliSenin hamlen
Düzelt2 teslim alınmadı, 3 kusurlu, 8 onaylanmamışrevocationReason 1Arkasındaki ürün ya da faturalandırma hatasının kök nedenini bul
İtiraz Et5 dolandırıcılık, 6 dost dolandırıcılığı, 7 ters ibraz(neden değil, REFUND üzerinden ortaya çıkar)Erişimi geri al, inceleme penceresine kanıtla yanıt ver
Kabul Et1 pişmanlık, 4 kazara satın almarevocationReason 0Kaydet, satın alma akışını ayarla, yoluna devam et
Bir çalışma tezgahında etiketli üç ayırma tepsisi, ayrılmış metal jetonları yakalıyor, bir tepsi daha parlak aydınlatılmış, iadeleri neden koduna göre düzelt, itiraz et ve kabul et olarak ayıklamayı temsil ediyor

Neden kodlarını kaybetmeyi kolaylaştıran 30 günlük tuzak

Google tarafında, bunu bir raporlama özelliğinden bir son tarihe çeviren katı bir sınır var. Kodları sürekli yakalamıyorsan, onları kaybediyorsun.

Voided Purchases API yalnızca 30 gün geriye bakar

Google, API'nin yalnızca son 30 günün iptal edilmiş satın almalarını gösterebildiğini açıkça belirtir. Daha eski iptaller, hangi startTime'ı geçersen geç döndürülmez ve startTime değerinin kendisi de 30 günden daha eskiye ayarlanamaz. Saf bir entegrasyon için daha kötüsü, 30 günlük pencerenin, satın almanın ne zaman yapıldığına ya da kayıttaki voidedTimeMillis'e göre değil, Google'ın sistemlerinin bir satın almayı ne zaman iptal edilmiş olarak gördüğüne göre ölçülmesidir. Yani o pencere içinde çekmediğin bir iade neden kodu gitmiştir ve herhangi bir boşluğu olan aylık bir dışa aktarma işi, yakalamakta fazla yavaş kaldığı iptalleri sessizce düşürür.

Neden kodları parasal olarak ne değer taşır

İki kod belirli bir fiyat taşır ve onları okumak, aksi takdirde toplu bir iade oranının içinde gizlenen sorunlara bir sayı koymanın yoludur.

Bir kod, kendine kestiğin bir faturadır

voidedReason 8, onaylanmamış satın alma, yol açtığın bir iadenin en temiz örneğidir. Google Play, uygulamanın hak tanımasının ardından üç gün içinde bir satın almayı onaylamasını gerektirir ve bunu yapmazsan Google siparişi otomatik olarak iade eder ve öğeyi geri alır. 8 damgalı her iptal, ürünü isteyen bir müşteriden gelen gerçek bir satıştır ve satın almayı onaylayacak bir çağrı hiç tetiklenmediği için geri verilmiştir. Kaybedilen tutar, tam satış fiyatına ek olarak, onu teslim etmek için çoktan harcadığın hesaplama, API çağrıları ve depolamadır. Bu, pazarlık ettiğin bir iade değildir. Kapattığın bir hatadır ve kod, onu bulma yoludur.

Ters ibraz kodu artık bir ücret taşıyor

voidedReason 7, ters ibraz, August 3, 2026 tarihinde maliyet değiştirdi. O tarihte ya da sonrasında verilen Google Play siparişlerinde, kaybedilen bir ters ibraz geliştiriciye satın alma fiyatından Play'in hizmet ücreti düşüldükten sonraki tutara ek olarak bankanın ters ibraz ücretine mal olur, Google ise yalnızca kendi hizmet ücretini karşılar. Ters ibraz ücretleri sabit, ürün fiyatları ise değişken olduğundan, ucuz bir uygulama içi satın almada tek başına ücret, müşterinin ödediğini aşabilir. Kod 7 iptallerini saymak artık yalnızca kaybedilen bir satışı değil, bir gider kalemini saymaktır; ters ibraz yığınının, oluşturduğun herhangi bir iade raporunda kendi satırını hak etmesinin nedeni tam da budur.

Neden koduSana neye mal olurKod neden önemli
8 Onaylanmamış satın almaMüşterinin istediği bir satışta, tam satış fiyatına ek teslimat maliyetiKendi kendine verilmiş bir zarar, dolayısıyla kod bir hata takipçisidir
7 Ters ibraz (Aug 3, 2026 tarihinde ya da sonrasında verilen sipariş)Satış fiyatından Play'in hizmet ücreti düşüldükten sonraki tutara ek bankanın ters ibraz ücretiKaybedilen satışın üstüne bir ücret ekleyen tek kod
3 KusurluSatış fiyatına ek teslimat maliyeti, hataya çarpan her müşteri için tekrarlanırBu koddaki hacim, bir ürün kusurunu dolar cinsinden boyutlandırır
1 PişmanlıkSatış fiyatı ve çoktan harcadığın teslimat maliyetiGerçek maliyet, ama bir kod değişikliğiyle geri kazanılabilecek bir maliyet değil

Apple ve Google nasıl hizalanır

İki mağaza aynı soruyu farklı çözünürlüklerde yanıtlar, bu yüzden mağazalar arası bir iade raporu, eşleşmelerini beklemek yerine onları normalleştirmek zorundadır.

SoruApp StoreGoogle Play
Kodun bulunduğu yerREFUND bildiriminin imzalı işlemindeki revocationReasonVoided Purchases API ve bildirimindeki voidedReason
Kaç nedenİki: 1 uygulamandaki sorun, 0 diğerDokuz, 0 diğer'den 8 onaylanmamış satın almaya kadar
Kim yaptıAyrıştırılmamışvoidedSource: 0 kullanıcı, 1 geliştirici, 2 Google
Ne kadar geriye okuyabilirsinSorguladığın her an işlemde mevcutYalnızca son 30 günün iptalleri
En keskin sinyalBir 1, iadenin ürününle ilgili olduğu anlamına gelirKod 3, 8 ve 7'nin her biri ayrı, düzeltilebilir bir maliyeti işaret eder

Mağazalar aynı iade için sana asla aynı kodu vermeyecek ve bu sorun değil. Önemli olan, her ikisinin de sana makine tarafından okunabilir bir neden vermesi ve her ikisinin de onu okuyan bir ekibi ödüllendirmesidir. Apple'ın tek biti, bir iadenin ne zaman ürününün kusuru olduğunu sana söyler. Google'ın dokuz nedeni ve kaynak bayrağı, hangi ürün hatasına, hangi uyuşmazlığa ve hangi kendi kendine verilmiş faturalandırma boşluğuna baktığını söyler. Kodların hiçbiri bir iadeyi durdurmaz. Her ikisi de bir sonrakinin olmaması için ne yapman gerektiğini söyler.

RefundHalt, her iadenin neden kodunu geldiği anda, her iki mağazada da yakalar ve Google'ın 30 günlük penceresinin çok içinde tutar, böylece hiçbir şey kaçmaz. Her iptali düzelt, itiraz et ya da kabul et olarak ayırır, böylece kod 3 kusurludaki bir artış sana bir ürün uyarısı olarak ulaşır ve kod 8 onaylanmamıştaki bir artış sana, belirsiz bir gelir düşüşü olarak değil, bir entegrasyon hatası olarak ulaşır. Apple'ın CONSUMPTION_REQUEST'ine 12 saat içinde, Google Play'in ters ibraz incelemesine 24 saat içinde yanıt verir ve bir iade ya da ters ibraz düştüğü anda erişimi geri alır. Bir mağazanın bir iadeye damgaladığı kodu değiştiremezsin. Hepsini okuduğundan ve gerçekten düzeltmen gereken olanlara aksiyon aldığından emin olabilirsin.

Sık sorulan sorular

App Store ve Google Play'de iade neden kodu nedir?
Bir satın almanın neden geri alındığına dair mağazanın kendi etiketidir ve sunucuna iadeyle birlikte teslim edilir. Google Play'in Voided Purchases API'si 0'dan 8'e bir voidedReason ve 0 kullanıcı, 1 geliştirici ya da 2 Google olan bir voidedSource döndürür. Apple, iade uygulamanın içindeki bir sorundan kaynaklandığında revocationReason'ı 1'e, kazara satın alma gibi başka bir nedenle olduğunda 0'a ayarlar. Kodu sen belirlemezsin ve değiştiremezsin, ama onu okumak sana iadenin ürününü mü, bir uyuşmazlığı mı yoksa müşterinin fikir değiştirmesini mi işaret ettiğini söyler.
Google Play voidedReason değerleri nelerdir?
Dokuz tane var: 0 diğer, 1 pişmanlık, 2 teslim alınmadı, 3 kusurlu, 4 kazara satın alma, 5 dolandırıcılık, 6 dost dolandırıcılığı, 7 ters ibraz ve 8 onaylanmamış satın alma. Her biri, iptali kimin başlattığını söyleyen bir voidedSource ile birlikte, iptal edilen her satın alma için Voided Purchases API tarafından döndürülür. Kod 2, 3 ve 8 kendi uygulamandaki sorunları işaret eder, kod 5, 6 ve 7 uyuşmazlıklardır ve kod 1 ile 4 müşterinin kendi kararıdır.
Apple'ın 1 olan revocationReason'ı ne anlama gelir?
App Store'un işlemi uygulamanın içindeki gerçek ya da algılanan bir sorun nedeniyle iade ettiği anlamına gelir; bu, iadenin kazara satın alma gibi başka bir nedenle gerçekleştiği anlamına gelen 0 değerinin karşıtıdır. Bu alan yalnızca iadesi yapılmış ya da geri alınmış işlemlerde, bir revocationDate ile birlikte, REFUND App Store Server Notification'ın imzalı işlem bilgisi içinde görünür. Bir 1, Apple'ın sana iadenin ürününle ilgili olduğunu söylemesidir.
Google bir satın almayı neden onaylanmamış neden koduyla iade etti?
Çünkü uygulaman satın almayı zamanında onaylamadı. Google Play, hak tanımasının ardından üç gün içinde bir satın almayı onaylamanı gerektirir ve bunu yapmazsan Google siparişi otomatik olarak iade eder ve öğeyi geri alır, iptali voidedReason 8 ile damgalar. Bu, müşterinin bir talebi değil, bir faturalandırma hatasıyla yol açtığın bir iadedir, dolayısıyla çözüm herhangi bir pazarlıkta değil, satın alma işleme kodundadır.
İade neden kodlarını ne kadar geriye okuyabilirim?
Google Play'de yalnızca 30 gün. Voided Purchases API son 30 günün iptallerini döndürür ve bundan daha eski herhangi bir startTime'ı yok sayar ve pencereyi, satın almanın ne zaman yapıldığına göre değil, Google'ın iptali ne zaman gördüğüne göre ölçer. 30 gün içinde yakalamadığın bir kod kaybolur, bu yüzden gerçek zamanlı iptal edilmiş satın alma bildirimine abone olmalı ya da pencerenin epey içinde bir programla yoklamalısın. Apple'ın revocationReason'ı, sorguladığın her an işlemde kalır.

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.