FEHLGESCHLAGENE ZAHLUNGENAPP STORE

Unfreiwilligen Churn im App Store senken: Billing Retry und Grace Period

Wie Billing Retry und Billing Grace Period im App Store funktionieren, welche Benachrichtigungen zählen, was Ihre App darf und wo Win-back-Angebote passen.

Veröffentlicht am 7 Min. Lesezeit

Im App Store belastet Apple den Kunden, Apple wiederholt die Zahlung, und Apple besitzt den Kündigungsbutton. Sie können keine Belastung wiederholen, keine Karte eines Kunden ändern und seine E-Mail-Adresse nicht sehen. Das heißt nicht, dass Sie nichts tun können: Sie bestimmen, wie lange der Kunde Zugriff behält, was Ihre App ihm sagt und wie Sie auf jede Benachrichtigung reagieren.

Dieser Ratgeber behandelt Billing Retry, Billing Grace Period, die App Store Server Notifications V2, die Ihnen sagen, was passiert ist, was Ihre App tun darf, Win-back-Angebote und Rückerstattungsanfragen. Er hält sich an die Dokumentation von Apple: Reducing involuntary subscriber churn, Enable Billing Grace Period, die Referenz zu notificationType, die Nachricht billingIssue, Supporting win-back offers in your app und Send Consumption Information (alle abgerufen im November 2026).

Was Apple tut, wenn eine Verlängerung fehlschlägt

Wenn eine Verlängerung wegen eines Abrechnungsproblems fehlschlägt, geht das Abo in den Zustand Billing Retry. Laut Apples Dokumentation versucht der App Store dann bis zu 60 Tage lang, die Zahlung einzuziehen.

  • Holt Apple die Zahlung während Billing Retry zurück, verlängert sich das Abo. Ohne Grace Period ist das neue Abrechnungsdatum der Tag der Wiederherstellung, die folgenden Verlängerungen verschieben sich also.
  • Endet der Billing-Retry-Zeitraum ohne Erfolg, läuft das Abo ab.

Den Zeitplan der Wiederholungsversuche wählen Sie nicht, und Sie können keinen Versuch auslösen. Apple sagt aber, dass der App Store sofort eine Verlängerung versucht, wenn der Kunde seine Zahlungsdaten aktualisiert. Das Nützlichste, was Sie tun können, ist also, den Kunden dazu zu bringen, seine Zahlungsmethode zu reparieren.

Billing Grace Period

Standardmäßig verliert ein Kunde in Billing Retry den Zugriff. Mit der Billing Grace Period behält er eine Zeit lang vollen Zugriff, während Apple versucht, die Zahlung einzuziehen. Sie schalten sie in App Store Connect im Bereich „Subscriptions” Ihrer App ein. Laut Apples Hilfeseite:

Gewählte Grace Period Wöchentliche Abos Monatliche und jährliche Abos
3 Tage 3 Tage 3 Tage
16 Tage 6 Tage 16 Tage
28 Tage 6 Tage 28 Tage

Weitere Punkte von derselben Seite:

  • Die Einstellung gilt für alle automatisch verlängerbaren Abos der App; sie lässt sich nicht pro Produkt festlegen.
  • Sie wählen, ob sie für alle Verlängerungen gilt (auch kostenlose Testphasen und Gratisangebote, die kostenpflichtig werden) oder nur für Verlängerungen von bezahlt zu bezahlt.
  • Sie können sie zuerst nur in der Sandbox aktivieren, dann in der Produktion.
  • Änderungen können bis zu 24 Stunden dauern und gelten nur für kommende Verlängerungen.
  • Sie gilt nicht für monatliche Abos mit 12-monatiger Bindung.
  • Ihre App muss weiterhin den Verlängerungsstatus prüfen und während der Grace Period den vollen Dienst bieten.

Der Unterschied zählt für den Umsatz: Holt Apple die Zahlung innerhalb der Grace Period zurück, werden die bezahlten Tage des Kunden und Ihr Umsatz nicht unterbrochen, und das Abo behält sein ursprüngliches Abrechnungsdatum. Eine Wiederherstellung nach der Grace Period, aber noch innerhalb von Billing Retry, verlängert zum Datum der Wiederherstellung.

Die Benachrichtigungen, die Sie verarbeiten sollten

App Store Server Notifications V2 informieren Ihren Server über jeden Schritt. Die Referenz zu notificationType listet diese Abrechnungsereignisse:

