REST Resource: purchases.subscriptionsv2

Ressource: SubscriptionPurchaseV2

Gibt 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-Code für das Land/die Region der Rechnungsadresse des Nutzers zum Zeitpunkt der Abovergabe.

lineItems[]

object (SubscriptionPurchaseLineItem)

Informationen auf Artikelebene für einen Abokauf. Die Elemente 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 Abos (Abo wurde erstellt, aber bei der Anmeldung wird auf die Zahlung gewartet).

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 mit dem Kauf des Abos verknüpft ist. Bei einem Abonnement mit automatischer Verlängerung ist dies die Bestell-ID des Registrierungsauftrags, falls dieser noch nicht verlängert wurde, oder die letzte Dauerauftrags-ID (erfolgreich, ausstehend oder abgelehnt). Bei einem Prepaid-Abo ist dies die Bestell-ID, die dem abgefragten Kauftoken zugeordnet ist.

linkedPurchaseToken

string

Das Kauftoken des alten Abos, wenn es sich um eines der folgenden Abos handelt: * Erneute Registrierung eines gekündigten, aber nicht abgelaufenen Abos * Upgrade/Downgrade von einem früheren Abo * Von Prepaid-Abo zu Abo mit automatischer Verlängerung wechseln. * Von einem Abo mit automatischer Verlängerung zu einem Prepaid-Tarif wechseln. * Prepaid-Abo aufladen.

pausedStateContext

object (PausedStateContext)

Zusätzlicher Kontext zu pausierten Abos. Nur vorhanden, wenn das Abo derzeit den Wert „subscriptionState“ SUBSCRIPTION_STATE_PAused hat.

canceledStateContext

object (CanceledStateContext)

Zusätzlicher Kontext zu gekündigten Abos Nur vorhanden, wenn das Abo derzeit das Abo „subscriptionState“ SUBSCRIPTION_STATE_CANCELED oder SUBSCRIPTION_STATE_EXPIRED hat.

testPurchase

object (TestPurchase)

Nur vorhanden, wenn es sich bei diesem Abokauf um einen Testkauf handelt.

acknowledgementState

enum (AcknowledgementState)

Der Bestätigungsstatus des Abos.

externalAccountIdentifiers

object (ExternalAccountIdentifiers)

ID des Nutzerkontos im Drittanbieterdienst.

subscribeWithGoogleInfo

object (SubscribeWithGoogleInfo)

Nutzerprofil, das mit Käufen verknüpft ist, die mit „Abonnieren mit Google“ getätigt wurden.

SubscriptionState

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

Enums
SUBSCRIPTION_STATE_UNSPECIFIED Unbekannter Abostatus.
SUBSCRIPTION_STATE_PENDING Das Abo wurde erstellt, aber die Zahlung steht bei der Registrierung aus. In diesem Status steht die Zahlung für alle Artikel aus.
SUBSCRIPTION_STATE_ACTIVE Abonnement ist aktiv. – (1) Wenn es sich bei dem Abo um einen sich automatisch verlängernden Tarif handelt, wird mindestens ein Artikel für „autoRenewEnabled“ festgelegt und ist nicht abgelaufen. - (2) Wenn es sich bei dem Abonnement um einen Prepaid-Tarif handelt, ist mindestens ein Artikel nicht abgelaufen.
SUBSCRIPTION_STATE_PAUSED Das Abo ist pausiert. Der Status ist nur verfügbar, wenn es sich um ein Abo mit automatischer Verlängerung handelt. In diesem Status befinden sich alle Elemente im Status „Pausiert“.
SUBSCRIPTION_STATE_IN_GRACE_PERIOD Abo befindet sich im Kulanzzeitraum. Der Status ist nur verfügbar, wenn es sich um ein Abo mit automatischer Verlängerung handelt. In diesem Status befinden sich alle Elemente im Kulanzzeitraum.
SUBSCRIPTION_STATE_ON_HOLD Das Abo wurde ausgesetzt (gesperrt). Der Status ist nur verfügbar, wenn es sich um ein Abo mit automatischer Verlängerung handelt. In diesem Status sind 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 um ein Abo mit automatischer Verlängerung handelt. Für alle Artikel ist „autoRenewEnabled“ auf „false“ festgelegt.
SUBSCRIPTION_STATE_EXPIRED Das Abo ist abgelaufen. Alle Elemente haben ein Ablaufdatum, das in der Vergangenheit liegt.
SUBSCRIPTION_STATE_PENDING_PURCHASE_CANCELED Ausstehende Transaktion für Abo wurde storniert. Wenn es sich bei diesem ausstehenden Kauf um ein bestehendes Abo handelt, kannst du „linkedPurchaseToken“ verwenden, um den aktuellen Status dieses Abos abzurufen.

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 für ein Abo mit dem Status SUBSCRIPTION_STATE_CANCELED oder SUBSCRIPTION_STATE_EXPIRED.

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, warum ein Abo gekündigt wurde. 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 ersetzt.

UserInitiatedCancellation

Spezifische Informationen zu von Nutzern initiierten Kündigungen.

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

object (CancelSurveyResult)

Informationen, die der Nutzer beim Abschließen der Kündigung des Abos bereitstellt (Umfrage zum Kündigungsgrund).

cancelTime

