REST Resource: purchases.subscriptionsv2

Ressource: SubscriptionPurchaseV2

Gibt den Status des Abo-Kaufs eines Nutzers an.

JSON-Darstellung
{
  "kind": string,
  "regionCode": string,
  "lineItems": [
    {
      object (SubscriptionPurchaseLineItem)
    }
  ],
  "startTime": string,
  "subscriptionState": enum (SubscriptionState),
  "linkedPurchaseToken": string,
  "pausedStateContext": {
    object (PausedStateContext)
  },
  "canceledStateContext": {
    object (CanceledStateContext)
  },
  "testPurchase": {
    object (TestPurchase)
  },
  "acknowledgementState": enum (AcknowledgementState),
  "externalAccountIdentifiers": {
    object (ExternalAccountIdentifiers)
  },
  "subscribeWithGoogleInfo": {
    object (SubscribeWithGoogleInfo)
  },
  "etag": string,
  "outOfAppPurchaseContext": {
    object (OutOfAppPurchaseContext)
  },
  "onHoldStateContext": {
    object (OnHoldStateContext)
  },
  "inGracePeriodStateContext": {
    object (InGracePeriodStateContext)
  }
}
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 der Rechnungsadresse des Nutzers zum Zeitpunkt der Gewährung des Abos.

lineItems[]

object (SubscriptionPurchaseLineItem)

Informationen auf Artikelebene für einen Abo-Kauf. 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 für ausstehende Abos festgelegt (das Abo wurde erstellt, die Zahlung bei der Anmeldung steht jedoch noch aus).

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

subscriptionState

enum (SubscriptionState)

Der aktuelle Status des Abos.

linkedPurchaseToken

string

Das Kauf-Token des alten Abos, wenn dieses Abo eines der folgenden ist: * Neuanmeldung für ein gekündigtes, aber nicht abgelaufenes Abo * Upgrade/Downgrade von einem vorherigen Abo. * Von einem Prepaid-Abo zu einem Abo mit automatischer Verlängerung wechseln * Von einem Abo mit automatischer Verlängerung zu einem Prepaid-Abo wechseln * Ein Prepaid-Abo aufladen.

pausedStateContext

object (PausedStateContext)

Zusätzlicher Kontext zu pausierten Abos. Ist nur vorhanden, wenn das Abo derzeit den subscriptionState SUBSCRIPTION_STATE_PAUSED hat.

canceledStateContext

object (CanceledStateContext)

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

testPurchase

object (TestPurchase)

Nur vorhanden, wenn es sich bei diesem Abo-Kauf um einen Testkauf handelt.

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.

etag

string

Das Entity-Tag, das den aktuellen Status des Abos darstellt. Der Entwickler stellt dieses ETag für Aboaktionen bereit. Dieses ETag ist bei Abos mit automatischer Verlängerung und Prepaid-Abos immer vorhanden.

outOfAppPurchaseContext

object (OutOfAppPurchaseContext)

Zusätzlicher Kontext für Out-of-App-Käufe. Diese Informationen sind nur für erneute Abokäufe (Abokäufe, die nach Ablauf des vorherigen Abos desselben Produkts getätigt wurden) verfügbar, die über das Google Play-Abozentrum getätigt wurden. Dieses Feld wird entfernt, nachdem Sie das Abo bestätigt haben.

onHoldStateContext

object (OnHoldStateContext)

Optional. Zusätzlicher Kontext zu Abos mit dem Status ON_HOLD. Nur vorhanden, wenn das Abo derzeit den subscriptionState SUBSCRIPTION_STATE_ON_HOLD hat.

inGracePeriodStateContext

object (InGracePeriodStateContext)

Optional. Zusätzlicher Kontext zu Abos im Status IN_GRACE_PERIOD. Nur vorhanden, wenn das Abo derzeit den subscriptionState SUBSCRIPTION_STATE_IN_GRACE_PERIOD hat.

SubscriptionState

Die möglichen Status eines Abos, z. B. ob es aktiv oder gekündigt ist. Die Artikel in einem Abo-Kauf können entweder alle Abos mit automatischer Verlängerung oder alle Prepaid-Abos sein.

