REST Resource: purchases.subscriptions

Kaynak: SubscriptionPurchase

Desteği sonlandırıldı: Bunun yerine SubscriptionPurchaseV2'yi kullanın. SubscriptionPurchase kaynağı, kullanıcının abonelik satın alma işleminin durumunu gösterir.

JSON gösterimi
{
  "kind": string,
  "startTimeMillis": string,
  "expiryTimeMillis": string,
  "autoResumeTimeMillis": string,
  "autoRenewing": boolean,
  "priceCurrencyCode": string,
  "priceAmountMicros": string,
  "introductoryPriceInfo": {
    object (IntroductoryPriceInfo)
  },
  "countryCode": string,
  "developerPayload": string,
  "paymentState": integer,
  "cancelReason": integer,
  "userCancellationTimeMillis": string,
  "cancelSurveyResult": {
    object (SubscriptionCancelSurveyResult)
  },
  "orderId": string,
  "linkedPurchaseToken": string,
  "purchaseType": integer,
  "priceChange": {
    object (SubscriptionPriceChange)
  },
  "profileName": string,
  "emailAddress": string,
  "givenName": string,
  "familyName": string,
  "profileId": string,
  "acknowledgementState": integer,
  "externalAccountId": string,
  "promotionType": integer,
  "promotionCode": string,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string
}
Alanlar
kind

string

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

startTimeMillis

string (int64 format)

