REST Resource: purchases.subscriptionsv2

Kaynak: SubscriptionPurchaseV2

Kullanıcının abonelik satın alma işleminin durumunu gösterir.

JSON gösterimi
{
  "kind": string,
  "regionCode": string,
  "lineItems": [
    {
      object (SubscriptionPurchaseLineItem)
    }
  ],
  "startTime": string,
  "subscriptionState": enum (SubscriptionState),
  "latestOrderId": string,
  "linkedPurchaseToken": string,
  "pausedStateContext": {
    object (PausedStateContext)
  },
  "canceledStateContext": {
    object (CanceledStateContext)
  },
  "testPurchase": {
    object (TestPurchase)
  },
  "acknowledgementState": enum (AcknowledgementState),
  "externalAccountIdentifiers": {
    object (ExternalAccountIdentifiers)
  },
  "subscribeWithGoogleInfo": {
    object (SubscribeWithGoogleInfo)
  }
}
Alanlar
kind

string

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

regionCode

string

Abonelik verildiği sırada kullanıcının ISO 3166-1 alfa-2 faturalandırma ülke/bölge kodu.

lineItems[]

object (SubscriptionPurchaseLineItem)

Abonelik satın alma işlemiyle ilgili öğe düzeyinde bilgiler. Aynı satın alma işlemindeki öğelerin tamamı AutoRenewingPlan veya PrepaidPlan ile olmalıdır.

startTime

string (Timestamp format)

Aboneliğin verildiği zaman. Beklemede olan abonelikler için ayarlanmaz (abonelik oluşturuldu ancak kaydolma sırasında ödeme bekleniyor).

Oluşturulan çıkışın her zaman Z ile normalleştirildiği ve 0, 3, 6 veya 9 kesirli basamak kullandığı RFC 3339'u kullanır. "Z" dışındaki saat farkları da kabul edilir. Örnekler: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" veya "2014-10-02T15:01:23+05:30".

subscriptionState

enum (SubscriptionState)

Aboneliğin mevcut durumu.

latestOrderId
(deprecated)

string

Desteği sonlandırıldı: Bunun yerine lineItems.latest_successful_order_id kullanın. Aboneliğin satın alınmasıyla ilişkili en son siparişin sipariş kimliği. Otomatik yenilenen aboneliklerde bu, henüz yenilenmemişse kayıt siparişinin sipariş kimliği veya son yinelenen siparişin kimliğidir (başarılı, bekleyen veya reddedilen sipariş). Ön ödemeli abonelik için bu, sorgulanan satın alma jetonuyla ilişkili sipariş kimliğidir.

linkedPurchaseToken

string

Aşağıdaki durumlarda eski aboneliğin satın alma jetonu: * İptal edilmiş ancak süresi dolmamış bir aboneliğin yeniden kaydı * Önceki bir abonelikten yükseltme/düşürme * Ön ödemeli abonelikten otomatik yenilenen aboneliğe geçiş yapma * Otomatik yenilenen abonelikten ön ödemeli aboneliğe geçiş yapma * Ön ödemeli aboneliğe para ekleme

pausedStateContext

object (PausedStateContext)

Duraklatılan aboneliklerle ilgili ek bağlam. Yalnızca aboneliğin mevcut subscriptionState değeri SUBSCRIPTION_STATE_PAUSED ise bulunur.

canceledStateContext

object (CanceledStateContext)

İptal edilen aboneliklerle ilgili ek bilgiler. Yalnızca aboneliğin mevcut subscriptionState değeri SUBSCRIPTION_STATE_CANCELED veya SUBSCRIPTION_STATE_EXPIRED ise mevcut olur.

testPurchase

object (TestPurchase)

Yalnızca bu abonelik satın alma işlemi bir test satın alma işlemiyse gösterilir.

acknowledgementState

enum (AcknowledgementState)

Aboneliğin onay durumu.

externalAccountIdentifiers

object (ExternalAccountIdentifiers)