Enums
SUBSCRIPTION_STATE_UNSPECIFIED Nicht angegebener Abostatus.
SUBSCRIPTION_STATE_PENDING Das Abo wurde erstellt, die Zahlung steht aber noch aus. In diesem Status wird auf die Zahlung aller Artikel gewartet.
SUBSCRIPTION_STATE_ACTIVE Abonnement ist aktiv. – (1) Wenn das Abo automatisch verlängert wird, ist mindestens ein Artikel „autoRenewEnabled“ und nicht abgelaufen. – (2) Wenn es sich bei dem Abo 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 beim Abo um ein Abo mit automatischer Verlängerung 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 beim Abo um ein Abo mit automatischer Verlängerung handelt. In diesem Status befinden sich alle Artikel in der Kulanzfrist.
SUBSCRIPTION_STATE_ON_HOLD Das Abo ist gesperrt. Der Status ist nur verfügbar, wenn es sich beim Abo um ein Abo mit automatischer Verlängerung handelt. In diesem Status werden alle Artikel zurückgehalten.
SUBSCRIPTION_STATE_CANCELED Das Abo wurde gekündigt, ist aber noch nicht abgelaufen. Der Status ist nur verfügbar, wenn es sich beim Abo um ein Abo mit automatischer Verlängerung handelt. Für alle Artikel ist „autoRenewEnabled“ auf „false“ gesetzt.
SUBSCRIPTION_STATE_EXPIRED Das Abo ist abgelaufen. Alle Artikel haben ein Ablaufdatum in der Vergangenheit.
SUBSCRIPTION_STATE_PENDING_PURCHASE_CANCELED Die ausstehende Transaktion für das Abo wurde storniert. Wenn es sich bei diesem ausstehenden Kauf um ein vorhandenes Abo handelt, verwenden Sie „linkedPurchaseToken“, um den aktuellen Status dieses Abos abzurufen.

PausedStateContext

Informationen zu einem Abo mit dem Status „Pausiert“.

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

string (Timestamp format)

Zeitpunkt, zu dem das Abo automatisch fortgesetzt wird.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

CanceledStateContext

Informationen zu einem 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, 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 angibt, wenn er den Ablauf zum Kündigen des Abos durchläuft (Umfrage zum Kündigungsgrund).

cancelTime

string (Timestamp format)

Die Uhrzeit, zu der das Abo vom Nutzer gekündigt wurde. Der Nutzer hat möglicherweise auch nach diesem Zeitraum noch Zugriff auf das Abo. Verwenden Sie „lineItems.expiry_time“, um festzustellen, ob ein Nutzer noch Zugriff hat.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

CancelSurveyResult

Ergebnis der Kündigungsbefragung, 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 Umfrage zur Kündigung angegeben hat.

reasonUserInput

string

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

CancelSurveyReason

Der Grund, den der Nutzer in der Umfrage zur Kündigung angegeben hat.

Enums
CANCEL_SURVEY_REASON_UNSPECIFIED Kein Grund für die Kündigung der Umfrage angegeben.
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 Andere Gründe.

SystemInitiatedCancellation

Dieser Typ hat keine Felder.

Informationen zu Kündigungen, die vom Google-System initiiert wurden.

DeveloperInitiatedCancellation

Dieser Typ hat keine Felder.

Informationen zu Stornierungen, die von Entwicklern veranlasst wurden.

ReplacementCancellation

Dieser Typ hat keine Felder.

Informationen speziell zu Kündigungen aufgrund eines Abo-Upgrades.

TestPurchase

Dieser Typ hat keine Felder.

Gibt an, ob es sich bei diesem Abo-Kauf um einen Testkauf handelt.

AcknowledgementState

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

Enums
ACKNOWLEDGEMENT_STATE_UNSPECIFIED Bestätigungsstatus nicht angegeben.
ACKNOWLEDGEMENT_STATE_PENDING Das Abo wurde noch nicht bestätigt.
ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED Das Abo wird bestätigt.

ExternalAccountIdentifiers

Nutzerkonto-ID im Drittanbieterdienst.

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

string

