REST Resource: purchases.subscriptions

Ressource: SubscriptionPurchase

Eine SubscriptionPurchase-Ressource gibt den Status des Abo-Kaufs eines Nutzers an.

JSON-Darstellung
{
  "kind": string,
  "startTimeMillis": string,
  "expiryTimeMillis": string,
  "autoResumeTimeMillis": string,
  "autoRenewing": boolean,
  "priceCurrencyCode": string,
  "priceAmountMicros": string,
  "introductoryPriceInfo": {
    object (IntroductoryPriceInfo)
  },
  "countryCode": string,
  "developerPayload": string,
  "paymentState": integer,
  "cancelReason": integer,
  "userCancellationTimeMillis": string,
  "cancelSurveyResult": {
    object (SubscriptionCancelSurveyResult)
  },
  "orderId": string,
  "linkedPurchaseToken": string,
  "purchaseType": integer,
  "priceChange": {
    object (SubscriptionPriceChange)
  },
  "profileName": string,
  "emailAddress": string,
  "givenName": string,
  "familyName": string,
  "profileId": string,
  "acknowledgementState": integer,
  "externalAccountId": string,
  "promotionType": integer,
  "promotionCode": string,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string
}
Felder
kind

string

Dieser Typ stellt ein „subscriptionPurchase“-Objekt im androidpublisher-Dienst dar.

startTimeMillis

string (int64 format)

Zeitpunkt, zu dem das Abo gewährt wurde, in Millisekunden seit der Epoche.

expiryTimeMillis

string (int64 format)

Zeitpunkt, zu dem das Abo abläuft, in Millisekunden seit der Epoche.

autoResumeTimeMillis

string (int64 format)

Zeitpunkt, zu dem das Abo automatisch reaktiviert wird, in Millisekunden seit der Epoche. Wird nur angezeigt, wenn der Nutzer das Abo pausieren möchte.

autoRenewing

boolean

Gibt an, ob das Abo automatisch verlängert wird, wenn es abläuft.

priceCurrencyCode

string

ISO 4217-Währungscode für den Abopreis. Wenn der Preis beispielsweise in britischen Pfund angegeben ist, lautet priceCurrencyCode „GBP“.

priceAmountMicros

string (int64 format)

Preis des Abos. In Ländern, in denen Steuern nicht im Preis enthalten sind, wird der Preis ohne Steuern angegeben. In Ländern, in denen Steuern im Preis enthalten sind, wird der Preis inklusive Steuern angezeigt. Der Preis wird in Mikroeinheiten angegeben, wobei 1.000.000 Mikroeinheiten einer Währungseinheit entsprechen. Wenn der Abopreis beispielsweise 1, 99 € beträgt, ist „priceAmountMicros“ gleich 1990000.

introductoryPriceInfo

object (IntroductoryPriceInfo)

Informationen zum Einführungspreis des Abos. Ist nur vorhanden, wenn das Abo zu einem Einführungspreis gekauft wurde.

Dieses Feld gibt nicht an, ob für das Abo derzeit ein Abrechnungszeitraum zum Einführungspreis gilt.

countryCode

string

Der ISO 3166-1 Alpha-2-Ländercode für das Land, in dem der Nutzer zum Zeitpunkt der Gewährung des Abos ansässig war.

developerPayload

string

Ein vom Entwickler angegebener String mit zusätzlichen Informationen zu einer Bestellung.

paymentState

integer

Der Zahlungsstatus des Abos. Mögliche Werte: 0. Zahlung ausstehend 1. Zahlung erhalten 2. Kostenloser Testzeitraum 3 Aufgeschobenes Upgrade/Downgrade ausstehend

Für gekündigte oder abgelaufene Abos nicht vorhanden.

cancelReason

integer

Der Grund, warum ein Abo gekündigt wurde oder nicht automatisch verlängert wird. Mögliche Werte: 0. Der Nutzer hat das Abo 1 gekündigt. Das Abo wurde vom System gekündigt, z. B. aufgrund eines Abrechnungsproblems. Das Abo wurde durch ein neues Abo 3 ersetzt. Das Abo wurde vom Entwickler gekündigt

userCancellationTimeMillis

string (int64 format)

Der Zeitpunkt, zu dem das Abo vom Nutzer gekündigt wurde, in Millisekunden seit der Epoche. Nur vorhanden, wenn „cancelReason“ = 0.

cancelSurveyResult

object (SubscriptionCancelSurveyResult)

