Geçersiz Satın Alma İşlemleri API'si

Google Play İptal Edilmiş Satın Almalar API'si, kullanıcının iptal ettiği satın alma işlemleriyle ilişkili siparişlerin bir listesini sağlar. Bu listedeki bilgileri kullanarak, kullanıcının bu siparişlerdeki ürünlere erişmesini engelleyen bir iptal sistemi uygulayabilirsiniz.

Bu API, tek seferlik uygulama içi siparişler ve uygulama abonelikleri için geçerlidir.

Satın alma işlemi aşağıdaki şekillerde iptal edilebilir:

  • Kullanıcı, siparişi için geri ödeme isteğinde bulunur.
  • Kullanıcı, siparişini iptal ederse
  • Bir sipariş için geri ödeme yapıldığında
  • Geliştirici, siparişi iptal eder veya siparişin geri ödemesini yapar.

  • Google, siparişi iptal eder veya siparişin geri ödemesini yapar.

Bu API'yi kullanarak, özellikle uygulamanız bir oyunsa tüm kullanıcılarınız için daha dengeli ve adil bir deneyim oluşturmaya yardımcı olursunuz.

Erişim elde etme

İptal Edilen Satın Alma İşlemleri API'si ile çalışmak için finansal bilgileri görüntüleme izninizin olması gerekir. OAuth istemcisi veya hizmet hesabı kullanarak yetkilendirme sağlarsınız. Hizmet hesabı kullanıyorsanız bu hesapta "Finansal raporları görüntüleme" iznini etkinleştirin.

Google Play Developer API'lerine yetkili erişim elde etme hakkında daha fazla bilgi edinmek için aşağıdaki kılavuzlara göz atın:

İptal Edilen Satın Alma İşlemlerini Görüntüleme

Geçersiz kılınan satın alma işlemlerinin listesini istemek için GET yöntemini kullanın. İsteğinize, uygulamanızın tam nitelikli paket adını (ör. com.google.android.apps.maps) ve API'ye erişim kazandığınızda aldığınız yetkilendirme jetonunu ekleyin.

GET https://www.googleapis.com/androidpublisher/v3/applications/
your_package_name/purchases/voidedpurchases?access_token=your_auth_token

İsteğinize aşağıdaki isteğe bağlı parametreleri de ekleyebilirsiniz:

startTime

Yanıt içinde görmek istediğiniz en eski geçersiz kılınmış satın alma işleminin Unix sıfır zamanından itibaren milisaniye cinsinden süresi. Varsayılan olarak startTime 30 gün önceye ayarlanır.

API yalnızca son 30 gün içinde gerçekleşen geçersiz kılınmış satın alma işlemlerini gösterebilir. Geçersiz kılınan eski satın alma işlemleri, startTime için sağladığınız değerden bağımsız olarak yanıta dahil edilmez.

endTime

Yanıtında görmek istediğin en yeni geçersiz kılınmış satın alma işleminin Unix sıfır zamanından bu yana geçen süre (milisaniye cinsinden). Varsayılan olarak, endTime geçerli saate ayarlanır.

maxResults
Her yanıtta görünen iptal edilen satın alma işlemlerinin maksimum sayısı. Bu değer varsayılan olarak 1.000'dir. Bu parametrenin maksimum değerinin de 1.000 olduğunu unutmayın.
token
Önceki yanıttan alınan devamlılık jetonu sayesinde daha fazla sonuç görüntüleyebilirsiniz.
tür

Her yanıtta görünen iptal edilen satın alma işlemlerinin türü. 0 olarak ayarlanırsa yalnızca geçersiz kılınan uygulama içi satın alma işlemleri döndürülür. 1 olarak ayarlanırsa hem geçersiz kılınan uygulama içi satın alma işlemleri hem de geçersiz kılınan abonelik satın alma işlemleri döndürülür. Varsayılan değer 0'dır.

includeQuantityBasedPartialRefund

Yalnızca çoklu miktar satın alma işlemleri için geçerli olan miktara dayalı kısmi geri ödemelerin geçersiz kılınan satın alma işlemlerinin dahil edilip edilmeyeceği. true ise, miktara dayalı kısmi geri ödemenin geri ödeme miktarını belirten voidedQuantity ile ek geçersiz kılınan satın alma işlemleri iade edilebilir. Varsayılan değer false'dır.

Yanıt, iptal edilen satın alma işlemlerinin listesini içeren bir JSON dizesidir. maxResults istek parametresinde belirtilen sayıdan daha fazla sonuç varsa yanıtta nextPageToken değeri bulunur. Bu değeri, daha fazla sonuç görüntülemek için sonraki bir isteğe iletebilirsiniz. Listedeki ilk sonuç, en eski geçersiz kılınan satın alma işlemini gösterir.

