Tüm makaleler
Uygulama rehberi8 dk okuma

Her yenilemenin kendi Google Play sipariş kimliği vardır ve iade yapmadan önce kontrol etmeniz gereken numara budur

GPA.1234-5678-9012-34567..2 gibi bir Google Play sipariş kimliği tek bir ödemeyi işaret eder. Yenileme ekini nasıl okuyacağınızı, bir siparişi Play Console'da veya Orders API ile nasıl bulacağınızı ve yanlış ödemenin bedelini ödemeden müşterinin kastettiği ödemeyi nasıl iade edeceğinizi anlatıyoruz.

Masasında oturan bir geliştirici, Android telefondaki e-posta makbuzunu dizüstü bilgisayardaki sipariş listesiyle karşılaştırıyor ve Google Play sipariş kimliğini doğru ödemeyle eşleştiriyor

Önemli noktalar

  • Bir Google Play sipariş kimliği GPA.1234-5678-9012-34567 biçimindedir ve abonelik yenilemeleri bir ek alır, yani GPA.1234-5678-9012-34567..0 o aboneliğin ilk yenilemesidir.
  • Play Billing Library'deki getOrderId(), abonelik yenilemelerinde yenilemenin kendi kimliğini değil ilk siparişin kimliğini döndürür ve satın alma PENDING durumundayken null döndürür.
  • Google, 21 Mayıs 2025'te Play Developer API'nin Orders kaynağına get ve batchGet yöntemlerini ekledi. batchGet, 1 ile 1.000 arasında birbirinden farklı sipariş kimliği kabul eder ve bunlardan biri bile bulunamazsa isteğin tamamı başarısız olur.
  • Orders API'den gelen bir Order, PENDING, PROCESSED, CANCELED, PENDING_REFUND, PARTIALLY_REFUNDED veya REFUNDED durumlarından birini ve kısmi iadeler, vergiler ve ücretler düşülmüş developerRevenueInBuyerCurrency değerini taşır.
  • Google Play'in orders.refund yöntemi 3 yıldan eski siparişleri iade edemez ve revoke=true gönderilirse müşterinin aboneliğe veya ürüne erişimi hemen sona erer.
  • Play Console'da İade et ve iptal et (Refund and revoke) seçeneği bir abonelikteki en son siparişe uygulanır. Yalnızca iade et (Refund only) ise daha eski bir siparişe uygulanır ve aboneliği etkin bırakır.
  • Google Play, satın alma sonrasındaki ilk 48 saat içindeki iade taleplerini kendisi ele alır. 48 saatten sonra müşterileri geliştiriciye yönlendirir. Sipariş kimliği genellikle bu noktada destek kutunuza düşer.

Bir Google Play müşterisine iade yapmadan önce sipariş numarasının sonuna bakın. GPA.1234-5678-9012-34567 bir abonelikteki ilk ödemedir. GPA.1234-5678-9012-34567..2 ise üçüncüsüdür. Aynı temeli paylaşırlar ama farklı ödemelerdir ve iade sırasında Play Console onlara farklı davranır. Google Play sipariş kimliği müşterinizin görebildiği tek tanımlayıcıdır, bu yüzden destek kutunuza gelen de odur. Doğru okursanız müşterinin gerçekten şikâyet ettiği ödemeyi, bir kez iade edersiniz.

Bir Google Play sipariş kimliği size ne söyler

Google'ın Play Billing Library belgeleri biçimi bir örnekle verir. Sipariş kimliği GPA ile başlar, ardından rakam grupları gelir. Aboneliklerde her yenileme, temel sipariş kimliğine ek olarak iki nokta ve sıfırdan başlayan bir sayaç alır. Yani ilk satın almanın eki yoktur, ilk yenileme ..0, ikincisi ..1 olur ve bu böyle devam eder.

Bu da eki, birinin ne kadar süredir ödeme yaptığını hızlıca gösteren bir işarete dönüştürür. GPA.3333-4137-0319-36762..11 hakkında yazan bir müşterinin aboneliği on iki kez yenilenmiştir. Eksiz temel kimliği veren bir müşteri ise ya bir şeyi tek seferlik satın almıştır ya da ilk ödemesini kastediyordur.