Informationen, die der Nutzer angibt, wenn er den Ablauf zum Kündigen des Abos abschließt (Umfrage zum Kündigungsgrund).

orderId

string

Die Bestell-ID der letzten wiederkehrenden Bestellung, die mit dem Kauf des Abos verknüpft ist. Wenn das Abo gekündigt wurde, weil die Zahlung abgelehnt wurde, ist dies die Bestell-ID der Bestellung, bei der die Zahlung abgelehnt wurde.

linkedPurchaseToken

string

Das Kauf-Token des ursprünglichen Kaufs, wenn es sich bei diesem Abo um eines der folgenden handelt: 0. Erneute Registrierung für ein gekündigtes, aber nicht abgelaufenes Abo 1. Upgrade/Downgrade von einem vorherigen Abo

Angenommen, ein Nutzer registriert sich und Sie erhalten das Kauf-Token X. Dann kündigt der Nutzer und durchläuft den Registrierungsvorgang noch einmal (bevor sein Abo abläuft). Sie erhalten das Kauf-Token Y. Schließlich führt der Nutzer ein Upgrade seines Abos durch und Sie erhalten das Kauf-Token Z. Wenn Sie diese API mit dem Kauf-Token Z aufrufen, wird dieses Feld auf Y gesetzt. Wenn Sie diese API mit dem Kauf-Token Y aufrufen, wird dieses Feld auf X gesetzt. Wenn Sie diese API mit dem Kauf-Token X aufrufen, wird dieses Feld nicht festgelegt.

purchaseType

integer

Die Art des Kaufs des Abos. Dieses Feld wird nur festgelegt, wenn dieser Kauf nicht über den Standard-In-App-Abrechnungsablauf erfolgt ist. Mögliche Werte: 0. Test (d.h. über ein Lizenztestkonto gekauft) 1. Gutschein (d.h. mit einem Gutscheincode gekauft)

priceChange

object (SubscriptionPriceChange)

Die neuesten Informationen zu Preisänderungen. Diese Option ist nur verfügbar, wenn eine bevorstehende Preisänderung für das Abo noch nicht angewendet wurde.

Sobald das Abo zum neuen Preis verlängert oder gekündigt wurde, werden keine Informationen zur Preisänderung mehr zurückgegeben.

profileName

string

Der Profilname des Nutzers zum Zeitpunkt des Abo-Kaufs. Wird nur bei Käufen über „Abonnieren mit Google“ angezeigt.

emailAddress

string

Die E-Mail-Adresse des Nutzers zum Zeitpunkt des Abokaufs. Wird nur bei Käufen über „Abonnieren mit Google“ angezeigt.

givenName

string

Der Vorname des Nutzers, als das Abo gekauft wurde. Wird nur bei Käufen über „Abonnieren mit Google“ angezeigt.

familyName

string

Der Nachname des Nutzers zum Zeitpunkt des Abo-Kaufs. Wird nur bei Käufen über „Abonnieren mit Google“ angezeigt.

profileId

string

Die Google-Profil-ID des Nutzers zum Zeitpunkt des Kaufs des Abos. Wird nur bei Käufen über „Abonnieren mit Google“ angezeigt.

acknowledgementState

integer

Der Bestätigungsstatus des Aboprodukts. Mögliche Werte: 0. Noch nicht bestätigt 1. Bestätigt

externalAccountId

string

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

promotionType

integer

Der Typ der auf diesen Kauf angewendeten Werbeaktion. Dieses Feld wird nur festgelegt, wenn beim Kauf des Abos ein Angebot angewendet wurde. Mögliche Werte: 0. Einmalcode 1 Vanity-Code

promotionCode

string

Der für diesen Kauf verwendete Gutscheincode. Dieses Feld wird nur festgelegt, wenn beim Kauf des Abos ein Vanity-Code-Angebot angewendet wurde.

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.

IntroductoryPriceInfo

Enthält die Informationen zum Einführungspreis für ein Abo.

JSON-Darstellung
{
  "introductoryPriceCurrencyCode": string,
  "introductoryPriceAmountMicros": string,
  "introductoryPricePeriod": string,
  "introductoryPriceCycles": integer
}
Felder
introductoryPriceCurrencyCode

string

ISO 4217-Währungscode für den Einführungspreis des Abos. Wenn der Preis beispielsweise in britischen Pfund angegeben ist, lautet priceCurrencyCode „GBP“.