string (Timestamp format)

Der Zeitpunkt, zu dem das Abo vom Nutzer gekündigt wurde. Der Nutzer hat möglicherweise auch nach diesem Zeitraum Zugriff auf das Abo. Mit „lineItems.expiry_time“ lässt sich 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 im Fragebogen zur Kündigung ausgewählt hat.

reasonUserInput

string

Nur festgelegt für CANCEL_SURVEY_REASON_OTHERS. Das ist die frei formulierte Antwort des Nutzers auf die Umfrage.

CancelSurveyReason

Der Grund, den der Nutzer im Fragebogen zur Kündigung ausgewählt hat.

Enums
CANCEL_SURVEY_REASON_UNSPECIFIED Unbekannter Grund für die Stornierung der Umfrage.
CANCEL_SURVEY_REASON_NOT_ENOUGH_USAGE Das Abo wird 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 Stornierungen, die vom Google-System initiiert wurden.

DeveloperInitiatedCancellation

Dieser Typ hat keine Felder.

Informationen zu von Entwicklern initiierten Kündigungen.

ReplacementCancellation

Dieser Typ hat keine Felder.

Informationen zu Stornierungen infolge eines Aboaustauschs.

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 Unbekannter Bestätigungsstatus.
ACKNOWLEDGEMENT_STATE_PENDING Das Abo wurde noch nicht bestätigt.
ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED Das Abo wurde bestätigt.

ExternalAccountIdentifiers

ID des Nutzerkontos im Drittanbieterdienst.

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

string

ID des Nutzerkontos im Drittanbieterdienst. Nur vorhanden, wenn die Kontoverknüpfung im Rahmen des Abokaufs erfolgt ist.

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 mit https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid beim Kauf angegeben.

obfuscatedExternalProfileId

string

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

SubscribeWithGoogleInfo

Informationen zu Käufen, die mit „Abonnieren mit Google“ getätigt wurden.

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, es sei denn, der Zugriff wird verlängert (z. B. verlängert).

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 verzögerte Ä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 Ersetzen verzögerter Artikel.

AutoRenewingPlan

Informationen zu einem sich automatisch verlängernden Tarif.

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

boolean

Wenn für das Abo derzeit die automatische Verlängerung aktiviert ist, z.B. Der Nutzer hat das Abo nicht gekündigt.

priceChangeDetails

object (SubscriptionItemPriceChangeDetails)

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

installmentDetails

object (InstallmentPlan)

Die Zusicherung für die Ratenzahlung und die Informationen zum Bundesstaat für den sich automatisch verlängernden Tarif.

SubscriptionItemPriceChangeDetails

Informationen zur 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 den Aboartikel.

priceChangeMode

enum (PriceChangeMode)

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

priceChangeState

enum (PriceChangeState)

Geben Sie den aktuellen Status der Preisänderung an.

expectedNewPriceChargeTime

string (Timestamp format)

Der Verlängerungszeitpunkt, zu dem die Preisänderung für den Nutzer in Kraft tritt. Dies kann sich(auf einen Zeitpunkt in der Zukunft) ändern, weil die Verlängerungszeit verschoben wird, z. B. eine Pause. Dieses Feld wird nur ausgefüllt, wenn die Preisänderung noch nicht in Kraft getreten ist.

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 des Preises ändert sich.

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 Wenn sich der Abopreis mit dem Opt-out-Modus erhöht.

PriceChangeState

Der Status der Preisänderung.

Enums
PRICE_CHANGE_STATE_UNSPECIFIED Status der Preisänderung nicht angegeben. Dieser Wert sollte nicht verwendet werden.
OUTSTANDING Warten auf die Zustimmung des Nutzers zur Preisänderung.
CONFIRMED Es wird bestätigt, dass die Preisänderung für den Nutzer erfolgt.
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 zugesichert ist.

subsequentCommittedPaymentsCount

integer

Die Gesamtzahl der Zahlungen, für die der Nutzer nach jedem Zusicherungszeitraum zustimmt. Leer bedeutet, dass der Ratenplan nach der anfänglichen Vereinbarung auf ein normales Abo mit automatischer Verlängerung zurückgesetzt wird.

remainingCommittedPaymentsCount

integer

Gesamtzahl der noch zu begleichenden Zahlungen in diesem Verlängerungszeitraum.

pendingCancellation

object (PendingCancellation)

Falls vorhanden, steht die Kündigung dieses Ratenplans aus. Die Kündigung erfolgt erst, wenn der Nutzer alle zugesicherten Zahlungen abgeschlossen hat.

PendingCancellation

Dieser Typ hat keine Felder.

Dies ist ein Indikator dafür, ob der virtuelle Ratenplan eine Stornierung aussteht. Die Kündigung erfolgt erst, wenn 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 Aufladekäufe für den Prepaid-Tarif möglich sind. 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 ID des Basis-Abos. Vorhanden für alle Basis-Abos und Angebote.

offerId

string

Die Angebots-ID. Nur für vergünstigte Angebote vorhanden.

DeferredItemReplacement

Informationen zum Ersetzen verzögerter Artikel.

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

string

Die productId, die die vorhandene productId ersetzt.

Methoden

get

Metadaten zu einem Abo abrufen

revoke

Storniert einen Abokauf für den Nutzer.