Sipariş kimliğiNe olduğu
GPA.1234-5678-9012-34567Tek seferlik bir satın alma veya bir abonelikteki ilk ödeme
GPA.1234-5678-9012-34567..0O aboneliğin ilk yenilemesi
GPA.1234-5678-9012-34567..1İkinci yenileme
Billing Library'de nullGoogle ödemeyi işlemeden önce hâlâ PENDING durumunda olan bir satın alma

Sipariş kimliği nerede görünür ve hangi sürümünü alırsınız

Ekiplerin takıldığı yer burasıdır. Farklı kaynaklar aynı kimliği farklı biçimlerde verir.

  • Müşterinin Google Play makbuzu, yenilemeler dahil, ilgili ödemenin sipariş kimliğini gösterir.
  • Uygulamanızda, Play Billing Library'deki Purchase.getOrderId() abonelik yenilemeleri için ilk siparişin kimliğini döndürür. Google'ın kendi örneği: GPA.1234-5678-9012-34567..0 yerine GPA.1234-5678-9012-34567 alırsınız.
  • Sunucunuzda purchases.subscriptionsv2 her satır öğesine bir latestSuccessfulOrderId verir. Bu, o öğe için en son başarılı siparişin kimliğidir. Google bu alanı 21 Mayıs 2025'te ekledi.
  • Voided Purchases API'de orderId, tek seferlik bir satın almayı, bir abonelik satın alımını veya bir abonelik yenilemesini benzersiz şekilde tanımlar. Google'ın belgeleri, yenilemeleri birbirinden ayırmak için satın alma jetonunu değil orderId'yi kullanmanızı söyler.

Satın alma jetonu ise ne işe yarar

Satın alma jetonu satın almayı bir bütün olarak tanımlar. Bir abonelikte tek bir jeton, ilk ödemeyi ve sonraki tüm yenilemeleri kapsar. Bu yüzden erişim hakkı için doğru anahtardır, iade için yanlış anahtardır. İadeler ve ters ibrazlar (chargeback) tek bir ödemeye uygulanır ve tek bir ödemeyi yalnızca sipariş kimliği adlandırır.

Bir Google Play siparişi nasıl bulunur

Play Console'da

Sipariş yönetimi (Order management) arama kutusunda ya bir sipariş kimliği ya da müşterinin tam e-posta adresini kabul eder. Her sipariş şu durumlardan birini gösterir: İşlendi (Processed), İptal edildi (Cancelled), Beklemede (Pending), İade bekleniyor (Pending refund), İade edildi (Refunded), Kısmi iade bekleniyor (Pending partial refund) veya Kısmen iade edildi (Partially refunded). Müşteri makbuz yerine e-posta verirse e-postayla arayın, ödemeyi tarihe göre seçin, ardından işlem yapmadan önce eki doğrulayın.

Orders API ile

21 Mayıs 2025'ten bu yana Google Play Developer API'deki Orders kaynağında tek bir sipariş için orders.get ve bir liste için orders.batchget bulunur. Pratikte birkaç sınır önemlidir:

  • batchget istek başına 1 ile 1.000 arasında sipariş kimliği alır ve bunların birbirinden farklı olması gerekir.
  • Sipariş kimliklerinden biri bile bulunamazsa veya pakete ait değilse, batchget isteğinin tamamı başarısız olur.
  • Orders API çağrıları, varsayılanı günde 200.000 çağrı olan Play Developer API kotanızdan düşer.

Asıl işe yarayan kısım dönen Order nesnesidir. Siparişin durumunu, purchaseToken değerini, createTime ve lastEventTime alanlarını, toplam tutarı ve vergiyi, IN_APP veya PLAY_STORE gibi bir salesChannel değerini ve işlenme, iptal, iade ve kısmi iade olaylarını içeren bir orderHistory kaydını içerir. Ayrıca Google'ın, kısmi iadeler, vergiler ve ücretler düşüldükten sonra alıcının para birimindeki geliriniz olarak tanımladığı developerRevenueInBuyerCurrency alanı da vardır. Satıcı sıfatıyla sorumlu taraf (merchant of record) Google olduğunda, alıcı adresinde yalnızca ülke yer alır.

Sipariş durumuGoogle'ın başvuru belgesinin söylediği
PENDINGOluşturuldu ve işlenmeyi bekliyor
PROCESSEDBaşarıyla işlendi
CANCELEDİşlenmeden önce iptal edildi
PENDING_REFUNDTalep edilen bir iade işlenmeyi bekliyor
PARTIALLY_REFUNDEDSipariş tutarının bir kısmı iade edildi
REFUNDEDSipariş tutarının tamamı iade edildi

