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

Der ISO 3166-1 alpha-2-Länder-/Regionscode des Nutzers zum Zeitpunkt der Gewährung des Abos.

lineItems[]

object (SubscriptionPurchaseLineItem)

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

startTime

string (Timestamp format)

Zeitpunkt, zu dem das Abo gewährt wurde. Nicht für ausstehende Abos festgelegt (Abo wurde erstellt, aber bei der Registrierung ist noch keine Zahlung erfolgt).

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 automatisch verlängerten Abo ist dies die Bestell-ID der Registrierungsbestellung, sofern sie noch nicht verlängert wurde, oder die ID der letzten wiederkehrenden Bestellung (erfolgreich, ausstehend oder abgelehnt). Bei einem Prepaid-Abo ist dies die Bestell-ID, die mit dem abgefragten Kauftoken verknüpft ist.

linkedPurchaseToken

string

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

pausedStateContext

object (PausedStateContext)

Zusätzliche Informationen zu pausierten Abos Nur vorhanden, wenn das Abo derzeit den Status „SUBSCRIPTION_STATE_PAUSED“ hat.

canceledStateContext

object (CanceledStateContext)

Zusätzliche Informationen zu gekündigten Abos Nur vorhanden, wenn das Abo derzeit den Status SUBSCRIPTION_STATE_CANCELED oder SUBSCRIPTION_STATE_EXPIRED hat.

testPurchase

object (TestPurchase)

Wird nur angezeigt, 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 verknüpft ist, die über „Abonnieren mit Google“ getätigt wurden.

SubscriptionState

Die möglichen Status eines Abos, z. B. ob es aktiv oder gekündigt ist. Die Elemente in einem Abokauf können entweder alle automatisch verlängerte Abos oder Prepaid-Abos sein.

Enums
SUBSCRIPTION_STATE_UNSPECIFIED Nicht angegebener Abostatus.
SUBSCRIPTION_STATE_PENDING Das Abo wurde erstellt, aber bei der Registrierung ist keine Zahlung erfolgt. In diesem Status ist für alle Artikel noch keine Zahlung erfolgt.
SUBSCRIPTION_STATE_ACTIVE Abonnement ist aktiv. – (1) Wenn es sich bei dem Abo um einen automatisch verlängerten Tarif handelt, ist mindestens ein Artikel „autoRenewEnabled“ und nicht abgelaufen. – (2) Bei einem Prepaid-Abo ist mindestens ein Artikel nicht abgelaufen.
SUBSCRIPTION_STATE_PAUSED Das Abo ist pausiert. Der Status ist nur verfügbar, wenn es sich um ein automatisch verlängertes Abo handelt. In diesem Status sind alle Elemente pausiert.
SUBSCRIPTION_STATE_IN_GRACE_PERIOD Das Abo befindet sich im Kulanzzeitraum. Der Status ist nur verfügbar, wenn es sich um ein automatisch verlängertes Abo handelt. In diesem Status befinden sich alle Artikel in der Kulanzzeitraumphase.
SUBSCRIPTION_STATE_ON_HOLD Das Abo ist ausgesetzt. Der Status ist nur verfügbar, wenn es sich um ein automatisch verlängertes Abo handelt. In diesem Status sind alle Artikel 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 automatisch verlängertes Abo handelt. Für alle Elemente ist „autoRenewEnabled“ auf „false“ gesetzt.
SUBSCRIPTION_STATE_EXPIRED Das Abo ist abgelaufen. Alle Elemente haben ein Ablaufdatum in der Vergangenheit.
SUBSCRIPTION_STATE_PENDING_PURCHASE_CANCELED Die ausstehende Transaktion für das Abo wurde storniert. Wenn dieser ausstehende Kauf für ein bestehendes Abo war, verwende „linkedPurchaseToken“, um den aktuellen Status dieses Abos abzurufen.

PausedStateContext

Informationen zu einem pausierten Abo.

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

Informationen zu einem Abo im 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, z. B. 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 zu Kündigungen, die von Nutzern initiiert wurden.

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

