Abos und einmalige Käufe verwalten

Im Rahmen der täglichen Arbeit müssen Sie möglicherweise Verwaltungsaktionen für Abos oder Einmalkäufe ausführen. So muss Ihr Kundenservice beispielsweise möglicherweise vollständige oder teilweise Erstattungen für Nutzer veranlassen oder in bestimmten Fällen Berechtigungen widerrufen. Sie können Bestellungen über die Play Console verwalten. Wenn Sie sie über Ihr eigenes System verwalten möchten, können Sie die Google Play Developer API verwenden.

Abos kündigen

Abokündigungen können von Nutzern oder Entwicklern initiiert werden.

Vom Nutzer initiierte Stornierungen

Nutzer können ein Google Play-Abo jederzeit über den Play Store kündigen. Gegebenenfalls müssen Sie Nutzern auch die Möglichkeit geben, ihre Abos in Ihrer App und auf Ihrer Website zu kündigen.

Die einfachste Möglichkeit, Nutzern eine freiwillige Kündigung zu ermöglichen, besteht darin, Deeplinks in Ihrer App zum Play Store bereitzustellen, über die sie ihre Abos ansehen und verwalten können.

Vom Entwickler initiierte Stornierungen

Als Entwickler müssen Sie möglicherweise auch Stornierungen über Ihr Backend auslösen. Mit der purchases.subscriptions.cancel API können Sie einen Abokauf stornieren. So können Sie beispielsweise einen alten Dienst deaktivieren. Bei der Kündigung eines Abos erfolgt keine Erstattung und der Nutzer behält den Zugriff bis zum Ende des aktuellen Abrechnungszeitraums.

Mit dieser Methode kannst du die folgenden Arten von Stornierungen im Parameter „cancellationType“ im Anfragetext angeben:

  • USER_REQUESTED_STOP_RENEWALS: Das Abo wird gekündigt, als hätten die Nutzer es im Play Store gekündigt. Ratenzahlungen werden für den Rest des aktuellen Zusicherungszeitraums fortgesetzt. Nutzer können das Abo im Play Store vor Ablauf wiederherstellen oder nach Ablauf ein neues Abo abschließen, sofern dies für den Base Plan aktiviert ist.

  • DEVELOPER_REQUESTED_STOP_PAYMENTS: Das Abo wird gekündigt und es werden keine weiteren Zahlungen mehr veranlasst. Nutzer können das Abo nicht über den Play Store wiederherstellen oder neu abonnieren. Sie können ihnen jedoch die Möglichkeit geben, es in Ihrer App wieder zu abonnieren.

Nutzern ermöglichen, nicht abgelaufene Abos wiederherzustellen

In einigen Fällen kann es hilfreich sein, Nutzern zu ermöglichen, noch nicht abgelaufene Abos im Play Store-Abocenter wiederherzustellen, nachdem Sie als Entwickler die Kündigung ausgelöst haben. Sie können beispielsweise einen benutzerdefinierten Ablauf für die Kündigung in der App anbieten. Basierend auf Ihrer Geschäftslogik können Sie festlegen, welche Stornierungen, die über Ihr Backend ausgelöst wurden, von Nutzern wiederhergestellt werden können.

Wenn du angeben möchtest, dass ein Nutzer die Stornierung rückgängig machen kann, sende eine POST-Anfrage an die purchases.subscriptions.cancel API und setze den Anfrageparameter cancellationType auf den Wert USER_REQUESTED_STOP_RENEWAL.

Beispiel:

  • Kauftoken des Abos 1a2b3c4d5e6f7g8h9i0j
  • Paketname der App com.your.app
  • Abo-ID your-subscription-product

HTTP-POST-Anfrage:

https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.your.app/purchases/subscriptions/your-subscription-product/tokens/1a2b3c4d5e6f7g8h9i0j:cancel

Anfragetext:

{
  "cancellationType": "USER_REQUESTED_STOP_RENEWAL"
}

Nutzern ermöglichen, abgelaufene Abos wieder zu abonnieren

Wenn du ein abgelaufenes Abo wieder abonnieren möchtest, musst du die Option Erneut abonnieren im Basis-Abo des Abos aktivieren und es dann kündigen, indem du den Parameter cancellationType auf den Wert USER_REQUESTED_STOP_RENEWAL festlegst.