Üçüncü taraf hizmetindeki kullanıcı hesabı tanımlayıcısı.

subscribeWithGoogleInfo

object (SubscribeWithGoogleInfo)

"Google ile abone olun" kullanılarak yapılan satın alma işlemlerinin ilişkilendirildiği kullanıcı profili.

SubscriptionState

Aboneliğin olası durumları (ör. etkin veya iptal edilmiş olması). Abonelik satın alma işlemindeki öğeler otomatik yenilenen planlar veya ön ödemeli planlar olabilir.

Sıralamalar
SUBSCRIPTION_STATE_UNSPECIFIED Belirtilmemiş abonelik durumu.
SUBSCRIPTION_STATE_PENDING Abonelik oluşturuldu ancak kayıt sırasında ödeme bekleniyor. Bu durumda, tüm öğeler ödeme beklemektedir.
SUBSCRIPTION_STATE_ACTIVE Abonelik etkin olmalıdır. - (1) Abonelik, otomatik yenilenen bir plan ise en az bir öğe autoRenewEnabled ve süresi dolmamış olmalıdır. - (2) Abonelik ön ödemeli bir plan ise en az bir öğenin süresi dolmamış olmalıdır.
SUBSCRIPTION_STATE_PAUSED Abonelik duraklatıldı. Durum yalnızca abonelik otomatik yenilenen bir plan olduğunda kullanılabilir. Bu durumda tüm öğeler duraklatılmış durumdadır.
SUBSCRIPTION_STATE_IN_GRACE_PERIOD Abonelik ek süre içinde olmalıdır. Durum yalnızca abonelik otomatik yenilenen bir plan olduğunda kullanılabilir. Bu durumda, tüm öğeler ek süre içindedir.
SUBSCRIPTION_STATE_ON_HOLD Abonelik beklemede (askıya alınmış) olmalıdır. Durum yalnızca abonelik otomatik yenilenen bir plan olduğunda kullanılabilir. Bu durumda tüm öğeler bekletilir.
SUBSCRIPTION_STATE_CANCELED Abonelik iptal edildi ancak süresi henüz dolmadı. Durum yalnızca abonelik otomatik yenilenen bir plan olduğunda kullanılabilir. Tüm öğelerde autoRenewEnabled değeri false olarak ayarlanmıştır.
SUBSCRIPTION_STATE_EXPIRED Aboneliğin süresi doldu. Tüm öğelerin geçerlilik tarihi geçmişte kalmıştır.
SUBSCRIPTION_STATE_PENDING_PURCHASE_CANCELED Abonelikle ilgili bekleyen işlem iptal edildi. Beklemede olan bu satın alma işlemi mevcut bir abonelik içinse bu aboneliğin mevcut durumunu almak üzere linkedPurchaseToken'ı kullanın.

PausedStateContext

Duraklatılmış durumdaki bir aboneliğe özel bilgiler.

JSON gösterimi
{
  "autoResumeTime": string
}
Alanlar
autoResumeTime

string (Timestamp format)

Aboneliğin otomatik olarak devam ettirileceği zaman.

Oluşturulan çıkışın her zaman Z ile normalleştirildiği ve 0, 3, 6 veya 9 kesirli basamak kullandığı RFC 3339'u kullanır. "Z" dışındaki saat farkları da kabul edilir. Örnekler: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" veya "2014-10-02T15:01:23+05:30".

CanceledStateContext

SUBSCRIPTION_STATE_CANCELED veya SUBSCRIPTION_STATE_EXPIRED durumundaki bir aboneliğe özgü bilgiler.

JSON gösterimi
{

  // Union field cancellation_reason can be only one of the following:
  "userInitiatedCancellation": {
    object (UserInitiatedCancellation)
  },
  "systemInitiatedCancellation": {
    object (SystemInitiatedCancellation)
  },
  "developerInitiatedCancellation": {
    object (DeveloperInitiatedCancellation)
  },
  "replacementCancellation": {
    object (ReplacementCancellation)
  }
  // End of list of possible types for union field cancellation_reason.
}
Alanlar
Birleştirme alanı cancellation_reason. Aboneliğin iptal edilme nedeni. cancellation_reason yalnızca aşağıdakilerden biri olabilir:
userInitiatedCancellation