Nutzerkonto-ID im Drittanbieterdienst. Wird nur angezeigt, wenn die Kontoverknüpfung im Rahmen des Abo-Kaufvorgangs erfolgt ist.

obfuscatedExternalAccountId

string

Eine verschleierte Version der ID, die eindeutig mit dem Konto des Nutzers in Ihrer App verknüpft ist. Sie ist bei den folgenden Käufen vorhanden: * Wenn die Kontoverknüpfung im Rahmen des Abo-Kaufvorgangs 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 mit dem Profil des Nutzers in Ihrer App verknüpft 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 Aboabschlusses.

emailAddress

string

Die E-Mail-Adresse des Nutzers zum Zeitpunkt des Abokaufs.

givenName

string

Der Vorname des Nutzers, der beim Kauf des Abos angegeben wurde.

familyName

string

Der Nachname des Nutzers zum Zeitpunkt des Aboabschlusses.

SubscriptionPurchaseLineItem

Informationen auf Artikelebene für einen Abo-Kauf.

JSON-Darstellung
{
  "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)
  },
  "itemReplacement": {
    object (ItemReplacement)
  },
  "offerPhase": {
    object (OfferPhase)
  }
}
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. durch Verlängerung).

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

latestSuccessfulOrderId

string

Die Auftrags-ID des letzten erfolgreichen Auftrags, der mit diesem Artikel verknüpft ist. Nicht vorhanden, wenn der Artikel noch nicht dem Nutzer gehört (z.B. wenn der Artikel durch einen aufgeschobenen Ersatz ersetzt wird).

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 wurde im Voraus bezahlt.

offerDetails

object (OfferDetails)

Die Angebotsdetails für diesen Artikel.

Union-Feld deferred_item_change. Das Feld ist vorhanden, wenn für ein Element 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 von zurückgestellten Artikeln.

deferredItemRemoval

object (DeferredItemRemoval)

Informationen zum verzögerten Entfernen von Elementen.

signupPromotion

object (SignupPromotion)

Details zum Angebot für diesen Artikel. Wird nur festgelegt, wenn bei der Registrierung ein Angebot angewendet wurde.

itemReplacement

object (ItemReplacement)

Details zum ersetzten Artikel. Dieses Feld wird nur ausgefüllt, wenn dieser Artikel einen anderen Artikel in einem vorherigen Abo ersetzt hat, und ist nur 60 Tage nach dem Kauf verfügbar.

offerPhase

object (OfferPhase)

Aktuelle Details zur Angebotsphase für dieses Element.

AutoRenewingPlan

Informationen zu einem Abo mit automatischer Verlängerung.

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

boolean

Wenn das Abo derzeit auf automatische Verlängerung eingestellt ist, z.B. wenn der Nutzer das Abo nicht gekündigt hat

recurringPrice

object (Money)

Der aktuelle wiederkehrende Preis des Abos mit automatischer Verlängerung. Der Preis berücksichtigt keine Rabatte und enthält keine Steuern. Wenn Sie Preise ohne Steuern verwenden, rufen Sie stattdessen die orders.get API auf, falls Sie Transaktionsdetails benötigen.

priceChangeDetails

object (SubscriptionItemPriceChangeDetails)

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

installmentDetails

object (InstallmentPlan)

Die Zusicherung für den Ratenzahlungsplan und zugehörige Informationen zum Status des Abos mit automatischer Verlängerung.

SubscriptionItemPriceChangeDetails

Informationen zu Preisänderungen für einen Aboartikel.

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

object (Money)

Neuer wiederkehrender Preis für das Abo-Artikel.

priceChangeMode

enum (PriceChangeMode)

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

priceChangeState

enum (PriceChangeState)

Geben Sie an, in welcher Phase sich die Preisänderung gerade befindet.

expectedNewPriceChargeTime

string (Timestamp format)

Der Zeitpunkt der Verlängerung, zu dem die Preisänderung für den Nutzer in Kraft tritt. Dies kann sich in Zukunft ändern, z. B. wenn sich die Verlängerungszeit durch eine Pausierung verschiebt. Dieses Feld wird nur ausgefüllt, wenn die Preisänderung noch nicht in Kraft getreten ist.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

PriceChangeMode