Nutzern erlauben, ein Abo nur in Ihrer App abzuschließen

Wenn Sie den Parameter cancellationType auf DEVELOPER_REQUESTED_STOP _PAYMENTS festgelegt haben oder den Parameter cancellationType nicht festgelegt haben, können Nutzer ihr Abo nicht über das Play Abocenter wiederherstellen. Nutzer können sich jedoch bei Bedarf noch einmal über Ihre App für das Abo registrieren.

Durch diese Aktion wird eine SUBSCRIPTION_CANCELED Entwicklerbenachrichtigung in Echtzeit ausgelöst. Gehe wie unter Stornierungen beschrieben vor.

Abrechnung verschieben

Mit subscriptions.defer kannst du die Berechtigungsdauer für ein Abo verlängern. Während des Aufschubzeitraums bleibt das Abo des Nutzers für deine Inhalte aktiv, ihm wird aber keine zusätzliche Gebühr in Rechnung gestellt. Wenn Sie die Abrechnung für ein Abo verschieben, werden die Statusinformationen entsprechend aktualisiert. Sie sehen sie im Feld expiryTime in den Informationen zum Kaufstatus:

  • Bei aktiven fortlaufenden Abos wird durch die verzögerte Abrechnung das nächste Verlängerungsdatum verlängert.
  • Bei Prepaid-Tarifen verlängert sich die Ablaufzeit durch die verzögerte Abrechnung.

Beispiele für die Verwendung der verzögerten Abrechnung:

  • Bieten Sie Nutzern als Sonderangebot kostenlosen Zugriff an, z. B. eine kostenlose Woche für bestehende Abonnenten, wenn sie eine Feedbackumfrage ausfüllen.
  • Biete Kunden als Kundenservicemaßnahme kostenlosen Zugriff, z. B. nach einer längeren Ausfallzeit, die die Nutzung deines Dienstes beeinträchtigt haben könnte.

Die Abrechnung kann pro API-Aufruf um mindestens einen Tag und bis zu einem Jahr verschoben werden. Wenn du das Ende der Berechtigung noch weiter hinauszögern möchtest, rufe die API noch einmal auf, bevor das neue Ablaufdatum erreicht wird.

Durch diese Aktion wird eine SUBSCRIPTION_DEFERRED Entwicklerbenachrichtigung in Echtzeit ausgelöst. Weitere Informationen zum Umgang mit diesen Ereignissen findest du unter Abos im Abschnitt Abrechnung für einen Abonnenten verschieben.

Beispiel:

  1. Der Streamingdienst FitnessGoals möchte im Februar mit einer Werbeaktion für regelmäßiges Training werben.

  2. Sie beschließen, allen Abonnenten, die im Februar mindestens zehnmal mit FitnessGoals trainieren, einen zusätzlichen Monatszugang anzubieten.

  3. Sie erfassen die Ergebnisse der Herausforderung und rufen am 1. März die subscriptions.defer API für jeden aktiven Abokauf von Nutzern auf, die die Herausforderung im Februar gemeistert haben.

  4. Diese Nutzer erhalten einen zusätzlichen Monat lang kostenlos regelmäßige Trainingsvideos und erzählen allen ihren Freunden, wie FitnessGoals ihnen hilft, gesund zu bleiben.

Erstattungen und Widerrufe vornehmen

Es gibt viele Situationen, in denen Sie eine Erstattung für ein Abo oder einen einmaligen Kauf veranlassen oder den Zugriff darauf widerrufen möchten.

Eine Bestellung vollständig über die Bestell-ID erstatten

Mit der orders.refund API können Sie innerhalb von drei Jahren nach dem Kauf eine volle Erstattung für jede Bestellung veranlassen. Die orders.refund-Methode empfängt einen Widerrufsparameter, der angibt, ob der Zugriff zusätzlich zur Erstattung widerrufen werden soll.

