API für stornierte Käufe

Die Google Play Voided Purchases API stellt eine Liste der Bestellungen bereit, mit Käufen verknüpft sind, die ein Nutzer storniert hat. Sie können Informationen verwenden, aus dieser Liste, um ein Widerrufssystem zu implementieren, das verhindert, dass der Nutzer auf Produkte aus diesen Bestellungen zugreifen.

Diese API gilt für einmalige In-App-Bestellungen und App-Abonnements.

Ein Kauf kann auf folgende Weise ungültig werden:

  • Der Nutzer beantragt eine Erstattung für seine Bestellung.
  • Der Nutzer storniert seine Bestellung.
  • Eine Bestellung wird rückgebucht.
  • Der Entwickler storniert oder erstattet die Bestellung.

  • Google storniert oder erstattet die Bestellung.

Durch die Verwendung dieser API tragen Sie zu einer ausgewogeneren und faireren Nutzung für alle bei. Ihrer App zu verstehen, vor allem, wenn es sich bei Ihrer App um ein Spiel handelt.

Zugriff erhalten

Um mit der Voided Purchases API zu arbeiten, benötigst du die Berechtigung zum Ansehen. Finanzinformationen. Die Autorisierung erfolgt über einen OAuth-Client oder Dienstkonto. Wenn Sie ein Dienstkonto verwenden, aktivieren Sie die Option „Finanzdaten einsehen“ Berichte“ Berechtigung für dieses Konto.

Weitere Informationen zum autorisierten Zugriff auf Google Play Developer APIs finden Sie unter folgenden Anleitungen:

Stornierte Käufe ansehen

Verwende die Methode GET, um eine Liste der ungültigen Käufe anzufordern. In Ihrer Anfrage den voll qualifizierten Paketnamen für Ihre App, z. B. com.google.android.apps.maps und das Autorisierungstoken, das Sie erhalten, wenn Sie Zugriff auf die API erhalten.

GET https://www.googleapis.com/androidpublisher/v3/applications/
your_package_name/purchases/voidedpurchases?access_token=your_auth_token

Sie können auch die folgenden Parameter in Ihre Anfrage aufnehmen, von denen jeder optional:

startTime

Die Zeit in Millisekunden seit der Unixzeit der ältesten Zeit Kauf, den Sie in der Antwort sehen möchten. Standardmäßig startTime wurde auf vor 30 Tagen gesetzt.

Die API kann nur ungültige Käufe anzeigen, die in der Vergangenheit stattgefunden haben 30 Tage. Ältere ungültige Käufe sind nicht in der Antwort enthalten, unabhängig davon, des Werts, den Sie für startTime angegeben haben.

<ph type="x-smartling-placeholder">
endTime

Die Zeit in Millisekunden seit der Unixzeit der neuesten den Sie in der Antwort sehen möchten. Standardmäßig endTime ist auf die aktuelle Uhrzeit eingestellt.

maxResults
Die maximale Anzahl ungültiger Käufe, die in jeder Antwort angezeigt werden. Von lautet der Wert 1.000. Der Maximalwert für diesen Parameter ist ebenfalls 1000.
Token
Ein Fortsetzungs-Token aus einer vorherigen Antwort, mit dem du weitere Inhalte ansehen kannst Ergebnisse.
Typ

Die Art der ungültigen Käufe, die in jeder Antwort angezeigt werden. Wenn dieser Wert auf 0 gesetzt ist, werden nur ungültige In-App-Käufe zurückgegeben. Wenn du diesen Wert auf 1 setzt, werden beide in der App ungültig gemacht Käufe und ungültige Abonnementkäufe werden zurückgegeben. Standardwert ist 0.

includeQuantityBasedPartialRefund

ob ungültige Käufe bei mengenbasierten teilweisen Erstattungen berücksichtigt werden sollen, die nur für Käufe in variabler Stückzahl gelten. Wenn true, weitere ungültige Käufe können mit voidedQuantity zurückgegeben werden. , der die Erstattungsmenge einer mengenbasierten teilweisen Erstattung angibt. Der Standardwert ist false.

Die Antwort ist ein JSON-String, der eine Liste ungültiger Käufe enthält. Wenn es mehr Ergebnisse als im Anfrageparameter maxResults angegeben sind enthält, enthält die Antwort einen nextPageToken-Wert, den Sie an einen nachfolgende Anfrage, um weitere Ergebnisse anzuzeigen. Das erste Ergebnis in der Liste ältester ungültiger Kauf.

