- Kaynak: ProductPurchaseV2
- PurchaseStateContext
- PurchaseState
- TestPurchaseContext
- FopType
- ProductLineItem
- ProductOfferDetails
- RentOfferDetails
- ConsumptionState
- AcknowledgementState
- Yöntemler
Kaynak: ProductPurchaseV2
ProductPurchaseV2 kaynağı, kullanıcının uygulama içi ürün satın alma işleminin durumunu gösterir.
| JSON gösterimi |
|---|
{ "productLineItem": [ { object ( |
| Alanlar | |
|---|---|
productLineItem[] |
ProductPurchaseV2 için öğe düzeyinde bilgileri içerir. |
kind |
Bu tür, androidpublisher hizmetinde bir ProductPurchaseV2 nesnesini temsil eder. |
purchaseStateContext |
Satın alma işleminin satın alma durumuyla ilgili bilgiler. |
testPurchaseContext |
Test satın alma işlemleriyle ilgili bilgiler. Bu yalnızca test satın alma işlemleri için ayarlanır. |
orderId |
Uygulama içi ürünün satın alınmasıyla ilişkili sipariş kimliği. Satın alma işlemiyle ilişkili sipariş yoksa ayarlanamayabilir. |
obfuscatedExternalAccountId |
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 |
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 |
Ürünün verildiği sırada kullanıcının ISO 3166-1 alfa-2 faturalandırma bölgesi kodu. |
purchaseCompletionTime |
Satın alma işleminin başarılı olduğu zaman (ör. PurchaseState, PURCHASED olarak değiştiğinde). Ödeme tamamlanana kadar bu alan gösterilmez. Örneğin, kullanıcı bekleyen bir işlem başlattıysa (https://developer.android.com/google/play/billing/integrate#pending) bu alan, kullanıcı işlemi tamamlamak için gereken adımları başarıyla tamamlayana kadar doldurulmaz. Zaman damgasında RFC 3339 kullanılır. Yani oluşturulan çıkış her zaman Z ile normalleştirilir ve 0, 3, 6 veya 9 kesirli basamak kullanılır. "Z" dışındaki zaman farkları da kabul edilir. Örnekler: |
acknowledgementState |
Yalnızca çıkış. Satın alma işleminin onay durumu. |
PurchaseStateContext
Satın alma durumuyla ilgili bağlam.
| JSON gösterimi |
|---|
{
"purchaseState": enum ( |
| Alanlar | |
|---|---|
purchaseState |
Yalnızca çıkış. Satın alma işleminin satın alma durumu. |
PurchaseState
Olası satın alma durumları.
| Sıralamalar | |
|---|---|
PURCHASE_STATE_UNSPECIFIED |
Satın alma durumu belirtilmemiş. Bu değer hiçbir zaman ayarlanmamalıdır. |
PURCHASED |
Başarıyla satın alındı. |
CANCELLED |
Satın alma işlemi iptal edildi. |
PENDING |
Satın alma işlemi beklemede ve henüz tamamlanmadı. Beklemede olan satın alma işlemlerini yönetme hakkında daha fazla bilgi için https://developer.android.com/google/play/billing/integrate#pending adresine bakın. |
TestPurchaseContext
Test satın alma işlemiyle ilgili bağlam.
| JSON gösterimi |
|---|
{
"fopType": enum ( |
| Alanlar | |
|---|---|
fopType |
Test satın alma işleminin ödeme şekli türü. |
FopType
Olası fop türleri.
| Sıralamalar | |
|---|---|
FOP_TYPE_UNSPECIFIED |
Fop türü belirtilmedi. Bu değer hiçbir zaman ayarlanmamalıdır. |
TEST |
Satın alma işlemi test kartı kullanılarak yapıldı. |
ProductLineItem
ProductPurchaseV2 için öğe düzeyinde bilgileri içerir.
| JSON gösterimi |
|---|
{
"productId": string,
"productOfferDetails": {
object ( |
| Alanlar | |
|---|---|
productId |
Satın alınan ürünün kimliği (örneğin, "monthly001"). |
productOfferDetails |
Bu öğeyle ilgili teklif ayrıntıları. |
ProductOfferDetails
Satın alma satır öğesiyle ilgili teklif ayrıntıları bilgileri.
| JSON gösterimi |
|---|
{ "offerTags": [ string ], "offerId": string, "purchaseOptionId": string, "rentOfferDetails": { object ( |
| Alanlar | |
|---|---|
offerTags[] |
Fırsatla ilişkili en son fırsat etiketleri. Satın alma seçeneğinden devralınan etiketleri içerir. |
offerId |
Teklif kimliği. Yalnızca fırsatlar için gösterilir. |
purchaseOptionId |
Satın alma seçeneği kimliği. |
rentOfferDetails |
Kiralama teklifleriyle ilgili ayrıntılar sunun. Bu yalnızca kiralama satır öğeleri için ayarlanır. |
offerToken |
Bu satın alma satır öğesini oluşturmak için kullanılan işlem başına teklif jetonu. |
quantity |
Uygulama içi ürünün satın alınmasıyla ilişkili miktar. |
refundableQuantity |
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. |
consumptionState |
Yalnızca çıkış. Satın alma işleminin tüketim durumu. |
RentOfferDetails
Bu türde alan yok.
Kiralama satır öğesiyle ilgili teklif ayrıntıları bilgileri.
ConsumptionState
Olası tüketim durumları.
| Sıralamalar | |
|---|---|
CONSUMPTION_STATE_UNSPECIFIED |
Tüketim durumu belirtilmemiş. Bu değer hiçbir zaman ayarlanmamalıdır. |
CONSUMPTION_STATE_YET_TO_BE_CONSUMED |
Henüz tüketilmedi. |
CONSUMPTION_STATE_CONSUMED |
Zaten kullanılmış. |
AcknowledgementState
Tek seferlik ürünün onay durumu.
| Sıralamalar | |
|---|---|
ACKNOWLEDGEMENT_STATE_UNSPECIFIED |
Onay durumu belirtilmemiş. |
ACKNOWLEDGEMENT_STATE_PENDING |
Satın alma işlemi henüz kabul edilmedi. |
ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED |
Satın alma işlemi kabul edilir. |
Yöntemler |
|
|---|---|
|
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. |