Abos und einmalige Käufe verwalten

Im Rahmen des Tagesgeschäfts müssen Sie möglicherweise Verwaltungsaktionen für Abos oder Einmalkäufe durchführen. Ihr Kundenservice muss beispielsweise möglicherweise vollständige oder teilweise Erstattungen für Nutzer veranlassen oder Sie müssen 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 dazu die Google Play Developer API verwenden.

Abos kündigen

Abo-Kündigungen können von Nutzern oder Entwicklern initiiert werden.

Vom Nutzer initiierte Kündigungen

Nutzer können ein Google Play-Abo jederzeit über den Play Store kündigen. Falls zutreffend, müssen Sie Nutzern auch eine Option zum Kündigen ihrer Abos in Ihrer App und auf Ihrer Website zur Verfügung stellen.

Am einfachsten können Sie Nutzern die Möglichkeit geben, freiwillig zu kündigen, indem Sie Deeplinks in Ihrer App zum Play Store bereitstellen, über die sie ihre Abos aufrufen und verwalten können.

Vom Entwickler initiierte Stornierungen

Als Entwickler müssen Sie möglicherweise auch Kündigungen über Ihr Backend auslösen. Mit der purchases.subscriptions.cancel-API können Sie einen Abo-Kauf stornieren. Sie können diese Methode beispielsweise verwenden, um einen alten Dienst zu deaktivieren. Wenn ein Abo gekündigt wird, erfolgt keine Erstattung. 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 Parameter cancellationType des Anfragetexts angeben:

  • USER_REQUESTED_STOP_RENEWALS: Das Abo wird so gekündigt, als hätten 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 dem Ablauf wiederherstellen oder nach dem Ablauf neu abschließen, sofern dies für den Base Plan aktiviert ist.

  • DEVELOPER_REQUESTED_STOP_PAYMENTS: Das Abo wird gekündigt und weitere Zahlungen werden verhindert. Nutzer können das Abo nicht über den Play Store wiederherstellen oder neu abonnieren. Sie können ihnen jedoch ermöglichen, das Abo in Ihrer App neu abzuschließen.

Nutzern erlauben, nicht abgelaufene Abos wiederherzustellen

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

Wenn Sie angeben möchten, dass ein Nutzer die Kündigung rückgängig machen kann, senden Sie eine POST-Anfrage an die purchases.subscriptions.cancel API und legen Sie den Anfrageparameter cancellationType auf den Wert USER_REQUESTED_STOP_RENEWAL 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_RENEWAL"
}

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

Wenn Sie das erneute Abonnieren eines abgelaufenen Abos zulassen möchten, müssen Sie im Basis-Abo des Abos die Option Erneut abonnieren aktivieren und das Abo dann kündigen, indem Sie den Parameter cancellationType auf den Wert USER_REQUESTED_STOP_RENEWAL setzen.

Nutzern ermöglichen, ein Abo nur in Ihrer Anwendung noch einmal abzuschließen

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

Durch diese Aktion wird eine SUBSCRIPTION_CANCELEDEntwicklerbenachrichtigung in EchtzeitSUBSCRIPTION_CANCELED ausgelöst. Gehen Sie bei diesen Kündigungen wie unter Kündigungen beschrieben vor.

Abrechnung aufschieben

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 Artikel im Abo um denselben Zeitraum verschoben. Während des Aufschubzeitraums behält der Nutzer sein Abo für Ihre Inhalte, ihm wird die zusätzliche Zeit jedoch nicht in Rechnung gestellt. Wenn Sie die Abrechnung für ein Abo aufschieben, werden die Statusinformationen entsprechend aktualisiert und im Feld expiryTime in den Kaufstatusinformationen angezeigt:

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

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

  • Nutzern im Rahmen eines Sonderangebots kostenlosen Zugriff gewähren, z. B. eine Woche kostenlos für bestehende Abonnenten, die an einer Umfrage teilnehmen.
  • Kunden 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 einen Tag bis zu einem Jahr verzögert werden. Wenn Sie das Ende des Anspruchs noch weiter hinauszögern möchten, rufen Sie die API vor dem neuen Ablaufdatum noch einmal auf.

