REST Resource: purchases.subscriptionsv2

Ressource: SubscriptionPurchaseV2

Zeigt den Status des Abokaufs eines Nutzers an.

JSON-Darstellung
{
  "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)
  }
}
Felder
kind

string

Diese Art stellt ein SubscriptionPurchaseV2-Objekt im androidpublisher-Dienst dar.

regionCode

string

ISO 3166-1 Alpha-2-Abrechnungsland-/Regionscode des Nutzers zum Zeitpunkt, als das Abo gewährt wurde.

lineItems[]

object (SubscriptionPurchaseLineItem)

Informationen auf Artikelebene für einen Abokauf. Die Artikel im selben Kauf sollten entweder alle mit AutoRenewingPlan oder alle mit PrepaidPlan sein.

startTime

string (Timestamp format)

Zeitpunkt, zu dem das Abo gewährt wurde. Nicht festgelegt für ausstehende Abonnements (Abonnement wurde erstellt, wartet aber auf Zahlung während der Registrierung).

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

subscriptionState

enum (SubscriptionState)

Der aktuelle Status des Abos.

latestOrderId

string

Die Bestell-ID der letzten Bestellung, die dem Kauf des Abos zugeordnet ist. Bei einem Abo mit automatischer Verlängerung ist dies die Bestell-ID der Registrierungsbestellung, falls diese noch nicht verlängert wurde, oder die letzte wiederkehrende Bestell-ID (erfolgreiche, ausstehende oder abgelehnte Bestellung). Bei einem Prepaid-Abo ist dies die Bestell-ID, die dem abgefragten Kauftoken zugeordnet ist.

linkedPurchaseToken

string

Das Kauftoken des alten Abos, wenn dieses Abo eines der folgenden ist: * Erneute Registrierung eines gekündigten, aber nicht abgelaufenen Abos. * Upgrade/Downgrade eines früheren Abos. * Wechseln Sie von einem Prepaid-Abo zu einem Abo mit automatischer Verlängerung. * Von einem Abo mit automatischer Verlängerung zu einem Prepaid-Tarif wechseln * Laden Sie ein Prepaid-Abo auf.

pausedStateContext

object (PausedStateContext)

Zusätzlicher Kontext zu pausierten Abos. Ist nur vorhanden, wenn für das Abonnement zurzeit subscriptionState SUBSCRIPTION_STATE_PAUSED aufweist.

canceledStateContext

object (CanceledStateContext)

Weitere Informationen zu gekündigten Abos. Ist nur vorhanden, wenn für das Abonnement zurzeit subscriptionState SUBSCRIPTION_STATE_CANCELED oder SUBSCRIPTION_STATE_ wäre.

testPurchase

object (TestPurchase)

Nur vorhanden, wenn dieser Abokauf ein Testkauf ist.

acknowledgementState

enum (AcknowledgementState)

Der Bestätigungsstatus des Abos.

externalAccountIdentifiers

object (ExternalAccountIdentifiers)

Nutzerkonto-ID im Drittanbieterdienst.

subscribeWithGoogleInfo

object (SubscribeWithGoogleInfo)

Nutzerprofil, das mit Käufen über „Abonnieren mit Google“ verknüpft ist.

SubscriptionState

Die potenziellen Status, in denen sich ein Abo befinden kann, z. B. ob es aktiv oder gekündigt ist. Die Elemente eines Abonnementkaufs können entweder alle Tarife mit automatischer Verlängerung oder Prepaid-Tarife sein.

Enums
SUBSCRIPTION_STATE_UNSPECIFIED Nicht angegebener Abostatus.
SUBSCRIPTION_STATE_PENDING Das Abo wurde erstellt, aber bei der Registrierung steht eine Zahlung aus. In diesem Status müssen alle Artikel bezahlt werden.
SUBSCRIPTION_STATE_ACTIVE Abonnement ist aktiv. – (1) Wenn es sich bei dem Abo um einen Tarif mit automatischer Verlängerung handelt, ist mindestens ein Artikel autoRenewEnabled und darf nicht abgelaufen sein. – (2) Wenn es sich um einen Prepaid-Tarif handelt, ist mindestens ein Artikel nicht abgelaufen.
SUBSCRIPTION_STATE_PAUSED Abo wurde pausiert. Der Status ist nur verfügbar, wenn es sich bei dem Abo um einen Tarif mit automatischer Verlängerung handelt. In diesem Status befinden sich alle Elemente im Status „Pausiert“.
SUBSCRIPTION_STATE_IN_GRACE_PERIOD Das Abo befindet sich im Kulanzzeitraum. Der Status ist nur verfügbar, wenn es sich bei dem Abo um einen Tarif mit automatischer Verlängerung handelt. In diesem Status befinden sich alle Artikel im Kulanzzeitraum.
SUBSCRIPTION_STATE_ON_HOLD Abo wurde ausgesetzt (gesperrt). Der Status ist nur verfügbar, wenn es sich bei dem Abo um einen Tarif mit automatischer Verlängerung handelt. In diesem Status werden alle Elemente auf „Hold“ gesetzt.
SUBSCRIPTION_STATE_CANCELED Das Abo wurde gekündigt, ist aber noch nicht abgelaufen. Der Status ist nur verfügbar, wenn es sich bei dem Abo um einen Tarif mit automatischer Verlängerung handelt. „autoRenewEnabled“ ist bei allen Elementen auf „false“ gesetzt.
SUBSCRIPTION_STATE_EXPIRED Das Abo ist abgelaufen. Alle Elemente haben eine expiryTime in der Vergangenheit.

