Abos und einmalige Käufe verwalten

Im Rahmen des Tagesgeschäfts müssen Sie möglicherweise Verwaltungsmaßnahmen für Abos oder einmalige Käufe ergreifen. Beispielsweise muss Ihr Kundenservice Nutzern möglicherweise vollständige oder teilweise Erstattungen gewähren oder Sie müssen in bestimmten Fällen Berechtigungen widerrufen. Sie können Bestellungen in der Play Console verwalten. Wenn Sie sie in Ihrem eigenen System verwalten möchten, können Sie dazu die Google Play Developer API verwenden.

Abos kündigen

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

Von Nutzern initiierte Kündigungen

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

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

Von Entwicklern initiierte Kündigungen

Als Entwickler müssen Sie möglicherweise auch Kündigungen von Ihrem Back-End aus auslösen. Mit der purchases.subscriptions.cancel API können Sie einen Abokauf kündigen. Sie können diese Methode beispielsweise verwenden, um einen älteren Dienst zu deaktivieren. Wenn Sie ein Abo kündigen, wird keine Erstattung gewährt und der Nutzer behält den Zugriff bis zum Ende des aktuellen Abrechnungszeitraums.

Mit dieser Methode können Sie die folgenden Arten von Kündigungen im Anfragetextparameter cancellationType angeben:

  • USER_REQUESTED_STOP_RENEWALS: Das Abo wird so gekündigt, als hätten Nutzer es im Google Play Store gekündigt. Alle Ratenzahlungen werden für den Rest des aktuellen Verpflichtungszeitraums fortgesetzt. Im Google Play Store können Nutzer das Abo vor Ablauf wiederherstellen oder nach Ablauf noch einmal abschließen, wenn dies für den Basis-Abo aktiviert ist.

  • DEVELOPER_REQUESTED_STOP_PAYMENTS: Das Abo wird gekündigt und weitere Zahlungen werden verhindert. Nutzer können das Abo nicht im Google Play Store wiederherstellen oder noch einmal abschließen. Sie können ihnen jedoch ermöglichen, es in Ihrer App noch einmal abzuschließen.

Nutzern ermöglichen, nicht abgelaufene Abos wiederherzustellen

In einigen Fällen kann es sinnvoll sein, Nutzern zu ermöglichen, nicht abgelaufene Abos im Abocenter von Google Play wiederherzustellen, nachdem Sie als Entwickler die Kündigung ausgelöst haben. Sie können beispielsweise einen benutzerdefinierten In-App-Kündigungsprozess anbieten. Anhand Ihrer Geschäftslogik können Sie entscheiden, welche Kündigungen, die von Ihrem Back-End ausgelöst wurden, von Nutzern wiederhergestellt werden können.

Wenn Sie angeben möchten, dass ein Nutzer die Kündigung wiederherstellen kann, senden Sie eine POST-Anfrage an die purchases.subscriptions.cancel API und legen Sie den cancellationType Anfrageparameter auf den Wert USER_REQUESTED_STOP_RENEWALS fest.

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_RENEWALS"
}

Nutzern ermöglichen, abgelaufene Abos noch einmal abzuschließen

Wenn Sie das erneute Abschließen eines abgelaufenen Abos ermöglichen möchten, müssen Sie die Option Wieder abonnieren im Basistarif des Abos aktivieren und das Abo dann kündigen, indem Sie den cancellationType Parameter auf den USER_REQUESTED_STOP_RENEWALS Wert festlegen.

Nutzern ermöglichen, Abos nur in Ihrer App noch einmal abzuschließen

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

Durch diese Aktion wird eine Echtzeit-Entwicklerbenachrichtigung SUBSCRIPTION_CANCELED ausgelöst. Informationen zum Umgang mit diesen Kündigungen finden Sie unter Kündigungen.

Abrechnung verschieben

Mit der Methode subscriptionsv2.defer können Sie den Berechtigungszeitraum für ein Abo verlängern. Wenn Sie ein Abo mit Add-ons verschieben, werden alle Elemente im Abo um denselben Zeitraum verschoben. Während des Aufschubzeitraums bleibt der Nutzer Abonnent Ihrer Inhalte, ihm werden jedoch keine zusätzlichen Kosten in Rechnung gestellt. Wenn Sie die Abrechnung für ein Abo verschieben, werden die Statusinformationen entsprechend aktualisiert und im Feld expiryTime in den Informationen zum Kaufstatus angezeigt:

  • Bei aktiven wiederkehrenden Abos wird durch die verschobene Abrechnung das nächste Verlängerungsdatum verlängert.
  • Bei Prepaid-Tarifen wird durch die verschobene Abrechnung die Ablaufzeit verlängert.

Hier einige Beispiele für die Verwendung der verschobenen Abrechnung:

  • Sie können Nutzern im Rahmen eines Sonderangebots kostenlosen Zugriff gewähren, z. B. eine Woche kostenlos für bestehende Abonnenten, wenn sie an einer Feedbackumfrage teilnehmen.
  • Sie können Kunden im Rahmen des Kundenservice kostenlosen Zugriff gewähren, z. B. nach einem längeren Ausfall, der ihre Nutzung Ihres Dienstes beeinträchtigt hat.