Ereignis notificationType subtype
Verlängerung schlägt fehl, Abo geht in Billing Retry DID_FAIL_TO_RENEW keiner
Verlängerung schlägt fehl, Billing Retry mit Billing Grace Period DID_FAIL_TO_RENEW GRACE_PERIOD
Abo verlässt die Grace Period (Billing Retry läuft weiter) GRACE_PERIOD_EXPIRED keiner
Billing Retry stellt das Abo wieder her DID_RENEW BILLING_RECOVERY
Billing Retry endet ohne Wiederherstellung EXPIRED BILLING_RETRY
Kunde schaltet die automatische Verlängerung ab DID_CHANGE_RENEWAL_STATUS AUTO_RENEW_DISABLED
Kunde schaltet die automatische Verlängerung wieder ein DID_CHANGE_RENEWAL_STATUS AUTO_RENEW_ENABLED
Abo läuft ab, nachdem der Kunde gekündigt hat EXPIRED VOLUNTARY

Beachten Sie, dass GRACE_PERIOD_EXPIRED nicht bedeutet, dass der Kunde weg ist. Apple versucht es weiter; Sie geben nur keinen Zugriff mehr.

Den aktuellen Zustand können Sie auch über den Endpunkt Get All Subscription Statuses der App Store Server API abfragen. Sein Feld status ist 1 (aktiv), 2 (abgelaufen), 3 (Billing Retry), 4 (Billing Grace Period) oder 5 (widerrufen). Die Verlängerungsinfo enthält außerdem isInBillingRetryPeriod, gracePeriodExpiresDate und einen expirationIntent, bei dem 2 einen Abrechnungsfehler und 1 eine Kündigung durch den Kunden bedeutet.

Behandeln Sie AUTO_RENEW_DISABLED als Frühwarnung

DID_CHANGE_RENEWAL_STATUS mit AUTO_RENEW_DISABLED kommt einer Kündigung im App Store am nächsten: Der Kunde hat bis zum Ende des Zeitraums noch Zugriff, verlängert aber nicht. Es ist keine fehlgeschlagene Zahlung, aber der beste Moment für eine Haltebotschaft, weil das Abo noch aktiv ist.

Was Ihre App tun kann

Apple sagt klar, welche Werkzeuge Sie haben.

  1. Lassen Sie StoreKit die Abrechnungsnachricht zeigen. Wenn ein Abo in Billing Retry ist, sendet der App Store eine Nachricht billingIssue. StoreKit zeigt beim Start Ihrer App (oder wenn Sie es anfordern) ein Billing-Problem-Sheet, und der Kunde kann seine Zahlungsmethode reparieren, ohne Ihre App zu verlassen. Apple dokumentiert die Häufigkeit: alle 24 Stunden an den Tagen 1 bis 3, alle 72 Stunden an den Tagen 4 bis 16, alle 96 Stunden an den Tagen 17 bis 30 und alle 120 Stunden an den Tagen 31 bis 60. Sie können sie verzögern oder unterdrücken, aber wenn Sie keine bessere Nachricht haben, lassen Sie sie anzeigen.
  2. Zeigen Sie Ihre eigene In-App-Nachricht. Apples Leitfaden zu unfreiwilligem Churn sagt, dass Ihre App Nutzern mitteilen darf, dass sie den Verlust des Zugriffs vermeiden können, indem sie ihren Abrechnungsfehler beheben, und dass sie per Deep Link auf die Seite „Manage Payments” ihres Kontos verweisen darf. Prüfen Sie zuerst expirationIntent, damit Sie niemandem eine Abrechnungsnachricht zeigen, der gekündigt hat.
  3. Verlinken Sie die Abo-Verwaltung. showManageSubscriptions(in:) (oder manageSubscriptionsSheet in SwiftUI) öffnet dasselbe Sheet wie die Einstellungen, in dem der Kunde sein Abo ansehen, ändern oder kündigen kann.
  4. Kontaktieren Sie den Kunden über Ihre eigenen Kanäle. Wenn der Kunde ein Konto bei Ihnen hat und Ihnen eine E-Mail gegeben hat, können Sie ihm schreiben. Apple teilt die E-Mail des Kunden nicht, deshalb müssen Sie die App-Store-Transaktion Ihrem eigenen Nutzer zuordnen, zum Beispiel mit einem beim Kauf gesetzten appAccountToken.
  5. Stellen Sie den Zugriff schnell wieder her. Nach einer Wiederherstellung fügt StoreKit die Verlängerungstransaktion der Warteschlange hinzu. Apple weist darauf hin, dass der Observer womöglich nicht aufgerufen wird, wenn Ihre App bereits läuft, und die App es erst beim nächsten Start erfährt. Ihr Server weiß es meist zuerst, durch DID_RENEW.

Was Sie nicht tun können: die Belastung wiederholen, die Zahlungsmethode selbst ändern, Billing Retry verlängern oder Apples eigene Kündigungsoption entfernen.

Win-back-Angebote