Durch diese Aktion wird eine SUBSCRIPTION_DEFERREDEntwicklerbenachrichtigung in EchtzeitSUBSCRIPTION_DEFERRED ausgelöst. Informationen zum Umgang mit diesen Ereignissen finden Sie unter Abrechnung für einen Abonnenten aufschieben im Hilfeartikel Abos.

Beispiel:

  1. Der Streamingdienst FitnessGoals möchte im Februar ein Angebot starten, um Nutzer zu regelmäßiger Bewegung zu motivieren.

  2. Sie beschließen, allen Abonnenten, die im Februar mindestens zehnmal mit FitnessGoals trainieren, einen zusätzlichen Monat lang Zugriff auf den Dienst zu gewähren.

  3. Sie verfolgen die Ergebnisse der Challenge und rufen am 1. März die Methode subscriptionsv2.defer für jeden aktiven Abokauf von Nutzern auf, die die Challenge im Februar abgeschlossen haben.

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

Erstattungen und Widerrufe veranlassen

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

Eine Bestellung anhand der Bestell-ID vollständig erstatten

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

Wenn Sie einen Widerruf mit dem Erstattungsaufruf für den Abo-Kauf ausstellen, wird das Abo sofort gekündigt und es wird eineSUBSCRIPTION_REVOKED-Entwicklerbenachrichtigung in Echtzeit ausgelöst. Im Leitfaden zum Verwalten des Abo-Lebenszyklus finden Sie im Abschnitt zu Widerrufen Informationen dazu, wie Sie mit diesen Ereignissen umgehen.

Beispiel:

  1. Zur Feier 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 „revoke“-Parameter zu übergeben, um den Gewinnern die Trikotkäufe zu erstatten.

Abo anhand des Kauf-Tokens widerrufen und erstatten

In bestimmten Anwendungsfällen müssen Sie möglicherweise den Zugriff auf das Abo eines Nutzers widerrufen und eine Erstattung vornehmen. Play Billing bietet Widerrufsmethoden wie vollständige und anteilige Erstattungen über die subscriptionsv2.revoke API. Mit diesem Endpunkt können Sie revocationContext angeben, um festzulegen, 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
  • App 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 Erstattung

Wenn Sie ein Abo kündigen und den vollen Betrag des aktuellen Abrechnungszeitraums erstatten möchten, stellen Sie eine vollständige Erstattung aus. Verwenden Sie die Funktion purchases.subscriptionsv2.revoke und legen Sie "fullRefund": {} als Erstattungstyp fest.

Beispiel:

  1. Maria hat ein monatliches Abo für SuperMovies-Streaming mit automatischer Verlängerung. 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 findet die Details zum Kauf von Marias Abo in seinem System und ruft purchases.subscriptionsv2.revoke an, um eine vollständige Erstattung zu beantragen.

  3. Der Kundenservice teilt Maria mit, dass sie 100% des Abopreises erstattet bekommt und dass sie das Abo nicht mehr hat.

Anteilige Erstattungen

Wenn Sie ein Abo kündigen und die verbleibende Berechtigungszeit anteilig erstatten müssen, stellen Sie eine anteilige Erstattung aus. Verwenden Sie die Funktion purchases.subscriptionsv2.revoke und legen Sie "proratedRefund": {} als Erstattungstyp fest.

Beispiel:

  1. Maria hat ein monatliches Abo für SuperMovies-Streaming mit automatischer Verlängerung. Sie nutzt den Dienst seit einiger Zeit sehr gern. Maria kontaktiert am 15. Tag ihres Abrechnungszeitraums den Kundenservice und teilt mit, dass sie ins Ausland zieht und den Dienst ab dem nächsten Tag nicht mehr nutzen kann.

  2. Der Kundenservice findet die Details zum Abo von Maria in seinem System und leitet einen Anruf an purchases.subscriptionsv2.revoke weiter, um eine anteilige Erstattung anzufordern.

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