object (UserInitiatedCancellation)

Abonelik, kullanıcı tarafından iptal edildi.

systemInitiatedCancellation

object (SystemInitiatedCancellation)

Abonelik, faturalandırma sorunu gibi nedenlerle sistem tarafından iptal edildi.

developerInitiatedCancellation

object (DeveloperInitiatedCancellation)

Abonelik, geliştirici tarafından iptal edildi.

replacementCancellation

object (ReplacementCancellation)

Abonelik, yeni bir abonelikle değiştirildi.

UserInitiatedCancellation

Kullanıcılar tarafından başlatılan iptallere özgü bilgiler.

JSON gösterimi
{
  "cancelSurveyResult": {
    object (CancelSurveyResult)
  },
  "cancelTime": string
}
Alanlar
cancelSurveyResult

object (CancelSurveyResult)

Kullanıcının abonelik iptali sürecini tamamlarken sağladığı bilgiler (iptal nedeni anketi).

cancelTime

string (Timestamp format)

Aboneliğin kullanıcı tarafından iptal edildiği zaman. Kullanıcı, bu sürenin ardından aboneliğe erişmeye devam edebilir. Kullanıcının erişiminin devam edip etmediğini belirlemek için lineItems.expiry_time özelliğini kullanın.

Oluşturulan çıkışın her zaman Z ile normalleştirildiği ve 0, 3, 6 veya 9 kesirli basamak kullandığı RFC 3339'u kullanır. "Z" dışındaki saat farkları da kabul edilir. Örnekler: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" veya "2014-10-02T15:01:23+05:30".

CancelSurveyResult

Abonelik kullanıcı tarafından iptal edildiğinde iptal anketinin sonucu.

JSON gösterimi
{
  "reason": enum (CancelSurveyReason),
  "reasonUserInput": string
}
Alanlar
reason

enum (CancelSurveyReason)

Kullanıcının iptal anketinde seçtiği neden.

reasonUserInput

string

Yalnızca CANCEL_SURVEY_REASON_OTHERS için ayarlandı. Bu, kullanıcının ankete verdiği serbest biçimli yanıttır.

CancelSurveyReason

Kullanıcının iptal anketinde seçtiği neden.

Sıralamalar
CANCEL_SURVEY_REASON_UNSPECIFIED Anketin iptal nedeni belirtilmedi.
CANCEL_SURVEY_REASON_NOT_ENOUGH_USAGE Abonelik yeterince kullanılmıyor.
CANCEL_SURVEY_REASON_TECHNICAL_ISSUES Uygulamayı kullanırken teknik sorunlar.
CANCEL_SURVEY_REASON_FOUND_BETTER_APP Kullanıcı daha iyi bir uygulama buldu.
CANCEL_SURVEY_REASON_OTHERS Diğer nedenler.

SystemInitiatedCancellation

Bu türde alan yok.

Google sistemi tarafından başlatılan iptallere özgü bilgiler.

DeveloperInitiatedCancellation

Bu türde alan yok.

Geliştiriciler tarafından başlatılan iptallere özgü bilgiler.

ReplacementCancellation

Bu türde alan yok.

Abonelik değişikliğinden kaynaklanan iptallere özgü bilgiler.

TestPurchase

Bu türde alan yok.

Bu abonelik satın alma işleminin bir test satın alma işlemi olup olmadığı.

AcknowledgementState

Bir abonelik için olası onay durumları.

Sıralamalar
ACKNOWLEDGEMENT_STATE_UNSPECIFIED Onay durumu belirtilmemiş.
ACKNOWLEDGEMENT_STATE_PENDING Abonelik henüz onaylanmadı.
ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED Abonelik kabul edilir.

ExternalAccountIdentifiers