PausedStateContext

Spezifische Informationen zu einem Abo im Status „Pausiert“.

JSON-Darstellung
{
  "autoResumeTime": string
}
Felder
autoResumeTime

string (Timestamp format)

Zeitpunkt, zu dem das Abo automatisch fortgesetzt wird.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

CanceledStateContext

Spezifische Informationen zu einem Abonnement mit dem Status SUBSCRIPTION_STATE_CANCELED oder SUBSCRIPTION_STATE_QUERYD.

JSON-Darstellung
{

  // 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.
}
Felder
Union-Feld cancellation_reason. Der Grund für die Kündigung eines Abos. Für cancellation_reason ist nur einer der folgenden Werte zulässig:
userInitiatedCancellation

object (UserInitiatedCancellation)

Das Abo wurde vom Nutzer gekündigt.

systemInitiatedCancellation

object (SystemInitiatedCancellation)

Das Abo wurde vom System gekündigt, beispielsweise aufgrund eines Abrechnungsproblems.

developerInitiatedCancellation

object (DeveloperInitiatedCancellation)

Das Abo wurde vom Entwickler gekündigt.

replacementCancellation

object (ReplacementCancellation)

Das Abo wurde durch ein neues Abo ersetzt.

UserInitiatedCancellation

Informationen speziell für von Nutzern initiierte Kündigungen.

JSON-Darstellung
{
  "cancelSurveyResult": {
    object (CancelSurveyResult)
  },
  "cancelTime": string
}
Felder
cancelSurveyResult

object (CancelSurveyResult)

Informationen, die der Nutzer bei der Kündigung des Abos angibt (Umfrage zu Kündigungsgründen).

cancelTime

string (Timestamp format)

Der Zeitpunkt, zu dem das Abo vom Nutzer gekündigt wurde. Der Nutzer hat nach dieser Zeit möglicherweise weiterhin Zugriff auf das Abo. Mit „lineItems.expiry_time“ können Sie feststellen, ob ein Nutzer noch Zugriff hat.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

CancelSurveyResult

Ergebnis der Kündigungsumfrage, als das Abo vom Nutzer gekündigt wurde.

JSON-Darstellung
{
  "reason": enum (CancelSurveyReason),
  "reasonUserInput": string
}
Felder
reason

enum (CancelSurveyReason)

Der Grund, den der Nutzer in der Umfrage zur Kündigung ausgewählt hat.

reasonUserInput

string

Nur für CANCEL_SURVEY_REASON_OTHERS festgelegt. Dies ist die freie Antwort des Nutzers bei der Umfrage.

CancelSurveyReason

Der Grund, den der Nutzer in der Umfrage zur Kündigung ausgewählt hat.

Enums
CANCEL_SURVEY_REASON_UNSPECIFIED Nicht angegebener Grund für die Kündigung der Umfrage.
CANCEL_SURVEY_REASON_NOT_ENOUGH_USAGE Das Abo wurde nicht ausreichend genutzt.
CANCEL_SURVEY_REASON_TECHNICAL_ISSUES Technische Probleme bei der Nutzung der App.
CANCEL_SURVEY_REASON_FOUND_BETTER_APP Der Nutzer hat eine bessere App gefunden.
CANCEL_SURVEY_REASON_OTHERS Sonstige Gründe.

SystemInitiatedCancellation

Dieser Typ hat keine Felder.

Informationen zu Kündigungen, die durch das Google-System veranlasst wurden.

DeveloperInitiatedCancellation

Dieser Typ hat keine Felder.

Spezifische Informationen zu Kündigungen, die von Entwicklern veranlasst wurden.

ReplacementCancellation

Dieser Typ hat keine Felder.

Informationen zu Stornierungen, die durch den Austausch von Abos verursacht wurden.