{
  "tokenPagination": {
    "nextPageToken": "next_page_token"
  },
  "voidedPurchases": [
    {
      "kind": "androidpublisher#voidedPurchase",
      "purchaseToken": "some_purchase_token",
      "purchaseTimeMillis": "1468825200000",
      "voidedTimeMillis": "1469430000000",
      "orderId": "some_order_id",
      "voidedSource": "0",
      "voidedReason": "4"
    },
    {
      "kind": "androidpublisher#voidedPurchase",
      "purchaseToken": "some_other_purchase_token",
      "purchaseTimeMillis": "1468825100000",
      "voidedTimeMillis": "1470034800000",
      "orderId": "some_other_order_id",
      "voidedSource": "2",
      "voidedReason": "5"
    },
  ]
}

Kotalar

Voided Purchases API, paket başına aşağıdaki kotaları belirler:

  • Günde 6.000 sorgu. (Gün, Pasifik saatine göre gece yarısında başlar ve biter.)
  • Herhangi bir 30 saniyelik dönemde 30 sorgu.

İlk isteklerle ilgili kurallar

İlk API isteğiniz sırasında uygulamanız için mevcut tüm verileri getirmek isteyebilirsiniz. Bu işlem, pek olası olmasa da günlük kotanızı tüketebilir. İptal edilen satın alma işlemlerine ait verileri daha güvenli ve tutarlı bir şekilde almak için aşağıdaki en iyi uygulamaları kullanın:

  • maxResults parametresi için varsayılan değeri kullanın. Bu sayede, bir gün içinde sorgu kotanızın tamamını kullanırsanız 6.000.000 geçersiz kılınan satın alma işleminin ayrıntılarını alabilirsiniz.
  • Bir yanıtta nextPageToken için bir değer varsa bu değeri bir sonraki isteğiniz sırasında token parametresine atayın.

En İyi Uygulamalar

Bu API'yi uygulamanızda kullanırken bir satın alma işlemini iptal etmek için pek çok neden olabileceğini ve her durumda işe yarayan tek bir çözüm olmadığını unutmayın. İptal politikalarınızı ve stratejilerinizi tasarlarken kullanıcılarınızı göz önünde bulundurmalısınız. Bunun için şu önerilen uygulamaları kullanabilirsiniz:

  • Bu API'yi, istenmeyen davranışları ele almak için kapsamlı bir stratejideki birçok öğeden biri olarak kullanın. Uygulama içi ürünlere erişimi iptal etmek genellikle uygulama içi satın almalar için makul fiyatlar sunan bir uygulama, istenmeyen davranışları engelleyen bir uygulama tasarımı, bu tür davranışları reddeden bir kültüre sahip güçlü bir kullanıcı tabanı ve hızlı ve etkili kullanıcı destek kanalları ile birlikte kullanıldığında daha etkili olur.
  • Tüm kullanıcılara karşı adil davranmak için iptal politikanızı eşit şekilde uygulayın.
  • İstenmeyen davranışları ele alırken kademeli bir politika oluşturabilirsiniz. Örneğin, ilk ihlaller için uygulama içi uyarılarla başlayın, ardından kullanıcının istenmeyen davranışı devam ettikçe yanıtlarınızı daha sert hale getirin. Son çare olarak, kullanıcının uygulamanızla etkileşim kurmasını tamamen engelleyebilirsiniz.
  • İptal politikası kullanmaya başladığınızda ve politikayı her güncellediğinizde, kullanıcılarınızı değişiklikler hakkında bilgilendirmek için uygulamanızın erişim kanallarını kullanın. Kullanıcılarınıza, bu değişiklikler uygulamanızda geçerli olmadan önce bunları net bir şekilde anlamaları için zaman tanıyın.
  • Kullanıcılarınıza karşı şeffaf olun ve uygulama içi bir ürüne erişimlerini iptal etmek gibi bir işlem yaptığınızda onları bilgilendirin. İdeal olarak, kullanıcılar kararlarınıza itiraz edebilmeli ve bu itirazlar adil bir şekilde ele alınmalıdır.
  • Kullanıcıları istenmeyen davranışlara yönlendiren ve bu davranışları nasıl gerçekleştirdiklerini anlamak için geri bildirim formlarını ve topluluk forumlarını izleyin. Bu analizleri ilk savunma hattı olarak kullanıp gerekli işlemleri yapın.