Üçüncü taraf hizmetindeki kullanıcı hesabı tanımlayıcısı.

JSON gösterimi
{
  "externalAccountId": string,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string
}
Alanlar
externalAccountId

string

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

obfuscatedExternalAccountId

string

Uygulamanızdaki kullanıcı 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 akışının 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

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.

SubscribeWithGoogleInfo

"Google ile abone ol" kullanılarak yapılan satın alma işlemleriyle ilişkili bilgiler.

JSON gösterimi
{
  "profileId": string,
  "profileName": string,
  "emailAddress": string,
  "givenName": string,
  "familyName": string
}
Alanlar
profileId

string

Abonelik satın alındığında kullanıcının Google profili kimliği.

profileName

string

Abonelik satın alındığında kullanıcının profil adı.

emailAddress

string

Abonelik satın alındığında kullanıcının e-posta adresi.

givenName

string

Abonelik satın alındığında kullanıcının adı.

familyName

string

Abonelik satın alındığında kullanıcının soyadı.

SubscriptionPurchaseLineItem

Abonelik satın alma işlemiyle ilgili öğe düzeyinde bilgiler.

JSON gösterimi
{
  "productId": string,
  "expiryTime": string,
  "latestSuccessfulOrderId": string,

  // Union field plan_type can be only one of the following:
  "autoRenewingPlan": {
    object (AutoRenewingPlan)
  },
  "prepaidPlan": {
    object (PrepaidPlan)
  }
  // End of list of possible types for union field plan_type.
  "offerDetails": {
    object (OfferDetails)
  },

  // Union field deferred_item_change can be only one of the following:
  "deferredItemReplacement": {
    object (DeferredItemReplacement)
  },
  "deferredItemRemoval": {
    object (DeferredItemRemoval)
  }
  // End of list of possible types for union field deferred_item_change.
  "signupPromotion": {
    object (SignupPromotion)
  }
}
Alanlar
productId

string

Satın alınan ürünün kimliği (örneğin, "monthly001").

expiryTime

string (Timestamp format)

Aboneliğin süresinin dolduğu veya erişim uzatılmadığı (ör. yenileme) takdirde dolacağı zaman.

Oluşturulan çıkışın her zaman Z ile normalleştirildiği ve 0, 3, 6 veya 9 kesirli basamak kullandığı RFC 3339'u kullanır. "Z" dışındaki saat farkları da kabul edilir. Örnekler: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" veya "2014-10-02T15:01:23+05:30".

latestSuccessfulOrderId

string

Bu öğeyle ilişkili en son başarılı siparişin sipariş kimliği. Öğe henüz kullanıcının mülkiyetinde değilse (ör. öğenin değiştirilmesi ertelenmişse) bu alan bulunmaz.

Birleştirme alanı plan_type. Abonelik planı türü. plan_type yalnızca aşağıdakilerden biri olabilir:
autoRenewingPlan

object (AutoRenewingPlan)

Öğe otomatik olarak yenileniyordur.

prepaidPlan

object (PrepaidPlan)

Öğe ön ödemelidir.

offerDetails

object (OfferDetails)

Bu öğeyle ilgili teklif ayrıntıları.

Birleştirme alanı deferred_item_change. Alan, bir öğede ertelenmiş değişiklik olduğunda mevcuttur. Kaldırılabilir veya değiştirilebilir. deferred_item_change yalnızca aşağıdakilerden biri olabilir:
deferredItemReplacement

object (DeferredItemReplacement)

Ertelenen öğe değişimiyle ilgili bilgiler.

deferredItemRemoval

object (DeferredItemRemoval)

Öğelerin kaldırılmasının ertelenmesiyle ilgili bilgiler.

signupPromotion

object (SignupPromotion)

Bu öğeyle ilgili promosyon ayrıntıları. Yalnızca kayıt sırasında promosyon uygulandıysa ayarlanır.

AutoRenewingPlan

Otomatik yenilenen planla ilgili bilgiler.

