REST Resource: purchases.products

Kaynak: ProductPurchase

ProductPurchase kaynağı, kullanıcının uygulama içi ürün satın alma işleminin durumunu gösterir.

JSON gösterimi
{
  "kind": string,
  "purchaseTimeMillis": string,
  "purchaseState": integer,
  "consumptionState": integer,
  "developerPayload": string,
  "orderId": string,
  "purchaseType": integer,
  "acknowledgementState": integer,
  "purchaseToken": string,
  "productId": string,
  "quantity": integer,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string,
  "regionCode": string,
  "refundableQuantity": integer
}
Alanlar
kind

string

Bu tür, androidpublisher hizmetindeki bir inappPurchase nesnesini temsil eder.

purchaseTimeMillis

string (int64 format)

Ürünün satın alındığı zaman (1 Ocak 1970'ten itibaren geçen milisaniye sayısı).

purchaseState

integer

Siparişin satın alma durumu. Olası değerler: 0. Satın alınanlar 1. İptal edildi 2. Beklemede

consumptionState

integer

Uygulama içi ürünün tüketim durumu. Olası değerler: 0. Henüz tüketilmedi 1. Tüketti

developerPayload

string

Bir siparişle ilgili ek bilgiler içeren, geliştirici tarafından belirtilen dize.

orderId

string

Uygulama içi ürünün satın alınmasıyla ilişkili sipariş kimliği.

purchaseType

integer

Uygulama içi ürünün satın alma türü. Bu alan yalnızca satın alma işlemi standart uygulama içi faturalandırma akışı kullanılarak yapılmadıysa ayarlanır. Olası değerler: 0. Test (ör. lisans testi hesabından satın alınmış) 1. Promosyon (ör. promosyon kodu kullanılarak satın alınan). Play Points ile yapılan satın alma işlemleri dahil değildir. 2. Ödüllü (ör. ödeme yapmak yerine video reklam izleyerek)

acknowledgementState

integer

Uygulama içi ürünün onay durumu. Olası değerler: 0. Henüz onaylanmadı 1. Onaylandı

purchaseToken

string

Bu satın alma işlemini tanımlamak için oluşturulan satın alma jetonu. Mevcut olmayabilir.

productId

string

Uygulama içi ürün SKU'su. Mevcut olmayabilir.

quantity

integer

Uygulama içi ürünün satın alınmasıyla ilişkili miktar. Yoksa miktar 1'dir.

obfuscatedExternalAccountId

string

Uygulamanızdaki kullanıcı hesabıyla benzersiz şekilde ilişkilendirilmiş kimliğin karartılmış sürümü. Yalnızca satın alma işlemi yapılırken https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid kullanılarak belirtilmişse bulunur.

obfuscatedExternalProfileId

string

Kullanıcının uygulamanızdaki profiliyle benzersiz şekilde ilişkilendirilmiş kimliğin karartılmış sürümü. Yalnızca satın alma işlemi yapılırken https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid kullanılarak belirtilmişse bulunur.

regionCode

string

Ürünün verildiği sırada kullanıcının ISO 3166-1 alfa-2 faturalandırma bölgesi kodu.

refundableQuantity

integer

Geri ödeme için uygun olan miktar (yani geri ödemesi yapılmamış miktar). Değer, miktara dayalı kısmi geri ödemeleri ve tam geri ödemeleri yansıtır.

Yöntemler

acknowledge

Uygulama içi öğe satın alma işlemini onaylar.

consume

Uygulama içi öğe satın alma işlemini kullanır.

get

Uygulama içi öğenin satın alma ve tüketim durumunu kontrol eder.

Hata kodları

Bu kaynağın işlemleri aşağıdaki HTTP hata kodlarını döndürür:

Hata kodu Neden Açıklama Çözünürlük
400 invalidPurchaseState Satın alma işlemi, istenen işlemi gerçekleştirmek için geçerli bir durumda değil. Örneğin, halihazırda kullanılmış bir satın alma işlemini onaylamaya veya etkin olmayan bir aboneliği iptal etmeye çalışıyor olabilirsiniz. İşlemi denemeden önce ilgili Get API'yi kullanarak kaynağın mevcut durumunu kontrol edin. Kaynağın işlem için uygun durumda olduğundan emin olun.
400 invalidValue İstekle geçersiz bir değer sağlandı. Bu hata genellikle hatalı veya geçersiz bir satın alma jetonu için döndürülür. İstek gövdesindeki veya parametrelerdeki geçersiz alan değerini API referansına göre düzeltin.
400 productNotOwnedByUser Sağlanan satın alma jetonu geçerli ancak kullanıcı şu anda ürüne sahip değil. Bu durum, satın alma işlemi için geri ödeme yapıldıysa, satın alma işlemi iptal edildiyse veya onaylanmadan önce süresi dolduysa meydana gelebilir. İşlemi denemeden önce ilgili Get API'yi kullanarak kaynağın mevcut durumunu kontrol edin. Kaynağın işlem için uygun durumda olduğundan emin olun.
400 purchaseTokenMismatch Sağlanan satın alma jetonu, satın alma işlemi, paket adı, abonelik kimliği veya ürün kimliğiyle eşleşmiyor. Tüm ayrıntıların doğru olduğunu ve birbirleriyle eşleştiğini doğrulayın.
400 required İstekten zorunlu bir alan veya parametre eksik. Tüm zorunlu alanların ve parametrelerin eklendiğinden emin olmak için API dokümanlarına bakın.
400 unsupportedIabType Bu işlem, belirtilen uygulama içi faturalandırma türü için desteklenmiyor. API yönteminin, yönetilen öğe türüyle uyumlu olduğundan emin olun.
403 userInsufficientPermission Kullanıcının istenen işlemi gerçekleştirmek için yeterli izni yok. Kimliği doğrulanmış kullanıcının Google Play Console'da gerekli izinlere sahip olduğundan emin olun. Daha fazla bilgi için Hizmet hesabı kullanma başlıklı makaleyi inceleyin.
404 notFound İstenen kaynak bulunamadı. Tanımlayıcıların (ör. satın alma jetonu, paket adı, ürün kimliği, abonelik kimliği) doğru olduğunu doğrulayın.
409 concurrentUpdate Eşzamanlı olarak güncellenen bir nesne güncellenmeye çalışıldı. İsteği eksponansiyel geri yüklemeyle yeniden deneyin. Aynı kaynakta eş zamanlı değişiklik yapmaktan kaçının.
5xx Generic error Google Play sunucusunda genel hata. İsteğinizi yeniden deneyin.

Sorun devam ederse Google Play hesap yöneticinizle iletişime geçin veya destek isteği gönderin. Bilinen kesintiler için Play Durum Kontrol Paneli'ni kontrol edin.