Aboneliğin verildiği zaman (Epoch'tan beri geçen milisaniye cinsinden).

expiryTimeMillis

string (int64 format)

Aboneliğin sona ereceği zaman (Epoch'tan beri geçen milisaniye cinsinden).

autoResumeTimeMillis

string (int64 format)

Aboneliğin otomatik olarak devam ettirileceği zaman (Epoch'tan bu yana geçen milisaniye cinsinden). Yalnızca kullanıcı aboneliği duraklatmayı talep ettiyse gösterilir.

autoRenewing

boolean

Aboneliğin, geçerlilik süresi dolduğunda otomatik olarak yenilenip yenilenmeyeceği.

priceCurrencyCode

string

Abonelik fiyatı için ISO 4217 para birimi kodu. Örneğin, fiyat İngiliz sterlini cinsinden belirtilmişse priceCurrencyCode "GBP" olur.

priceAmountMicros

string (int64 format)

Abonelik fiyatı. Vergi hariç fiyatların geçerli olduğu ülkelerde fiyata vergi dahil değildir. Vergi dahil fiyatların geçerli olduğu ülkelerde fiyata vergi dahildir. Fiyat, mikro birim cinsinden ifade edilir. 1.000.000 mikro birim, para biriminin bir birimini temsil eder. Örneğin, abonelik fiyatı 1, 99 € ise priceAmountMicros değeri 1990000 olur.

introductoryPriceInfo

object (IntroductoryPriceInfo)

Aboneliğin tanıtım fiyatı bilgileri. Bu bölüm yalnızca abonelik tanıtım fiyatıyla satın alındığında gösterilir.

Bu alan, aboneliğin şu anda tanıtım fiyatı döneminde olduğunu belirtmez.

countryCode

string

Abonelik verilirken kullanıcının ISO 3166-1 alfa-2 fatura adresinin bulunduğu ülke kodu.

developerPayload

string

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

paymentState

integer

Aboneliğin ödeme durumu. Olası değerler: 0. Ödeme beklemede 1. Ödeme alındı 2. Ücretsiz deneme 3. Ertelenmiş yükseltme/düşürme işlemi beklemede

İptal edilen veya süresi dolmuş aboneliklerde gösterilmez.

cancelReason

integer

Aboneliğin iptal edilme veya otomatik olarak yenilenmeme nedeni. Olası değerler: 0. Kullanıcı, aboneliği iptal etti. Abonelik, sistem tarafından iptal edildi (ör. faturalandırma sorunu nedeniyle). Abonelik, yeni bir abonelikle (3) değiştirildi. Abonelik, geliştirici tarafından iptal edildi

userCancellationTimeMillis

string (int64 format)

Aboneliğin kullanıcı tarafından iptal edildiği zaman (dönemden bu yana geçen milisaniye cinsinden). Yalnızca cancelReason 0 ise bulunur.

cancelSurveyResult

object (SubscriptionCancelSurveyResult)

Kullanıcının abonelik iptali akışını tamamlarken sağladığı bilgiler (iptal nedeni anketi).

orderId

string

Abonelik satın alma işlemiyle ilişkili en son yinelenen siparişin sipariş kimliği. Abonelik, ödeme reddedildiği için iptal edildiyse bu, ödemenin reddedildiği siparişin sipariş kimliği olur.

linkedPurchaseToken

string

Bu abonelik aşağıdakilerden biriyse, ilk satın alma işleminin satın alma jetonu: 0. İptal edilmiş ancak süresi dolmamış bir aboneliğe yeniden kaydolma 1. Önceki abonelikten yükseltme/düşürme

Örneğin, bir kullanıcının ilk kaydolduğunu ve X satın alma jetonunu aldığınızı, ardından kullanıcının aboneliğini iptal edip yeniden kaydolma akışını tamamladığını (aboneliği sona ermeden önce) ve Y satın alma jetonunu aldığınızı, son olarak da kullanıcının aboneliğini yükselttiğini ve Z satın alma jetonunu aldığınızı varsayalım. Bu API'yi Z satın alma jetonuyla çağırırsanız bu alan Y olarak ayarlanır. Bu API'yi Y satın alma jetonuyla çağırırsanız bu alan X olarak ayarlanır. Bu API'yi X satın alma jetonuyla çağırırsanız bu alan ayarlanmaz.

purchaseType

integer

Aboneliğin 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ınan) 1. Promosyon (ör. promosyon kodu kullanılarak satın alınan)

priceChange

object (SubscriptionPriceChange)

En son fiyat değişikliği bilgileri Bu seçenek yalnızca abonelikte henüz uygulanmamış yaklaşan bir fiyat değişikliği olduğunda gösterilir.

Abonelik yeni fiyatla yenilendiğinde veya abonelik iptal edildiğinde fiyat değişikliği bilgisi döndürülmez.

profileName

string

Abonelik satın alındığında kullanıcının profil adı. Yalnızca "Google ile abone ol" kullanılarak yapılan satın alma işlemlerinde gösterilir.

emailAddress

string

Abonelik satın alındığında kullanıcının e-posta adresi. Yalnızca "Google ile abone ol" kullanılarak yapılan satın alma işlemlerinde gösterilir.

givenName

string

Abonelik satın alındığında kullanıcının verdiği ad. Yalnızca "Google ile abone ol" kullanılarak yapılan satın alma işlemlerinde gösterilir.

familyName

string

Abonelik satın alındığında kullanıcının soyadı. Yalnızca "Google ile abone ol" kullanılarak yapılan satın alma işlemlerinde gösterilir.

profileId

string

Abonelik satın alındığında kullanıcının Google profili kimliği. Yalnızca "Google ile abone ol" kullanılarak yapılan satın alma işlemlerinde gösterilir.

acknowledgementState

integer

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

externalAccountId

string

Üçüncü taraf hizmetindeki kullanıcı hesabı tanımlayıcısı. Yalnızca hesap bağlama işlemi abonelik satın alma süreci'nin bir parçası olarak gerçekleştiyse gösterilir.

promotionType

integer

Bu satın alma işleminde uygulanan promosyon türü. Bu alan yalnızca abonelik satın alınırken promosyon uygulandıysa ayarlanır. Olası değerler: 0. Tek seferlik kod 1. Özel kod

promotionCode

string

Bu satın alma işlemine uygulanan promosyon kodu. Bu alan yalnızca abonelik satın alınırken bir vanity kodu promosyonu uygulandıysa ayarlanır.

obfuscatedExternalAccountId

string

Uygulamanızda kullanıcının hesabıyla benzersiz şekilde ilişkilendirilmiş kimliğin karartılmış bir sürümü. Aşağıdaki satın alma işlemlerinde bulunur: * Hesap bağlama işlemi, abonelik satın alma sürecinin bir parçası olarak gerçekleştiyse. * Satın alma işlemi yapılırken https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid kullanılarak belirtilmiş olmalıdır.

obfuscatedExternalProfileId

string

Uygulamanızdaki kullanıcı 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.

IntroductoryPriceInfo

Aboneliğin tanıtım fiyatı bilgilerini içerir.

JSON gösterimi
{
  "introductoryPriceCurrencyCode": string,
  "introductoryPriceAmountMicros": string,
  "introductoryPricePeriod": string,
  "introductoryPriceCycles": integer
}
Alanlar
introductoryPriceCurrencyCode

string

Tanıtım amaçlı abonelik fiyatı için ISO 4217 para birimi kodu. Örneğin, fiyat İngiliz sterlini cinsinden belirtilmişse priceCurrencyCode "GBP" olur.

introductoryPriceAmountMicros

string (int64 format)

Aboneliğin vergi hariç tanıtım fiyatı. Para birimi, priceCurrencyCode ile aynıdır. Fiyat, mikro birim cinsinden ifade edilir. 1.000.000 mikro birim, para biriminin bir birimini temsil eder. Örneğin, abonelik fiyatı 1, 99 € ise priceAmountMicros değeri 1990000 olur.

introductoryPricePeriod

string

ISO 8601 biçiminde belirtilen, tanıtım fiyatı dönemi. Yaygın değerler arasında (ancak bunlarla sınırlı olmamak üzere) "P1W" (bir hafta), "P1M" (bir ay), "P3M" (üç ay), "P6M" (altı ay) ve "P1Y" (bir yıl) bulunur.

introductoryPriceCycles

integer

Tanıtım fiyatı sunulacak fatura dönemlerinin sayısı.

SubscriptionCancelSurveyResult

Kullanıcının abonelik iptali akışını tamamlarken sağladığı bilgiler (iptal nedeni anketi).

JSON gösterimi
{
  "cancelSurveyReason": integer,
  "userInputCancelReason": string
}
Alanlar
cancelSurveyReason

integer

Kullanıcının ankette seçtiği iptal nedeni. Olası değerler: 0. Diğer 1. Bu hizmeti yeterince kullanmıyorum 2. Teknik sorunlar 3. Maliyetle ilgili nedenler 4. Daha iyi bir uygulama buldum

userInputCancelReason

string

Kullanıcının özelleştirilmiş giriş iptal nedeni. Yalnızca cancelReason 0 olduğunda bulunur.

SubscriptionPriceChange

Uygulamadaki fiyat değişikliğiyle ilgili kullanıcı yolculuğunu kontrol etmek için kullanılabilecek abonelik fiyatı değişikliği bilgilerini içerir. Bu bilgiler, kullanıcıdan onay isteme veya deneyimi başarılı bir dönüşüm için uyarlama şeklinde olabilir.

JSON gösterimi
{
  "newPrice": {
    object (Price)
  },
  "state": integer
}
Alanlar
newPrice

object (Price)

Fiyat değişikliği kullanıcı tarafından kabul edilirse aboneliğin yenileneceği yeni fiyat.

state

integer

Fiyat değişikliğinin mevcut durumu. Olası değerler: 0. Beklemede: Kullanıcının kabul etmesi beklenen, bekleyen fiyat değişikliğinin durumu. Bu durumda, uygulama içi API'yi kullanarak kullanıcıdan onay alabilirsiniz. 1. Kabul edildi: Aboneliğin iptal edilmediği sürece yenileneceği kabul edilen fiyat değişikliğinin durumu. Fiyat değişikliği, abonelik yenilendiğinde gelecekteki bir tarihte geçerli olur. Değişikliğin, abonelik bir sonraki yenilemede gerçekleşmeyebileceğini unutmayın.

Yöntemler

acknowledge

Abonelik satın alma işlemini onaylar.

cancel
(deprecated)

Desteği sonlandırıldı: Bunun yerine purchases.subscriptionsv2.cancel'ı kullanın.

defer
(deprecated)

Desteği sonlandırıldı: Bunun yerine purchases.subscriptionsv2.defer'i kullanın.

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 / 410 subscriptionExpired Aboneliğin süresi dolduğundan istenen işlem gerçekleştirilemiyor. Aboneliğin son kullanma zamanını kontrol edin. Bu işleme, süresi dolmuş aboneliklerde izin verilmez.
400 subscriptionInvalidArgument Abonelik isteğinde geçersiz bir bağımsız değişken sağlandı. API dokümanlarını inceleyin ve gerekli tüm alanların sağlandığından ve doğru biçimlendirildiğinden emin olun.
400 invalidPurchaseState Satın alma işlemi, istenen işlemin gerçekleştirilmesi için geçerli bir durumda değil. Örneğin, halihazırda kullanılan 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 gönderildi. Bu hata genellikle hatalı biçimlendirilmiş 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 prepaidSubscriptionNotSupported İstenen işlem, ön ödemeli aboneliklerde desteklenmez. İşlemin abonelik türü için geçerli olduğundan emin olun. Bu hata, Cancel gibi yöntemlere özgüdür.
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 onaylanmadan önce geri ödeme yapıldıysa, iptal edildiyse veya 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. İstekteki tüm bilgilerin doğru olduğunu ve birbirleriyle eşleştiğini doğrulayın.
400 required İstekten gerekli 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 Aynı anda 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.
410 purchaseTokenNoLongerValid İlişkili kullanıcı hesabı silindiği veya satın alma kaydı artık mevcut olmadığı için satın alma jetonu kalıcı olarak geçersiz. Bu satın alma jetonunun kullanımını durdurun.
410 subscriptionNoLongerAvailable Abonelik satın alma işlemi çok uzun süre önce sona erdiği için artık sorgulanamıyor. Bu hata, aboneliğin süresinin 60 günden uzun bir süre önce dolduğunu gösterir. Artık bu abonelikleri sorgulamamalısınız.
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.