object (CancelSurveyResult)

Informationen, die der Nutzer beim Kündigen eines Abos angibt (Umfrage zum Kündigungsgrund).

cancelTime

string (Timestamp format)

Das Datum und die Uhrzeit, zu dem das Abo vom Nutzer gekündigt wurde. Der Nutzer hat möglicherweise auch danach noch Zugriff auf das Abo. Mit „lineItems.expiry_time“ kannst du 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 Umfrage zur Kündigung, wenn 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 Kündigungsumfrage ausgewählt hat.

reasonUserInput

string

Wird nur für CANCEL_SURVEY_REASON_OTHERS festgelegt. Dies ist die Freitextantwort des Nutzers auf die Umfrage.

CancelSurveyReason

Der Grund, den der Nutzer in der Kündigungsumfrage ausgewählt hat.

Enums
CANCEL_SURVEY_REASON_UNSPECIFIED Kein Grund für die Umfrage angegeben
CANCEL_SURVEY_REASON_NOT_ENOUGH_USAGE Nicht ausreichende Nutzung des Abos.
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 Stornierungen, die vom Entwickler initiiert wurden.

ReplacementCancellation

Dieser Typ hat keine Felder.

Informationen speziell zu Kündigungen, die durch den Ersatz eines 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 Abokaufvorgangs erfolgte.

obfuscatedExternalAccountId

string

Eine verschleierte Version der ID, die eindeutig mit dem Konto des Nutzers in Ihrer App verknüpft ist. Diese ID ist bei den folgenden Käufen vorhanden: * Wenn die Kontoverknüpfung im Rahmen des Abokaufvorgangs erfolgte. * 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 mit dem Profil des Nutzers in Ihrer App verknüpft ist. Diese ID ist nur vorhanden, wenn sie beim Kauf mit https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid angegeben wurde.

SubscribeWithGoogleInfo

Informationen zu Käufen, die über „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 zum Zeitpunkt des Kaufs des Abos.

profileName

string

Der Profilname des Nutzers zum Zeitpunkt des Kaufs des Abos.

emailAddress

string

Die E-Mail-Adresse des Nutzers, die zum Zeitpunkt des Kaufs des Abos verwendet wurde.

givenName

string

Der Vorname des Nutzers zum Zeitpunkt des Kaufs des Abos.

familyName

string

Der Nachname des Nutzers zum Zeitpunkt des Kaufs 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.
  "signupPromotion": {
    object (SignupPromotion)
  }
}
Felder
productId

string

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

expiryTime

string (Timestamp format)

