REST Resource: purchases.products

Ressource: ProductPurchase

Eine ProductPurchase-Ressource gibt den Status des In-App-Produktkaufs eines Nutzers an.

JSON-Darstellung
{
  "kind": string,
  "purchaseTimeMillis": string,
  "purchaseState": integer,
  "consumptionState": integer,
  "developerPayload": string,
  "orderId": string,
  "purchaseType": integer,
  "acknowledgementState": integer,
  "purchaseToken": string,
  "productId": string,
  "quantity": integer,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string,
  "regionCode": string,
  "refundableQuantity": integer
}
Felder
kind

string

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

purchaseTimeMillis

string (int64 format)

Der Zeitpunkt, zu dem das Produkt gekauft wurde, in Millisekunden seit der Epoche (1. Januar 1970).

purchaseState

integer

Der Kaufstatus der Bestellung. Möglicher Wert: 0. Gekauft: 1 Abgebrochen 2. Ausstehend

consumptionState

integer

Der Nutzungsstatus des In-App-Produkts. Mögliche Werte: 0. Noch nicht verbraucht 1. Konsumiert:

developerPayload

string

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

orderId

string

Die Bestell-ID, die mit dem Kauf des In-App-Produkts verknüpft ist.

purchaseType

integer

Der Typ des Kaufs des In-App-Produkts. 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) Play Points-Käufe sind nicht enthalten. 2. Mit Prämie (d.h. durch Ansehen einer Videoanzeige anstelle einer Zahlung)

acknowledgementState

integer

Der Bestätigungsstatus des In-App-Produkts. Möglicher Wert: 0. Noch nicht bestätigt 1. Bestätigt

purchaseToken

string

Das Kauf-Token, das zur Identifizierung dieses Kaufs generiert wurde. Möglicherweise nicht vorhanden.

productId

string

Die Artikelnummer des In-App-Produkts. Möglicherweise nicht vorhanden.

quantity

integer

Die Menge, die mit dem Kauf des In-App-Produkts verknüpft ist. Wenn nicht vorhanden, ist die Menge 1.

obfuscatedExternalAccountId

string

Eine verschleierte Version der ID, die eindeutig mit dem Konto 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#setobfuscatedaccountid angegeben wurde.

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.

regionCode

string

Der ISO 3166-1-Alpha-2-Code der Abrechnungsregion des Nutzers zum Zeitpunkt der Gewährung des Produkts.

refundableQuantity

integer

Die Menge, die für eine Erstattung infrage kommt, d.h. die Menge, die noch nicht erstattet wurde. Der Wert berücksichtigt mengenbasierte Teilerstattungen und vollständige Erstattungen.

Methoden

acknowledge

Bestätigt den Kauf eines In-App-Artikels.

consume

Verbraucht einen Kauf für einen In-App-Artikel.

get

Prüft den Kauf- und Nutzungsstatus eines In-App-Artikels.

Fehlercodes

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

Fehlercode Grund Beschreibung Auflösung
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. Achten Sie darauf, dass sich die Ressource in einem geeigneten Zustand für die Aktion befindet.
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 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. Achten Sie darauf, dass sich die Ressource in einem geeigneten Zustand für die Aktion befindet.
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 im Antrag korrekt sind und zueinander passen.
400 required In der Anfrage fehlt ein erforderliches Feld oder ein erforderlicher Parameter. In der API-Dokumentation finden Sie Informationen dazu, 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 Elementtyp kompatibel ist.
403 userInsufficientPermission Der Nutzer hat nicht die erforderlichen Berechtigungen, 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.
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 im Play-Status-Dashboard, ob bekannte Ausfälle vorliegen.