Sobald ein Abo gechurnt ist (Ablaufdatum in der Vergangenheit und automatische Verlängerung aus), können Sie ein Win-back-Angebot machen: einen kostenlosen oder rabattierten Zeitraum für berechtigte ehemalige Abonnenten. Laut Apples Leitfaden:

  • Sie konfigurieren die Angebote und Berechtigungsregeln in App Store Connect: Dauer des bezahlten Abos, Zeit seit Ablauf und Zeit zwischen eingelösten Angeboten.
  • Kunden finden sie im App Store, in den Abo-Einstellungen ihres Kontos und in Ihrer App, wo StoreKit standardmäßig ein Sheet mit dem Win-back-Angebot zeigen kann.
  • App Store Connect gibt jedem Angebot einen direkten Link, den Sie über Ihre eigenen Kanäle verschicken können, etwa per E-Mail. Bevor Sie ihn senden, rufen Sie Get All Subscription Statuses auf, prüfen das Array eligibleWinBackOfferIds und senden den Link nur an berechtigte Kunden.
  • Eine Einlösung nach dem Ablauf erzeugt SUBSCRIBED mit dem Subtyp RESUBSCRIBE; mit einem Win-back-Angebot eingelöste Transaktionen haben offerType 4.

Für aktive Abonnenten sind Apples Promotional Offers und Offer Codes die passenden Werkzeuge (die Einlösung sendet OFFER_REDEEMED).

Rückerstattungsanfragen und CONSUMPTION_REQUEST

Kunden bitten Apple um Rückerstattungen, nicht Sie, und Apple entscheidet. Wenn ein Kunde eine Rückerstattung anfordert, sendet der App Store eine Benachrichtigung CONSUMPTION_REQUEST. Hat der Kunde der Weitergabe seiner Daten an Apple zugestimmt, können Sie innerhalb von 12 Stunden über den Endpunkt Send Consumption Information antworten. Apple sagt, dass es diese Informationen für seine Rückerstattungsentscheidungen nutzt. Sie sind dafür verantwortlich, eine gültige Einwilligung einzuholen, und Apple sagt, dass Sie dafür nicht die App-Tracking-Transparency-Abfrage verwenden sollen. Ohne Einwilligung antworten Sie nicht.

Wenn Apple erstattet, erhalten Sie REFUND; wenn Apple eine über Ihre App angeforderte Rückerstattung ablehnt, REFUND_DECLINED; und wenn eine Rückerstattung rückgängig gemacht wird, REFUND_REVERSED.

Eine Checkliste

  • App Store Server Notifications V2 sind aktiviert, und Ihr Server verarbeitet die obigen Abrechnungsereignisse.
  • Billing Grace Period ist eingeschaltet, in der Sandbox getestet und dann in der Produktion aktiviert.
  • Ihre App gewährt während der Grace Period Zugriff und entzieht ihn bei GRACE_PERIOD_EXPIRED.
  • Die Abrechnungsnachricht von StoreKit darf angezeigt werden oder wird durch Ihre eigene ersetzt.
  • Ihr Einstellungsbildschirm verlinkt die Abo-Verwaltung.
  • Jeder Kauf trägt ein appAccountToken, damit Sie den Kunden erreichen können.
  • Win-back-Angebote sind konfiguriert und werden nur an berechtigte Kunden gesendet.
  • Consumption Requests werden innerhalb von 12 Stunden beantwortet, wenn der Kunde zugestimmt hat.

Umsetzung mit NoChurn

Apple behält Zahlungen, Wiederholungsversuche, die Grace Period und den Kündigungsbutton; NoChurn ändert das nicht. NoChurn liest Ihre App Store Server Notifications, ordnet jedes Abo über das appAccountToken Ihrem Nutzer zu und stellt Abrechnungsprobleme, Änderungen der automatischen Verlängerung und Rückerstattungen in die Kunden-Timeline und in einen Churn-Score von 0 bis 100. Wo Apple es erlaubt, handelt NoChurn: Nachrichten in Ihrer App oder per E-Mail mit Link zu Apples Abo-Einstellungen, ein Kündigungsflow, den Ihre App über die Headless-API zeigt, bevor sie zu Apple verlinkt, Win-back-Mails an Tag 30, 60 und 90 je nach Kündigungsgrund und Antworten auf Consumption Requests aus Ihren eigenen Nutzungsdaten. Siehe NoChurn + App Store.

PROMPT

Read https://www.nochurn.sh/llms.txt,
then follow https://www.nochurn.sh/docs/quickstart/
to add NoChurn to this app. Use a test key
(nc_test_…) until I say we go live.

Hören Sie auf, Umsatz zu verlieren.

  • Kostenlos bis $300 MRR
  • Keine Karte nötig
  • In 10 Minuten live
  • Nie ein Anteil an dem, was wir retten