Datum, an dem das Abo abgelaufen ist oder abläuft, sofern der Zugriff nicht verlängert wird (z. B. durch 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 für einen Artikel eine verzögerte Änderung vorliegt. 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 Ersatz eines Artikels, der verzögert geliefert wird.

signupPromotion

object (SignupPromotion)

Angebotsdetails zu diesem Artikel. Wird nur festgelegt, wenn bei der Registrierung ein Angebot angewendet wurde.

AutoRenewingPlan

Informationen zu einem automatisch verlängerten Abo.

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

boolean

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

recurringPrice

object (Money)

Der aktuelle wiederkehrende Preis des automatisch verlängerten Abos.

priceChangeDetails

object (SubscriptionItemPriceChangeDetails)

Die Informationen zur letzten Preisänderung für das Element seit der Aboregistrierung.

installmentDetails

object (InstallmentPlan)

Die Zusicherung für den Ratenplan und Informationen zum Status des automatisch verlängerten Tarifs.

SubscriptionItemPriceChangeDetails

Informationen zu Preisänderungen 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 Aboelement.

priceChangeMode

enum (PriceChangeMode)

Mit dem Preisänderungsmodus wird angegeben, wie sich der Preis des Aboartikels ändert.

priceChangeState

enum (PriceChangeState)

Geben Sie an, in welchem Status sich die Preisänderung derzeit befindet.

expectedNewPriceChargeTime

string (Timestamp format)

Der Zeitpunkt der Verlängerung, zu dem die Preisänderung für den Nutzer wirksam wird. Dies kann sich in Zukunft ändern, wenn sich der Verlängerungszeitraum verschiebt, z. B. bei einer Pausierung. 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 der Preisänderung.

Enums
PRICE_CHANGE_MODE_UNSPECIFIED Der Modus der Preisänderung ist nicht angegeben. Dieser Wert sollte niemals festgelegt werden.
PRICE_DECREASE Wenn der Abopreis sinkt.
PRICE_INCREASE Wenn der Abopreis steigt und der Nutzer ihn akzeptieren muss.
OPT_OUT_PRICE_INCREASE Wenn sich der Abopreis im Opt-out-Modus erhöht.

PriceChangeState

Der Status der Preisänderung.

Enums
PRICE_CHANGE_STATE_UNSPECIFIED Der Status der Preisänderung ist nicht angegeben. Dieser Wert sollte nicht verwendet werden.
OUTSTANDING Warten auf die Zustimmung des Nutzers zur Preisänderung.
CONFIRMED Die Preisänderung wird für den Nutzer bestätigt.
APPLIED Die Preisänderung wird angewendet, d.h. dem Nutzer wird der neue Preis in Rechnung gestellt.

InstallmentPlan

Informationen zu einem Ratenkauf.

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

integer

Die Gesamtzahl der Zahlungen, für die sich der Nutzer anfangs verpflichtet hat.

subsequentCommittedPaymentsCount

integer

Die Gesamtzahl der Zahlungen, die der Nutzer nach jeder Bindungsfrist leisten muss. Wenn das Feld leer ist, wird das Abo nach der anfänglichen Bindung zu einem normalen Abo mit automatischer Verlängerung.

remainingCommittedPaymentsCount

integer

Die Gesamtzahl der noch ausstehenden Zahlungen in diesem Verlängerungszeitraum.

pendingCancellation

object (PendingCancellation)

Falls vorhanden, wird dieser Ratenplan storniert. Die Kündigung erfolgt erst, wenn der Nutzer alle vereinbarten Zahlungen geleistet hat.

PendingCancellation

Dieser Typ hat keine Felder.

Gibt an, ob eine Kündigung des virtuellen Ratenplans ausstehend ist. Die Kündigung erfolgt erst, wenn der Nutzer alle vereinbarten Zahlungen geleistet hat.

PrepaidPlan

Informationen zu einem Prepaid-Tarif

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

string (Timestamp format)

Sofern vorhanden, ist dies der Zeitpunkt, nach dem Aufstockungen für den Prepaid-Tarif zulässig sind. Nicht vorhanden für abgelaufene Prepaid-Tarife.

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 Kaufbuchung.

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

string

Die neuesten Angebots-Tags, die mit dem Angebot verknüpft sind. Dazu gehören auch Tags, die aus dem Base Plan übernommen wurden.

basePlanId

string

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

offerId

string

Die Angebots-ID. Nur für Angebote mit Rabatt vorhanden.

DeferredItemReplacement

Informationen zum verzögerten Austausch von Artikeln

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

string

Die productId ersetzt die vorhandene productId.

SignupPromotion

Das Angebot, das beim Kauf dieses Artikels angewendet wurde.

JSON-Darstellung
{

  // 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.
}
Felder
Union-Feld promotion_type. Die Art des Angebots, das auf den Artikel angewendet wird. Für promotion_type ist nur einer der folgenden Werte zulässig:
oneTimeCode

object (OneTimeCode)

Es wurde ein Einmalcode angewendet.

vanityCode

object (VanityCode)

Ein Aliascode wurde angewendet.

OneTimeCode

Dieser Typ hat keine Felder.

Ein Gutscheincode, der nur einmal verwendet werden kann.

VanityCode

Ein vordefinierter Gutscheincode, der mehrmals verwendet werden kann.

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

string

Den Gutscheincode.

Methoden

get

Metadaten zu einem Abo abrufen

revoke

Widerrufe den Abokauf für den Nutzer.