introductoryPriceAmountMicros

string (int64 format)

Der Einführungspreis des Abos ohne Steuern. Die Währung ist dieselbe wie priceCurrencyCode. Der Preis wird in Mikroeinheiten angegeben, wobei 1.000.000 Mikroeinheiten einer Währungseinheit entsprechen. Wenn der Abopreis beispielsweise 1, 99 € beträgt, ist „priceAmountMicros“ gleich 1990000.

introductoryPricePeriod

string

Zeitraum für den Einführungspreis im ISO 8601-Format. Häufig verwendete Werte sind unter anderem „P1W“ (eine Woche), „P1M“ (ein Monat), „P3M“ (drei Monate), „P6M“ (sechs Monate) und „P1Y“ (ein Jahr).

introductoryPriceCycles

integer

Die Anzahl der Abrechnungszeiträume, für die der Einführungspreis angeboten wird.

SubscriptionCancelSurveyResult

Informationen, die der Nutzer angibt, wenn er den Ablauf zum Kündigen des Abos abschließt (Umfrage zum Kündigungsgrund).

JSON-Darstellung
{
  "cancelSurveyReason": integer,
  "userInputCancelReason": string
}
Felder
cancelSurveyReason

integer

Der Kündigungsgrund, den der Nutzer in der Umfrage ausgewählt hat. Mögliche Werte: 0. Sonstiges 1 Ich nutze diesen Dienst zu selten. Technische Probleme 3. Aus Kostengründen 4. Weil ich eine bessere App gefunden habe

userInputCancelReason

string

Der benutzerdefinierte Grund für die Kündigung der Eingabe durch den Nutzer. Nur vorhanden, wenn „cancelReason“ = 0.

SubscriptionPriceChange

Enthält die Informationen zur Preisänderung für ein Abo, mit denen der Nutzerablauf für die Preisänderung in der App gesteuert werden kann. Das kann in Form einer Bestätigung durch den Nutzer oder einer Anpassung der Nutzererfahrung für eine erfolgreiche Conversion erfolgen.

JSON-Darstellung
{
  "newPrice": {
    object (Price)
  },
  "state": integer
}
Felder
newPrice

object (Price)

Der neue Preis, zu dem das Abo verlängert wird, wenn der Nutzer die Preisänderung akzeptiert.

state

integer

Der aktuelle Status der Preisänderung. Mögliche Werte: 0. Ausstehend: Status für eine ausstehende Preisänderung, die darauf wartet, dass der Nutzer zustimmt. In diesem Status können Sie optional die In-App API verwenden, um die Bestätigung des Nutzers einzuholen. 1. Akzeptiert: Status für eine akzeptierte Preisänderung, mit der das Abo verlängert wird, sofern es nicht gekündigt wird. Die Preisänderung wird an einem zukünftigen Datum wirksam, wenn das Abo verlängert wird. Die Änderung erfolgt möglicherweise nicht bei der nächsten Aboverlängerung.

Methoden

acknowledge

Bestätigt einen Abo-Kauf.

cancel

Kündigt den Kauf eines Abos durch einen Nutzer.

defer

Verschiebt den Abo-Kauf eines Nutzers auf einen bestimmten zukünftigen Ablaufzeitpunkt.

get
(deprecated)

Eingestellt: Verwenden Sie stattdessen „purchases.subscriptionsv2.get“.

refund
(deprecated)

Verworfen: Verwenden Sie stattdessen „orders.refund“.

revoke
(deprecated)

Eingestellt: Verwenden Sie stattdessen „purchases.subscriptionsv2.revoke“.

Fehlercodes

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

Fehlercode Grund Auflösung
5xx 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 Play-Status-Dashboard auf bekannte Ausfälle.

409 Fehler beim Aktualisieren der Gleichzeitigkeit.

Es wurde versucht, ein Objekt zu aktualisieren, das gerade aktualisiert wird. Beispiel: Ein Kauf wird bestätigt, indem gleichzeitig die Methode acknowledgePurchase() der Play Billing Library und die Methode purchases.products.acknowledge der Play Developer API aufgerufen werden.

Wiederholen Sie Ihre Anfrage.
410 Der Abo-Kauf kann nicht mehr abgefragt werden, da er schon zu lange abgelaufen ist. Wird ausgelöst, wenn ein Abo abgefragt wird, das seit mehr als 60 Tagen abgelaufen ist. Sie sollten diese Abos nicht mehr abfragen.