TestPurchase

Dieser Typ hat keine Felder.

Gibt an, ob es sich bei diesem Abokauf um einen Testkauf handelt.

AcknowledgementState

Die möglichen Bestätigungsstatus für ein Abo.

Enums
ACKNOWLEDGEMENT_STATE_UNSPECIFIED Nicht angegebener Bestätigungsstatus.
ACKNOWLEDGEMENT_STATE_PENDING Das Abo wurde noch nicht bestätigt.
ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED Das Abo wurde bestätigt.

ExternalAccountIdentifiers

Nutzerkonto-ID im Drittanbieterdienst.

JSON-Darstellung
{
  "externalAccountId": string,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string
}
Felder
externalAccountId

string

Nutzerkonto-ID im Drittanbieterdienst. Nur vorhanden, wenn die Kontoverknüpfung im Rahmen des Abokaufs erfolgte.

obfuscatedExternalAccountId

string

Eine verschleierte Version der ID, die dem Konto des Nutzers in Ihrer App eindeutig zugeordnet ist. Für folgende Käufe vorhanden: * Wenn die Kontoverknüpfung im Rahmen des Abokaufs erfolgt ist. * Sie wurde beim Kauf mit https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid angegeben.

obfuscatedExternalProfileId

string

Eine verschleierte Version der ID, die eindeutig dem Nutzerprofil in Ihrer App zugeordnet ist. Ist nur vorhanden, wenn dies beim Kauf mit https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid angegeben wurde.

SubscribeWithGoogleInfo

Informationen im Zusammenhang mit Käufen über „Abonnieren mit Google“.

JSON-Darstellung
{
  "profileId": string,
  "profileName": string,
  "emailAddress": string,
  "givenName": string,
  "familyName": string
}
Felder
profileId

string

Die Google-Profil-ID des Nutzers beim Kauf des Abos.

profileName

string

Der Profilname des Nutzers beim Kauf des Abos.

emailAddress

string

Die E-Mail-Adresse des Nutzers beim Kauf des Abos.

givenName

string

Der Vorname des Nutzers beim Kauf des Abos.

familyName

string

Der Familienname des Nutzers beim Kauf des Abos.

SubscriptionPurchaseLineItem

Informationen auf Artikelebene für einen Abokauf.

JSON-Darstellung
{
  "productId": string,
  "expiryTime": 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)
  }
  // End of list of possible types for union field deferred_item_change.
}
Felder
productId

string

Die ID des gekauften Produkts (z. B. „monthly001“)

expiryTime

string (Timestamp format)

Zeitpunkt, zu dem das Abo abgelaufen ist oder abläuft, sofern der Zugriff nicht verlängert wird (z. B. Verlängerung).

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

Union-Feld plan_type. Der Abotyp. Für plan_type ist nur einer der folgenden Werte zulässig:
autoRenewingPlan

object (AutoRenewingPlan)

Der Artikel wird automatisch verlängert.

prepaidPlan

object (PrepaidPlan)

Der Artikel ist im Voraus bezahlt.

offerDetails

object (OfferDetails)

Die Angebotsdetails für diesen Artikel.

Union-Feld deferred_item_change. Das Feld ist vorhanden, wenn ein Element eine nachträgliche Änderung aufweist. Sie kann entweder entfernt oder ersetzt werden. Für deferred_item_change ist nur einer der folgenden Werte zulässig:
deferredItemReplacement

object (DeferredItemReplacement)

Informationen zum verzögerten Austausch von Artikeln.

AutoRenewingPlan

Informationen zu einem Tarif mit automatischer Verlängerung.

JSON-Darstellung
{
  "autoRenewEnabled": boolean,
  "priceChangeDetails": {
    object (SubscriptionItemPriceChangeDetails)
  },
  "installmentDetails": {
    object (InstallmentPlan)
  }
}
Felder
autoRenewEnabled

boolean

Wenn das Abo derzeit auf „Automatisch verlängern“ eingestellt ist, z.B. wenn der Nutzer es nicht gekündigt hat

priceChangeDetails

object (SubscriptionItemPriceChangeDetails)

Die Informationen zur letzten Preisänderung für den Artikel seit Abschluss des Abos.

installmentDetails

object (InstallmentPlan)

Die Zusicherung des Ratenplans und zustandsbezogene Informationen für den Tarif mit automatischer Verlängerung.

SubscriptionItemPriceChangeDetails

Informationen zu einer Preisänderung eines Aboartikels.

JSON-Darstellung
{
  "newPrice": {
    object (Money)
  },
  "priceChangeMode": enum (PriceChangeMode),
  "priceChangeState": enum (PriceChangeState),
  "expectedNewPriceChargeTime": string
}
Felder
newPrice