JSON gösterimi
{
  "autoRenewEnabled": boolean,
  "recurringPrice": {
    object (Money)
  },
  "priceChangeDetails": {
    object (SubscriptionItemPriceChangeDetails)
  },
  "installmentDetails": {
    object (InstallmentPlan)
  }
}
Alanlar
autoRenewEnabled

boolean

Abonelik şu anda otomatik yenilenecek şekilde ayarlanmışsa (ör. kullanıcı aboneliği iptal etmediyse)

recurringPrice

object (Money)

Otomatik yenilenen planın mevcut yinelenen fiyatı. Fiyatın indirimleri dikkate almadığını ve vergi hariç fiyatlandırma için vergileri içermediğini unutmayın. İşlem ayrıntıları gerekiyorsa lütfen orders.get API'sini arayın.

priceChangeDetails

object (SubscriptionItemPriceChangeDetails)

Abonelik kaydından bu yana öğenin fiyatında yapılan son değişikliğe ait bilgiler.

installmentDetails

object (InstallmentPlan)

Otomatik yenilenen planla ilgili taksit planı taahhüdü ve durum bilgileri.

SubscriptionItemPriceChangeDetails

Abonelik öğesinin fiyat değişikliğiyle ilgili bilgiler.

JSON gösterimi
{
  "newPrice": {
    object (Money)
  },
  "priceChangeMode": enum (PriceChangeMode),
  "priceChangeState": enum (PriceChangeState),
  "expectedNewPriceChargeTime": string
}
Alanlar
newPrice

object (Money)

Abonelik öğesinin yeni yinelenen fiyatı.

priceChangeMode

enum (PriceChangeMode)

Fiyat değişikliği modu, abonelik öğesi fiyatının nasıl değiştiğini belirtir.

priceChangeState

enum (PriceChangeState)

Fiyat değişikliğinin şu anda hangi aşamada olduğunu belirtin.

expectedNewPriceChargeTime

string (Timestamp format)

Fiyat değişikliğinin kullanıcı için geçerli olacağı yenileme zamanı. Yenileme zamanının duraklatma gibi nedenlerle değiştiği durumlarda bu tarih değişebilir(gelecekteki bir zamana). Bu alan yalnızca fiyat değişikliği geçerli olmadığında doldurulur.

Oluşturulan çıkışın her zaman Z ile normalleştirildiği ve 0, 3, 6 veya 9 kesirli basamak kullandığı RFC 3339'u kullanır. "Z" dışındaki saat farkları da kabul edilir. Örnekler: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" veya "2014-10-02T15:01:23+05:30".

PriceChangeMode

Fiyat değişikliğinin modu.

Sıralamalar
PRICE_CHANGE_MODE_UNSPECIFIED Fiyat değişikliği modu belirtilmemiş. Bu değer hiçbir zaman ayarlanmamalıdır.
PRICE_DECREASE Abonelik fiyatı düşüyorsa
PRICE_INCREASE Abonelik fiyatı artıyorsa ve kullanıcının bunu kabul etmesi gerekiyorsa
OPT_OUT_PRICE_INCREASE Abonelik ücreti, kullanıcı onayı istenmeyen fiyat artışı moduyla artıyorsa.

PriceChangeState

Fiyat değişikliğinin durumu.

Sıralamalar
PRICE_CHANGE_STATE_UNSPECIFIED Fiyat değişikliği durumu belirtilmemiş. Bu değer kullanılmamalıdır.
OUTSTANDING Kullanıcının fiyat değişikliğini kabul etmesi bekleniyor.
CONFIRMED Fiyat değişikliğinin kullanıcı için gerçekleştiği onaylanır.
APPLIED Fiyat değişikliği uygulanır. Örneğin, kullanıcıdan yeni fiyat üzerinden ödeme alınmaya başlanır.
CANCELED Fiyat değişikliği iptal edildi.

InstallmentPlan

Taksit planı hakkında bilgi.