Doğru siparişi iade etmek

Müşterinin hangi ödemeyi kastettiğini öğrendiğinizde Play Console, o siparişin abonelik içindeki yerine bağlı olarak size bir seçim sunar.

SeçenekUygulandığı yerNe olur
İade et ve iptal et (Refund and revoke)Bir abonelikteki en son siparişİade yapılır, abonelik hemen kaldırılır, gelecekteki yenilemeler iptal edilir
Yalnızca iade et (Refund only)Bir abonelikteki daha eski bir siparişİade yapılır, abonelik etkin kalır
Kısmi iade (Partial refund)Mart 2018'den sonra sipariş edilen uygulama içi satın almalar ve abonelikler, ücretli uygulamalar hariç%100'ün altında herhangi bir yüzde veya sipariş toplamının altında vergi öncesi bir tutar
Aboneliği iptal et (Cancel subscription)Etkin bir abonelikİade yok, erişim mevcut fatura döneminin sonuna kadar sürer

API üzerinden orders.refund, paket adını ve sipariş kimliğini alır. 3 yıldan eski siparişler iade edilemez. İsteğe bağlı revoke parametresi true olarak ayarlanırsa aboneliğe veya uygulama içi ürüne erişim hemen sona erer. Google'ın yardım belgeleri ayrıca iadelerin yapıldıktan sonra geri alınamayacağını belirtir, yani gönderdiğiniz sipariş kimliği kesindir.

Bir abone için neden $0.00 tutarında bir sipariş görünür?

Bunu Google'ın abonelik yaşam döngüsü belgeleri açıklar. Bir kullanıcı, aboneliği sona ermeden önce uygulamanızdan aynı temel plana yeniden kaydolduğunda Google Play $0.00 tutarında bir sipariş oluşturur. Mevcut dönem için zaten ödeme yaptığından kullanıcıdan ücret alınmaz ve normal faturalandırma ilk yenileme tarihinde devam eder. Bu bir ücretsiz deneme ya da promosyon değildir. Bu siparişte iade edilecek bir şey yoktur. Müşteri parasını geri istiyorsa, ondan önceki ücretli siparişi bulun.

Yanlış siparişi iade etmenin size maliyeti

Bir iade fiyatı geri verir. Kısmi iadeler de orantılı olarak aynı şekilde işler. Google'ın örneği: %50'lik bir kısmi iade, ödemenizin %50'sini ve hizmet ücretinin %50'sini de geri alır. Geri gelmeyen ise o müşteriye hizmet vermek için harcadığınız her şeydir: işlem gücü, üçüncü taraf API çağrıları, depolama, varsa bağlı kuruluş ödemeleri. Yanlış siparişi iade ederseniz bunu iki kez ödersiniz.

Bu şöyle olur. Aylık plandaki bir müşteri ..4 ödemesi, yani geçen haftaki ödeme hakkında yazar. Ekibinizden biri e-postayla arama yapar, en üstte ilk siparişi görür ve aylar önceki temel sipariş için Yalnızca iade et seçeneğine tıklar. Müşteri artık kullandığı bir dönemin parasını geri almıştır. Şikâyet ettiği ödemeye dokunulmamıştır ve aboneliği yenilenmeye devam eder. Geçen haftaki ödemeyi ters çevirmesi için hâlâ bankasına başvurabilir.

Basılı bir banka ekstresi ve kalemin üzerinde bir Android telefon tutan eller, müşterinin bir ödemeyi Google Play sipariş kimliğiyle eşleştirdiği an

Artık pahalı olan yol bu banka yoludur. Google, 3 Ağustos 2026'dan sonra verilen siparişlerde bir ters ibraz gerçekleştiğinde, geliştiricinin Play hizmet ücreti düşülmüş satın alma bedelinden ve bankanın kestiği ters ibraz ücretlerinden sorumlu olduğunu söylüyor. Ters ibrazlar bankada kesindir. Yanlış okunan tek bir ek, iki iade tutarında para kaybına ve üstüne ücretlere dönüşebilir.

Hangi iadeler destek kutunuza hiç ulaşmaz