Der Modus der Preisänderung.

Enums
PRICE_CHANGE_MODE_UNSPECIFIED Der Modus für die Preisänderung ist nicht angegeben. Dieser Wert sollte nie festgelegt werden.
PRICE_DECREASE Wenn der Abopreis sinkt.
PRICE_INCREASE Wenn der Abopreis steigt und der Nutzer der Preiserhöhung zustimmen muss.
OPT_OUT_PRICE_INCREASE Wenn der Abopreis im Opt-out-Modus erhöht wird.

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 Es wird darauf gewartet, dass der Nutzer der Preisänderung zustimmt.
CONFIRMED Die Preisänderung wird für den Nutzer bestätigt.
APPLIED Die Preisänderung wurde angewendet, d.h., dem Nutzer wird der neue Preis in Rechnung gestellt.
CANCELED Die Preisänderung wurde storniert.

InstallmentPlan

Informationen zu einem Ratenzahlungsplan.

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

integer

Die Gesamtzahl der Zahlungen, die der Nutzer anfangs zugesichert hat.

subsequentCommittedPaymentsCount

integer

Gesamtzahl der Zahlungen, die der Nutzer nach jeder Mindestlaufzeit leisten muss. Wenn das Feld leer ist, wird das Abo nach der anfänglichen Mindestlaufzeit automatisch als normales Abo verlängert.

remainingCommittedPaymentsCount

integer

Die Gesamtzahl der zugesagten Zahlungen, die in diesem Verlängerungszyklus noch zu leisten sind.

pendingCancellation

object (PendingCancellation)

Falls vorhanden, wird dieser Ratenkaufvertrag demnächst gekündigt. Die Kündigung erfolgt erst, nachdem der Nutzer alle zugesagten Zahlungen geleistet hat.

PendingCancellation

Dieser Typ hat keine Felder.

Dieser Wert gibt an, ob eine Kündigung des virtuellen Ratenzahlungsplans aussteht. Die Kündigung erfolgt erst, nachdem der Nutzer alle zugesagten Zahlungen geleistet hat.

PriceStepUpConsentDetails

Informationen zu einer Preiserhöhung, für die die Nutzereinwilligung erforderlich ist.

JSON-Darstellung
{
  "state": enum (ConsentState),
  "consentDeadlineTime": string,
  "newPrice": {
    object (Money)
  }
}
Felder
state

enum (ConsentState)

Nur Ausgabe. Der Status der Einwilligung zur Preiserhöhung.

consentDeadlineTime

string (Timestamp format)

Die Frist, bis zu der der Nutzer die Einwilligung erteilen muss. Wenn bis dahin keine Einwilligung erfolgt, wird das Abo gekündigt.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

newPrice

object (Money)

Der neue Preis, für den die Nutzereinwilligung erforderlich ist.

ConsentState

Der Status der Einwilligung zur Preiserhöhung.

Enums
CONSENT_STATE_UNSPECIFIED Nicht angegebener Einwilligungsstatus.
PENDING Der Nutzer hat noch keine Einwilligung erteilt.
CONFIRMED Der Nutzer hat zugestimmt und der neue Preis wird in Kürze in Kraft treten.
COMPLETED Der Nutzer hat zugestimmt und der neue Preis ist in Kraft getreten.

PrepaidPlan

Informationen zu einem Prepaid-Tarif.

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

string (Timestamp format)

Falls vorhanden, ist dies der Zeitpunkt, nach dem Aufladekauf für den Prepaid-Tarif zulässig sind. Bei abgelaufenen Prepaid-Mitgliedschaften ist diese Option nicht verfügbar.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

OfferDetails

Bietet Details zu einem Kaufartikel.

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

string

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

basePlanId

string

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

offerId

string

Die Angebots-ID. Nur bei Angeboten mit Rabatt vorhanden.

DeferredItemReplacement

Informationen zum verzögerten Ersetzen von Artikeln.

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

string

Die productId, die die vorhandene productId ersetzen soll.

DeferredItemRemoval

Dieser Typ hat keine Felder.

Informationen zum verzögerten Ersetzen von Artikeln.

SignupPromotion