{
  "tokenPagination": {
    "nextPageToken": "next_page_token"
  },
  "voidedPurchases": [
    {
      "kind": "androidpublisher#voidedPurchase",
      "purchaseToken": "some_purchase_token",
      "purchaseTimeMillis": "1468825200000",
      "voidedTimeMillis": "1469430000000",
      "orderId": "some_order_id",
      "voidedSource": "0",
      "voidedReason": "4"
    },
    {
      "kind": "androidpublisher#voidedPurchase",
      "purchaseToken": "some_other_purchase_token",
      "purchaseTimeMillis": "1468825100000",
      "voidedTimeMillis": "1470034800000",
      "orderId": "some_other_order_id",
      "voidedSource": "2",
      "voidedReason": "5"
    },
  ]
}

Kontingente

Die Voided Purchases API legt die folgenden Kontingente pro Paket fest:

  • 6.000 Abfragen pro Tag. Der Tag beginnt und endet um Mitternacht (Pacific Time).
  • 30 Abfragen innerhalb von 30 Sekunden

Richtlinien für erste Anträge

Während der ersten API-Anfrage möchten Sie möglicherweise alle verfügbaren Daten für für Ihre App. Obwohl es unwahrscheinlich ist, könnte dieser Prozess Ihr Tageskontingent erschöpfen. Bis Daten zu ungültigen Käufen sicherer und einheitlicher zu erhalten, Best Practices:

  • Verwenden Sie für den Parameter maxResults den Standardwert. Wenn Sie dann Ihres gesamten Abfragekontingents für einen Tag, können Sie die Details von 6.000.000 ungültige Käufe an.
  • Wenn eine Antwort einen Wert für nextPageToken enthält, weisen Sie diesen Wert dem token-Parameter bei der nächsten Anfrage.

Best Practices

Wenn Sie diese API in Ihrer App verwenden, denken Sie daran, dass es viele Gründe für die Stornierung eines Kaufs und dass es keine alle Fälle. Berücksichtigen Sie bei der Gestaltung Ihres Widerrufs die Nutzer im Hinterkopf Richtlinien und Strategien. Dazu können Sie die folgenden empfohlenen Vorgehensweisen anwenden:

  • Nutzen Sie diese API als eines von vielen Elementen in einer umfassenden Strategie, um unerwünschtes Verhalten. In der Regel ist es effektiver, den Zugriff auf In-App-Produkte zu widerrufen in Kombination mit einer App mit vernünftigen Preisen für In-App-Käufe, App-Design, das unerwünschtes Verhalten abschreckt, eine starke Nutzerbasis hat, die Kultur dieses Verhaltens ablehnt, und der schnellen und effizienten Support Kanäle.
  • Verwalten Sie Ihre Widerrufsrichtlinie einheitlich, um Fairness für alle Nutzer zu gewährleisten.
  • Erwägen Sie die Erstellung einer gestaffelten Richtlinie, wenn Sie gegen unerwünschtes Verhalten vorgehen. Für beginnen Sie mit In-App-Warnungen bei frühzeitigen Verstößen und eskalieren Sie wenn das unerwünschte Verhalten des Nutzers fortbesteht. Als letzte Option können Sie verhindern, dass ein Nutzer mit Ihrer App interagiert.
  • Wenn Sie eine Widerrufsrichtlinie einführen, verwenden Sie bei jeder Aktualisierung Ihre nutzen, um Ihre Nutzer über die Änderungen zu informieren. Geben Sie Ihren Nutzern Zeit, diese Änderungen klar zu verstehen, bevor sie in Ihrer App wirksam werden.
  • Seien Sie Ihren Nutzern gegenüber transparent und informieren Sie sie, wenn Sie Maßnahmen ergreifen, z. B. Widerrufen des Zugriffs auf ein In-App-Produkt Idealerweise sollten Nutzende Ihre Entscheidungen anfechten. Solche Einsprüche sollten fair behandelt werden.
  • Überwachen Sie Feedbackformulare und Community-Foren, um zu verstehen, was Nutzer motiviert. sich auf unerwünschte Weise verhalten und wie sie ein solches Verhalten ausführen. Maßnahmen ergreifen als erste Abwehrlinie.