Wenn du bei der Erstattungsanfrage für den Abokauf einen Widerruf ausstellst, wird das Abo sofort gekündigt und es wird eineSUBSCRIPTION_REVOKED Entwicklerbenachrichtigung in Echtzeit ausgelöst. Weitere Informationen zum Umgang mit diesen Ereignissen findest du im Leitfaden zur Abolebensdauerverwaltung im Abschnitt zu Widerrufen.

Beispiel:

  1. Zur Feier des Beginns der neuen Weltmeisterschaft verlost die E-Sport-App „Football-Not-Soccer“ kostenlose virtuelle Trikots für alle Nutzer, die in den ersten 24 Stunden neue Team-Kits kaufen.

  2. Football-Not-Soccer verwendet die orders.refund API, ohne einen Widerrufsparameter zu übergeben, um den Gewinnern die Trikotkäufe zu erstatten.

Abos per Kauftoken widerrufen und erstatten

In bestimmten Fällen müssen Sie möglicherweise den Zugriff auf das Abo eines Nutzers widerrufen und eine Erstattung vornehmen. Google Play Billing bietet Widerrufsmethoden, einschließlich vollständiger und anteiliger Erstattungen über die subscriptionsv2.revoke API. Mit diesem Endpunkt kannst du revocationContext angeben, wie die Erstattung berechnet wird.

Durch diese Aktion wird eine SUBSCRIPTION_REVOKED-Entwicklerbenachrichtigung in Echtzeit ausgelöst. Ihre App sollte diese Kündigungen wie unter Widerruf beschrieben verarbeiten.

Beispiel:

  • Kauf mit Kauftoken 1a2b3c4d5e6f7g8h9i0j
  • Anwendung mit dem Paketnamen com.your.app
  • Absicht, eine anteilige Erstattung vorzunehmen

HTTP-POST-Anfrage:

https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.your.app/purchases/subscriptionsv2/tokens/1a2b3c4d5e6f7g8h9i0j:revoke

Anfragetext:

{
  "revocationContext": {
    "proratedRefund": {}
  }
}

Volle Erstattungen

Wenn Sie ein Abo kündigen und den vollen Betrag für den aktuellen Abrechnungszeitraum erstatten möchten, führen Sie eine volle Erstattung durch. Verwenden Sie die Funktion purchases.subscriptionsv2.revoke und legen Sie "fullRefund": {} als Erstattungstyp fest.

Beispiel:

  1. Maria hat ein automatisch verlängertes 30-tägiges Abo für den monatlichen Streamingtarif von SuperMovies. Maria hat einige technische Probleme festgestellt, die sie daran hindern, auf die Inhalte zuzugreifen. Am dritten Tag ihres Abrechnungszeitraums meldet sie sich beim Kundenservice und erklärt, dass sie nie Zugriff auf das Abo erhalten hat.

  2. Der Kundenservice findet die Details zum Kauf des Abos von Maria in seinem System und sendet eine Anfrage an purchases.subscriptionsv2.revoke, um eine vollständige Erstattung zu beantragen.

  3. Der Kundenservice teilt Maria mit, dass sie 100% des Abopreises erstattet bekommen sollte und dass ihr Abo nicht mehr aktiv ist.

Anteilige Erstattungen

Wenn Sie ein Abo kündigen und die verbleibende Nutzungsdauer teilweise erstatten möchten, führen Sie eine anteilige Erstattung durch. Verwenden Sie die Funktion purchases.subscriptionsv2.revoke und legen Sie "proratedRefund": {} als Erstattungstyp fest.

Beispiel:

  1. Maria hat ein automatisch verlängertes 30-tägiges Abo für den monatlichen Streamingtarif von SuperMovies. Sie nutzt den Dienst schon seit einiger Zeit. Maria meldet sich am 15. Tag ihres Abrechnungszeitraums beim Kundenservice und teilt mit, dass sie ins Ausland umzieht und den Dienst ab dem nächsten Tag nicht mehr nutzen kann.

  2. Der Kundenservice findet die Details zum Kauf von Marias Abo in seinem System und sendet eine Anfrage an purchases.subscriptionsv2.revoke, um eine anteilige Erstattung zu beantragen.

  3. Der Kundenservice teilt Maria mit, dass sie etwa 50% des Abopreises erstattet bekommen sollte und dass der Zugriff auf den Dienst sofort beendet wird.