Das Angebot, das beim Kauf auf diesen Artikel 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 der auf den Artikel angewendeten Werbung. Für promotion_type ist nur einer der folgenden Werte zulässig:
oneTimeCode

object (OneTimeCode)

Es wurde ein Einmalcode angewendet.

vanityCode

object (VanityCode)

Es wurde ein benutzerdefinierter Code angewendet.

OneTimeCode

Dieser Typ hat keine Felder.

Einmal-Gutscheincode

VanityCode

Ein vordefinierter Gutscheincode, der mehrmals verwendet werden kann.

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

string

Der Gutscheincode.

ItemReplacement

Details zu einer Abo-Werbebuchung, die ersetzt wird.

JSON-Darstellung
{
  "productId": string,
  "replacementMode": enum (ReplacementMode),
  "basePlanId": string,
  "offerId": string
}
Felder
productId

string

Die Produkt-ID des Abo-Postens, der ersetzt wird.

replacementMode

enum (ReplacementMode)

Der beim Kauf angewendete Ersatzmodus.

basePlanId

string

Die Basis-Abo-ID des Abo-Artikelpostens, der ersetzt wird.

offerId

string

Die Angebots-ID der Abo-Werbebuchung, die ersetzt wird, falls zutreffend.

ReplacementMode

Der Modus des Ersatzes für ein Abo.

Enums
REPLACEMENT_MODE_UNSPECIFIED Nicht angegebener Ersetzungsmodus.
WITH_TIME_PRORATION Das neue Abo wird anteilig berechnet und mit dem alten Abo verrechnet.
CHARGE_PRORATED_PRICE Dem Nutzer wird ein anteiliger Preis für das neue Abo in Rechnung gestellt.
WITHOUT_PRORATION Das neue Abo ersetzt das alte, ohne dass die Zeit anteilig berechnet wird.
CHARGE_FULL_PRICE Dem Nutzer wird der volle Preis für das neue Abo in Rechnung gestellt.
DEFERRED Das alte Abo wird gekündigt und das neue Abo tritt in Kraft, nachdem das alte abgelaufen ist.
KEEP_EXISTING Das Abo bleibt durch den Ersatz unverändert.

OfferPhase

Details zur Angebotsphase.

JSON-Darstellung
{

  // Union field offer_phase can be only one of the following:
  "prorationPeriod": {
    object (ProrationPeriodOfferPhase)
  },
  "freeTrial": {
    object (FreeTrialOfferPhase)
  },
  "introductoryPrice": {
    object (IntroductoryPriceOfferPhase)
  },
  "basePrice": {
    object (BasePriceOfferPhase)
  }
  // End of list of possible types for union field offer_phase.
}
Felder
Union-Feld offer_phase. Details zur Angebotsphase. Für offer_phase ist nur einer der folgenden Werte zulässig:
prorationPeriod

object (ProrationPeriodOfferPhase)

Gibt an, wann die Angebotsphase ein Abrechnungszeitraum mit anteiliger Berechnung ist.

freeTrial

object (FreeTrialOfferPhase)

Gibt an, ob die Angebotsphase ein kostenloser Testzeitraum ist.

introductoryPrice

object (IntroductoryPriceOfferPhase)

Gibt an, wann die Angebotsphase eine Einführungspreis-Angebotsphase ist.

basePrice

object (BasePriceOfferPhase)

Gibt an, wann die Angebotsphase eine Preisphase für das Basis-Abo ist.

ProrationPeriodOfferPhase

Details zur Angebotsphase des anteiligen Abrechnungszeitraums.

JSON-Darstellung
{
  "originalOfferPhaseType": enum (OriginalOfferPhaseType)
}
Felder
originalOfferPhaseType

enum (OriginalOfferPhaseType)

Der ursprüngliche Typ der Angebotsphase vor dem Abrechnungszeitraum. Wird nur festgelegt, wenn der Abrechnungszeitraum für die anteilige Berechnung aus einer bestehenden Angebotsphase aktualisiert wird.

OriginalOfferPhaseType

Die ursprüngliche Angebotsphase der Angebotszahlung, wenn es sich bei der Angebotszahlung um eine anteilige Zahlung handelt.