Die Abrechnung kann pro API-Aufruf um mindestens einen Tag und maximal ein Jahr verschoben werden. Wenn Sie das Ende der Berechtigung noch weiter verschieben möchten, rufen Sie die API vor dem neuen Ablaufdatum noch einmal auf.

Durch diese Aktion wird eine Echtzeit-Entwicklerbenachrichtigung SUBSCRIPTION_DEFERRED ausgelöst. Informationen zum Umgang mit diesen Ereignissen finden Sie unter Abrechnung für einen Abonnenten verschieben im Hilfeartikel Abos.

Beispiel:

  1. Der Streamingdienst FitnessGoals möchte im Februar eine Werbeaktion durchführen, um regelmäßige Bewegung zu fördern.

  2. Das Unternehmen bietet allen Abonnenten, die im Februar mindestens zehn Mal mit FitnessGoals trainieren, einen zusätzlichen Monat Dienst an.

  3. Die Ergebnisse der Challenge werden erfasst und am 1. März wird die Methode subscriptionsv2.defer für jeden aktiven Abokauf von Nutzern aufgerufen, die die Challenge im Februar abgeschlossen haben.

  4. Diese Nutzer erhalten einen zusätzlichen Monat lang kostenlosen Zugriff auf Videos mit regelmäßigen Übungen und erzählen allen ihren Freunden, wie FitnessGoals ihnen hilft, gesund zu bleiben.

Erstattungen gewähren und Berechtigungen widerrufen

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

Vollständige Erstattung einer Bestellung nach Bestell-ID

Mit der orders.refund API können Sie innerhalb von drei Jahren nach dem Kauf vollständige Erstattungen für jede Bestellung gewähren. Die Methode orders.refund erhält einen Parameter `revoke`, der angibt, ob zusätzlich zur Erstattung auch der Zugriff widerrufen werden soll.

Wenn Sie mit dem Erstattungsaufruf für einen Abokauf einen Widerruf auslösen, wird das Abo sofort beendet und eine Echtzeit-Entwicklerbenachrichtigung SUBSCRIPTION_REVOKED ausgelöst. Informationen zum Umgang mit diesen Ereignissen finden Sie im Leitfaden zur Verwaltung des Abolebenszyklus im Abschnitt Widerrufe.

Beispiel:

  1. Anlässlich des Beginns der neuen Weltmeisterschaft verlost die E-Sports-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 Parameter `revoke` zu übergeben, um den Gewinnern die Trikotkäufe zu erstatten.

Abo nach Kauftoken widerrufen und erstatten

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

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

Beispiel:

  • Kauf mit Kauftoken 1a2b3c4d5e6f7g8h9i0j
  • App mit dem Paketnamen com.your.app
  • Absicht, eine anteilige Erstattung zu gewähren

HTTP-POST-Anfrage:

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

Anfragetext:

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

Vollständige Erstattung

Wenn Sie ein Abo beenden und den vollen Betrag des aktuellen Abrechnungszeitraums erstatten müssen, gewähren Sie eine vollständige Erstattung. Verwenden Sie die purchases.subscriptionsv2.revoke Funktion, und legen Sie "fullRefund": {} als Erstattungstyp fest.

Beispiel:

  1. Maria hat ein automatisch verlängerndes 30-Tage-Abo für den monatlichen Tarif von SuperMovies Streaming. Maria hat einige technische Probleme, die sie daran hindern, auf die Inhalte zuzugreifen. Am dritten Tag ihres Abrechnungszeitraums wendet sie sich an den Kundenservice und gibt an, dass sie nie Zugriff auf das Abo erhalten hat.

  2. Der Kundenservice sucht die Details zum Abokauf von Maria in ihrem System und löst einen Aufruf von purchases.subscriptionsv2.revoke aus, um eine vollständige Erstattung zu beantragen.

  3. Der Kundenservice informiert Maria, dass sie 100% des Abopreises erstattet bekommen sollte und dass sie kein Abonnent des Tarifs mehr ist.

Anteilige Erstattung

Wenn Sie ein Abo beenden und die verbleibende Berechtigungszeit teilweise erstatten müssen, gewähren Sie eine anteilige Erstattung. Verwenden Sie die purchases.subscriptionsv2.revoke Funktion, und legen Sie "proratedRefund": {} als Erstattungstyp fest.

Beispiel:

  1. Maria hat ein automatisch verlängerndes 30-Tage-Abo für den monatlichen Tarif von SuperMovies Streaming. Sie hat den Dienst einige Zeit lang genutzt. Am 15. Tag ihres Abrechnungszeitraums wendet sich Maria an den Kundenservice und gibt an, dass sie ins Ausland zieht und den Dienst ab dem nächsten Tag nicht mehr nutzen kann.

  2. Der Kundenservice sucht die Details zum Abokauf von Maria in ihrem System und löst einen Aufruf von purchases.subscriptionsv2.revoke aus, um eine anteilige Erstattung zu beantragen.

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