Google Play iadelerinin çoğu ne size ne de sipariş kimliğine ihtiyaç duyar. Google'ın iade politikası, müşterinin satın almadan sonraki 48 saat içinde Google Play üzerinden iade alabileceğini, 48 saatten sonra ise geliştiriciyle iletişime geçmesi gerektiğini söyler. Google ayrıca üç gün içinde onaylamadığınız (acknowledge) abonelikleri de iade eder ve iptal eder. Bunları sonradan Voided Purchases API aracılığıyla öğrenirsiniz. Bu API, voidedSource değerini (Kullanıcı için 0, Geliştirici için 1, Google için 2) ve Remorse, Chargeback veya Unacknowledged_purchase gibi bir voidedReason değerini bildirir.

Google Play'de sizin tarafınızı soran yalnızca bir iade akışı vardır. Bir ters ibraz geliştirici incelemesi gerektirdiğinde, orders.reviewrefund üzerinden APPROVE, DECLINE veya NEUTRAL iade tercihi ve satın alma kullanım kanıtıyla yanıt vermek için 24 saatiniz olur. RefundHalt bu incelemeyi süre dolmadan sizin yerinize, elinizde zaten bulunan kullanım verilerini kullanarak yanıtlar. Böylece itiraz edilen bir sipariş sessizlikle değil, sizin kanıtlarınızla karşılanır.

Sipariş kimliği içeren destek talepleri için kısa bir kontrol listesi

  • Google Play makbuzundaki tam sipariş kimliğini, eki dahil olarak isteyin.
  • Kimliği Play Console'da veya orders.get ile bulun ve önce durumunu kontrol edin.
  • Ödeme tarihinin müşterinin anlattığıyla örtüştüğünü doğrulayın.
  • İade et ve iptal et seçeneğini yalnızca en son siparişte, Yalnızca iade et seçeneğini ise daha eski siparişlerde kullanın.
  • İade ettiğiniz sipariş kimliğini kaydedin, böylece başka bir siparişe gelen sonraki bir ters ibrazı kolayca fark edersiniz.

Sık sorulan sorular

Bir Google Play sipariş kimliğinin sonundaki ..0 ne anlama gelir?
Bir aboneliğin ilk yenilemesini gösterir. Google Play her yenilemeye, aboneliğin temel sipariş kimliğine ek olarak iki nokta ve sıfırdan başlayan bir sayaç verir. Yani GPA.1234-5678-9012-34567..0 ilk yenileme, ..1 ise ikinci yenilemedir. Eksiz temel kimlik ilk ödemedir.
Uygulamamdaki getOrderId() neden müşterinin makbuzundan farklı bir sipariş kimliği döndürüyor?
Çünkü Play Billing Library, abonelik yenilemeleri için ilk siparişin kimliğini döndürür. Google'ın örneğine göre getOrderId(), ilk yenileme için GPA.1234-5678-9012-34567..0 yerine GPA.1234-5678-9012-34567 döndürür. Yenilemenin kendi kimliğini almak için sunucunuzda purchases.subscriptionsv2'deki latestSuccessfulOrderId alanını kullanın.
Bir Google Play siparişini sipariş kimliğiyle nasıl bulurum?
Sipariş kimliği veya müşterinin tam e-posta adresini kabul eden Play Console'daki Sipariş yönetimi (Order management) bölümünde arayın ya da Google Play Developer API'de orders.get çağrısı yapın. orders.batchget tek seferde 1 ile 1.000 arasında birbirinden farklı sipariş kimliğini sorgular ve bunlardan biri bile bulunamazsa isteğin tamamı başarısız olur.
Bir yıldan eski bir Google Play siparişini iade edebilir miyim?
Evet, 3 yıla kadar. Google'ın orders.refund başvuru belgesi, 3 yıldan eski siparişlerin iade edilemeyeceğini söyler. Bir abonelikteki daha eski bir sipariş için Play Console'daki Yalnızca iade et (Refund only) seçeneği parayı geri verir ve aboneliği etkin bırakır.
Bir abone için neden $0.00 tutarında bir Google Play siparişi var?
Bir kullanıcı, aboneliği sona ermeden önce uygulamanızdan aynı temel plana yeniden kaydolduğunda ortaya çıkar. Mevcut dönem için zaten ödeme yaptığından kullanıcıdan ücret alınmaz ve normal faturalandırma ilk yenileme tarihinde devam eder. Google, bunun ücretsiz deneme veya promosyon indirimi verildiği anlamına gelmediğini belirtir.

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.