Enums
ORIGINAL_OFFER_PHASE_TYPE_UNSPECIFIED Der Typ der ursprünglichen Angebotsphase wurde nicht angegeben.
BASE Das Abo befindet sich in der Phase mit dem Grundpreis (z.B. voller Preis).
INTRODUCTORY Das Abo befindet sich in einer Phase mit Einführungspreis.
FREE_TRIAL Das Abo befindet sich in einem kostenlosen Testzeitraum.

FreeTrialOfferPhase

Dieser Typ hat keine Felder.

Details zur Phase des kostenlosen Testzeitraums.

IntroductoryPriceOfferPhase

Dieser Typ hat keine Felder.

Details zur Phase des Einführungspreisangebots.

BasePriceOfferPhase

Dieser Typ hat keine Felder.

Details zur Angebotsphase für den Basispreis.

OutOfAppPurchaseContext

Informationen zu einem Out-of-App-Kauf.

JSON-Darstellung
{
  "expiredExternalAccountIdentifiers": {
    object (ExternalAccountIdentifiers)
  },
  "expiredPurchaseToken": string
}
Felder
expiredExternalAccountIdentifiers

object (ExternalAccountIdentifiers)

Nutzerkonto-ID des letzten abgelaufenen Abos für diese Artikelnummer.

expiredPurchaseToken

string

Das Kauf-Token des letzten abgelaufenen Abos. Dieses Kauf-Token darf nur verwendet werden, um den Nutzer zu identifizieren, wenn die Verknüpfung zwischen dem Kauf-Token und dem Nutzer in Ihrer Datenbank gespeichert ist. Damit kann die Google Developer API nicht aufgerufen werden, wenn seit dem Ablauf mehr als 60 Tage vergangen sind.

OnHoldStateContext

Zusätzlicher Kontext zu Abos mit dem Status ON_HOLD.

JSON-Darstellung
{

  // Union field on_hold_reason can be only one of the following:
  "renewalDeclined": {
    object (RenewalDeclinedContext)
  }
  // End of list of possible types for union field on_hold_reason.
}
Felder
Union-Feld on_hold_reason. Der Grund, warum sich das Abo im Status ON_HOLD befindet. Für on_hold_reason ist nur einer der folgenden Werte zulässig:
renewalDeclined

object (RenewalDeclinedContext)

Optional. Die Zahlung für die Verlängerung wurde abgelehnt.

RenewalDeclinedContext

Kontext zum Szenario „Verlängerung abgelehnt“.

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

string

Erforderlich. Die ID der ausstehenden oder fehlgeschlagenen Bestellung, die den Status verursacht.

InGracePeriodStateContext

Zusätzlicher Kontext zu Abos im Status IN_GRACE_PERIOD.

JSON-Darstellung
{

  // Union field grace_period_reason can be only one of the following:
  "renewalDeclined": {
    object (RenewalDeclinedContext)
  }
  // End of list of possible types for union field grace_period_reason.
}
Felder
Union-Feld grace_period_reason. Der Grund, warum sich das Abo im Status IN_GRACE_PERIOD befindet. Für grace_period_reason ist nur einer der folgenden Werte zulässig:
renewalDeclined

object (RenewalDeclinedContext)

Optional. Die Zahlung für die Verlängerung wurde abgelehnt.

Methoden

cancel

Kündigen Sie den Kauf eines Abos für den Nutzer.

defer

Verschiebt die Verlängerung eines Abos.

get

Metadaten zu einem Abo abrufen

revoke

Widerrufen Sie den Abokauf für den Nutzer.

Fehlercodes

Die Vorgänge dieser Ressource geben die folgenden HTTP-Fehlercodes zurück:

Fehlercode Grund Beschreibung Auflösung
400 / 410 subscriptionExpired Das Abo ist abgelaufen und der angeforderte Vorgang kann nicht ausgeführt werden. Prüfen Sie das Ablaufdatum des Abos. Dieser Vorgang ist für abgelaufene Abos nicht zulässig.
400 subscriptionInvalidArgument In der Anfrage für das Abo wurde ein ungültiges Argument angegeben. Sehen Sie sich die API-Dokumentation an und prüfen Sie, ob alle erforderlichen Felder angegeben und richtig formatiert sind.
400 invalidPurchaseState Der Kauf hat keinen gültigen Status für den angeforderten Vorgang. Möglicherweise versuchen Sie, einen bereits genutzten Kauf zu bestätigen oder ein Abo zu kündigen, das nicht aktiv ist. Prüfen Sie den aktuellen Status der Ressource mit der entsprechenden Get API, bevor Sie den Vorgang ausführen. Die Ressource muss sich in einem geeigneten Zustand für die Aktion befinden.
400 invalidValue In der Anfrage wurde ein ungültiger Wert angegeben. Dieser Fehler wird häufig zurückgegeben, wenn das Kauf-Token fehlerhaft oder ungültig ist. Korrigieren Sie den ungültigen Feldwert im Anfragetext oder in den Parametern anhand der API-Referenz.
400 prepaidSubscriptionNotSupported Der angeforderte Vorgang wird für Prepaid-Abos nicht unterstützt. Prüfen Sie, ob der Vorgang für den Abotyp gilt. Dieser Fehler tritt nur bei Methoden wie „Cancel“ auf.
400 productNotOwnedByUser Das angegebene Kauf-Token ist gültig, der Nutzer besitzt das Produkt aber derzeit nicht. Das kann passieren, wenn der Kauf vor der Bestätigung erstattet, widerrufen oder abgelaufen ist. Prüfen Sie den aktuellen Status der Ressource mit der entsprechenden Get API, bevor Sie den Vorgang ausführen. Die Ressource muss sich in einem geeigneten Zustand für die Aktion befinden.
400 purchaseTokenMismatch Das angegebene Kauf-Token stimmt nicht mit dem Kauf, dem Paketnamen, der Abo-ID oder der Produkt-ID überein. Prüfen Sie, ob alle Angaben in der Anfrage korrekt sind und zueinander passen.
400 required In der Anfrage fehlt ein erforderliches Feld oder ein erforderlicher Parameter. Sehen Sie in der API-Dokumentation nach, ob alle Pflichtfelder und ‑parameter enthalten sind.
400 unsupportedIabType Der Vorgang wird für den angegebenen In-App-Abrechnungstyp nicht unterstützt. Achten Sie darauf, dass die API-Methode mit dem verwalteten Artikeltyp kompatibel ist.
403 userInsufficientPermission Der Nutzer hat nicht die erforderliche Berechtigung, um den angeforderten Vorgang auszuführen. Prüfen Sie, ob der authentifizierte Nutzer die erforderlichen Berechtigungen in der Google Play Console hat. Weitere Informationen finden Sie unter Dienstkonto verwenden.
404 notFound Die angeforderte Ressource wurde nicht gefunden. Prüfen Sie, ob die Kennzeichnungen (z.B. Kauf-Token, Paketname, Produkt-ID, Abo-ID) korrekt sind.
409 concurrentUpdate Es wurde versucht, ein Objekt zu aktualisieren, das gleichzeitig aktualisiert wird. Wiederholen Sie die Anfrage mit exponentiellem Backoff. Vermeiden Sie gleichzeitige Änderungen an derselben Ressource.
410 purchaseTokenNoLongerValid Das Kauf-Token ist dauerhaft ungültig, da das zugehörige Nutzerkonto gelöscht wurde oder der Kaufdatensatz nicht mehr vorhanden ist. Verwenden Sie dieses Kauf-Token nicht mehr.
410 subscriptionNoLongerAvailable Der Abo-Kauf kann nicht mehr abgefragt werden, da er schon zu lange abgelaufen ist. Dieser Fehler gibt an, dass das Abo seit mehr als 60 Tagen abgelaufen ist. Sie sollten diese Abos nicht mehr abfragen.
5xx Generic error Allgemeiner Fehler auf dem Google Play-Server. Wiederholen Sie Ihre Anfrage.

Wenn das Problem weiterhin besteht, wenden Sie sich an Ihren Google Play-Kundenbetreuer oder senden Sie eine Supportanfrage. Prüfen Sie das Google Play-Status-Dashboard auf bekannte Ausfälle.