JSON gösterimi
{
  "initialCommittedPaymentsCount": integer,
  "subsequentCommittedPaymentsCount": integer,
  "remainingCommittedPaymentsCount": integer,
  "pendingCancellation": {
    object (PendingCancellation)
  }
}
Alanlar
initialCommittedPaymentsCount

integer

Kullanıcının başlangıçta taahhüt ettiği toplam ödeme sayısı.

subsequentCommittedPaymentsCount

integer

Kullanıcının her taahhüt döneminden sonra taahhüt edeceği toplam ödeme sayısı. Boş, taksit planının ilk taahhütten sonra normal bir otomatik yenileme aboneliğine geri döneceği anlamına gelir.

remainingCommittedPaymentsCount

integer

Bu yenileme döneminde ödenmesi gereken toplam taahhütlü ödeme sayısı.

pendingCancellation

object (PendingCancellation)

Bu taksit planı varsa iptal edilmeyi bekliyor demektir. İptal işlemi yalnızca kullanıcı taahhüt edilen tüm ödemeleri tamamladıktan sonra gerçekleşir.

PendingCancellation

Bu türde alan yok.

Bu, sanal taksit planında bekleyen bir iptal olup olmadığını gösterir. İptal işlemi yalnızca kullanıcı taahhüt edilen tüm ödemeleri tamamladıktan sonra gerçekleşir.

PrepaidPlan

Ön ödemeli planla ilgili bilgiler.

JSON gösterimi
{
  "allowExtendAfterTime": string
}
Alanlar
allowExtendAfterTime

string (Timestamp format)

Varsa bu, ön ödemeli plana para ekleme satın alma işlemlerine izin verilen süredir. Süresi dolmuş ön ödemeli planlarda görünmez.

Oluşturulan çıkışın her zaman Z ile normalleştirildiği ve 0, 3, 6 veya 9 kesirli basamak kullandığı RFC 3339'u kullanır. "Z" dışındaki saat farkları da kabul edilir. Örnekler: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" veya "2014-10-02T15:01:23+05:30".

OfferDetails

Satın alma satır öğesiyle ilgili teklif ayrıntıları bilgileri.

JSON gösterimi
{
  "offerTags": [
    string
  ],
  "basePlanId": string,
  "offerId": string
}
Alanlar
offerTags[]

string

Teklifle ilişkili en son teklif etiketleri. Temel plandan devralınan etiketleri içerir.

basePlanId

string

Temel plan kimliği. Tüm temel planlar ve fırsatlar için geçerlidir.

offerId

string

Teklif kimliği. Yalnızca indirimli teklifler için gösterilir.

DeferredItemReplacement

Ertelenen ürün değişimiyle ilgili bilgiler.

JSON gösterimi
{
  "productId": string
}
Alanlar
productId

string

Mevcut productId'nin yerine geçecek productId.

DeferredItemRemoval

Bu türde alan yok.

Ertelenen ürün değişimiyle ilgili bilgiler.

SignupPromotion

Satın alındığında bu öğeye uygulanan promosyon.

JSON gösterimi
{

  // Union field promotion_type can be only one of the following:
  "oneTimeCode": {
    object (OneTimeCode)
  },
  "vanityCode": {
    object (VanityCode)
  }
  // End of list of possible types for union field promotion_type.
}
Alanlar
Birleştirme alanı promotion_type. Öğeye uygulanan promosyon türü. promotion_type yalnızca aşağıdakilerden biri olabilir:
oneTimeCode

object (OneTimeCode)

Tek kullanımlık bir kod uygulandı.

vanityCode

object (VanityCode)

Bir özel kod uygulandı.

OneTimeCode

Bu türde alan yok.

Tek kullanımlık promosyon kodu

VanityCode

Birden fazla kez kullanılabilen, önceden tanımlanmış bir promosyon kodu.

JSON gösterimi
{
  "promotionCode": string
}
Alanlar
promotionCode

string

Promosyon kodu

Yöntemler

get

Abonelikle ilgili meta verileri alma

revoke

Kullanıcının abonelik satın alma işlemini iptal edin.