object (Money)

Neuer wiederkehrender Preis für das Abo.

priceChangeMode

enum (PriceChangeMode)

Der Preisänderungsmodus gibt an, wie sich der Preis des Aboartikels ändert.

priceChangeState

enum (PriceChangeState)

Aktueller Status der Preisänderung.

expectedNewPriceChargeTime

string (Timestamp format)

Der Verlängerungszeitpunkt, zu dem die Preisänderung für den Nutzer wirksam wird. Der Zeitpunkt kann sich noch ändern, wenn sich die Verlängerungszeit ändert, z. B. durch eine Pause. Dieses Feld wird nur gefüllt, wenn die Preisänderung noch nicht übernommen wurde.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

PriceChangeMode

Der Modus der Preisänderung.

Enums
PRICE_CHANGE_MODE_UNSPECIFIED Preisänderungsmodus nicht angegeben. Dieser Wert sollte nie festgelegt werden.
PRICE_DECREASE Wenn der Abopreis sinkt.
PRICE_INCREASE Wenn der Abopreis steigt und der Nutzer es akzeptieren muss.
OPT_OUT_PRICE_INCREASE Der Abopreis steigt mit dem Deaktivierungsmodus.

PriceChangeState

Der Status der Preisänderung.

Enums
PRICE_CHANGE_STATE_UNSPECIFIED Status der Preisänderung nicht angegeben. Dieser Wert sollte nicht verwendet werden.
OUTSTANDING Es wird darauf gewartet, dass der Nutzer der Preisänderung zustimmt.
CONFIRMED Es wird bestätigt, dass die Preisänderung für den Nutzer eintritt.
APPLIED Die Preisänderung wird angewendet, d.h., dem Nutzer wird der neue Preis in Rechnung gestellt.

InstallmentPlan

Informationen zu einem Ratenplan.

JSON-Darstellung
{
  "initialCommittedPaymentsCount": integer,
  "subsequentCommittedPaymentsCount": integer,
  "remainingCommittedPaymentsCount": integer,
  "pendingCancellation": {
    object (PendingCancellation)
  }
}
Felder
initialCommittedPaymentsCount

integer

Gesamtzahl der Zahlungen, für die der Nutzer ursprünglich zugesagt wurde.

subsequentCommittedPaymentsCount

integer

Gesamtzahl der Zahlungen, für die sich der Nutzer nach jedem Zusicherungszeitraum zusichert. Leer bedeutet, dass der Ratenplan nach der ursprünglichen Zusicherung auf ein normales Abo mit automatischer Verlängerung zurückgesetzt wird.

remainingCommittedPaymentsCount

integer

Gesamtzahl der ausstehenden Zahlungen, die in diesem Verlängerungszyklus zu zahlen sind.

pendingCancellation

object (PendingCancellation)

Falls vorhanden, muss dieser Ratenplan demnächst gekündigt werden. Die Stornierung erfolgt erst, nachdem der Nutzer alle zugesicherten Zahlungen abgeschlossen hat.

PendingCancellation

Dieser Typ hat keine Felder.

Dies ist ein Indikator dafür, ob für den virtuellen Ratenplan eine ausstehende Stornierung besteht. Die Stornierung erfolgt erst, nachdem der Nutzer alle zugesicherten Zahlungen abgeschlossen hat.

PrepaidPlan

Informationen zu einem Prepaid-Tarif.

JSON-Darstellung
{
  "allowExtendAfterTime": string
}
Felder
allowExtendAfterTime

string (Timestamp format)

Falls vorhanden, ist dies der Zeitraum, nach dem das Aufladen für den Prepaid-Tarif möglich ist. Ist bei abgelaufenen Prepaid-Tarifen nicht vorhanden.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

OfferDetails

Angebotsdetails zu einer Kaufposition

JSON-Darstellung
{
  "offerTags": [
    string
  ],
  "basePlanId": string,
  "offerId": string
}
Felder
offerTags[]

string

Die neuesten Angebots-Tags, die mit dem Angebot verknüpft sind. Es enthält Tags, die aus dem Basis-Abo übernommen wurden.

basePlanId

string

Die Basis-Abo-ID. Für alle Basis-Abos und Angebote vorhanden.

offerId

string

Die Angebots-ID. Kann nur für ermäßigte Angebote verwendet werden.

DeferredItemReplacement

Informationen zum verzögerten Austausch von Artikeln.

JSON-Darstellung
{
  "productId": string
}
Felder
productId

string

Die productId, die die vorhandene productId ersetzt.

Methoden

get

Metadaten zu einem Abo abrufen

revoke

Einen Abokauf für den Nutzer widerrufen.