App-Store-Rückerstattung: Was der Entwickler sieht
Von Mehdi Azizi
Veröffentlicht am , 8 Min.
Apple entscheidet allein. Du bekommst CONSUMPTION_REQUEST, kannst binnen 12 Stunden antworten und erfährst die Entscheidung per REFUND.
Im App Store gewährt oder verweigert Apple eine Rückerstattung, niemals der Entwickler. Der Kunde stellt seinen Antrag auf der Website von Apple oder direkt in deiner App. Wenn du die Server-Benachrichtigungen von Apple eingerichtet hast, bekommst du beim Antrag eine CONSUMPTION_REQUEST-Benachrichtigung und bei der Entscheidung dann REFUND oder REFUND_DECLINED. Dazwischen hast du 12 Stunden, um Verbrauchsdaten und deine Präferenz zu schicken, sofern der Kunde zugestimmt hat.
Eine gewährte Rückerstattung entfernt den Kauf aus den aktiven Berechtigungen des Kunden und taucht negativ in deinen Verkaufsberichten auf. Dieser Guide erklärt jeden Schritt, was du an Apple schicken kannst und was du gegen missbräuchliche Anträge tun darfst. Die Regeln stammen aus den Seiten von Apple, gelesen am 3. November 2026. Der echte Fall stammt aus einem Alert, den ich im Oktober für meine Apps eingerichtet habe.
Wer entscheidet über eine Rückerstattung im App Store?
Apple, und nur Apple. Die Support-Seite von Apple beschreibt den Ablauf für den Kunden: Er meldet sich auf reportaproblem.apple.com an, wählt „Request a refund“, gibt einen Grund an und dann den betroffenen Kauf. Apple rät ihm, 24 bis 48 Stunden auf eine Antwort zu warten.
Der Kunde kann eine Rückerstattung auch in deiner App beantragen. StoreKit bietet dafür ein Antragsfenster, verfügbar seit iOS 15. Apple empfiehlt, es aus den Kontoeinstellungen oder einem Hilfemenü aufzurufen. Es zeigt den Kauf und eine Liste von Gründen, und Apple braucht bis zu 48 Stunden für die Entscheidung.
In beiden Fällen musst du nichts freigeben. Du kannst nur Informationen und eine Präferenz liefern, die zu mehreren Kriterien in Apples Entscheidung gehören.
Wer was sieht, Schritt für Schritt
| Schritt | Kundenseite | Entwicklerseite |
|---|---|---|
| Antrag | Formular von Apple oder Fenster in der App | Benachrichtigung CONSUMPTION_REQUEST |
| Innerhalb von 12 Stunden | Warten | Verbrauchsdaten können gesendet werden |
| Innerhalb von 48 Stunden | Antwort von Apple | Benachrichtigung REFUND oder REFUND_DECLINED |
| Nach einer Zusage | Geld zurück auf sein Zahlungsmittel | Kauf aus aktiven Berechtigungen entfernt, negative Einheiten |
| Nach einem Einspruch | Rückerstattung von Apple storniert | Benachrichtigung REFUND_REVERSED, Zugang wiederherstellen |
App Store Connect zeigt dir nur bereits gewährte Rückerstattungen, unter Sales and Trends. Der Antrag selbst kommt nur über die Server-Benachrichtigungen an. Ohne sie erfährst du erst hinterher von der Rückerstattung.
Die Server-Benachrichtigungen bei einer Rückerstattung
Die App Store Server Notifications V2 senden hier fünf relevante Typen. Du empfängst sie unter der HTTPS-Adresse, die du in App Store Connect hinterlegt hast, eine für Production und eine für die Sandbox.
| Benachrichtigung | Was sie meldet | Was du tust |
|---|---|---|
CONSUMPTION_REQUEST | Der Kunde beantragt eine Rückerstattung | Innerhalb von 12 Stunden antworten, bei Zustimmung |
REFUND | Apple hat die Transaktion erstattet | Erstatteten Inhalt oder Zugang entfernen |
REFUND_DECLINED | Apple hat den Antrag abgelehnt | Nichts, der Zugang bleibt |
REFUND_REVERSED | Apple storniert eine Rückerstattung nach Einspruch des Kunden | Wiederherstellen, was du entfernt hattest |
REVOKE | Ein über Family Sharing geteilter Kauf ist nicht mehr verfügbar | Dem Familienmitglied den Zugang entziehen |
Dein Server muss mit einem HTTP-Code zwischen 200 und 206 antworten. Laut der Seite zu Antworten auf Benachrichtigungen versucht Apple es sonst fünfmal erneut, jeweils 1, 12, 24, 48 und dann 72 Stunden nach dem vorherigen Versuch. In der Sandbox sendet Apple nur einmal.
Die Consumption API: was du Apple sagen kannst
Wenn der Antrag eintrifft, kannst du mit Send Consumption Information antworten. Die Regel passt in einen Satz von Apple: „Respond within 12 hours of receiving the CONSUMPTION_REQUEST notification.“ Version 2 der API gilt für alle Produkttypen, Abos eingeschlossen.
Die Felder der Anfrage:
| Feld | Pflicht | Was es Apple sagt |
|---|---|---|
customerConsented | Ja | Der Kunde hat der Weitergabe seiner Daten zugestimmt |
deliveryStatus | Ja | Der Kauf wurde geliefert und funktioniert, oder warum nicht |
sampleContentProvided | Ja | Vor dem Kauf gab es eine Testphase, eine Vorschau oder eine Beschreibung |
consumptionPercentage | Nein | Der verbrauchte Anteil, von 0 bis 100.000 für 0 bis 100 % |
refundPreference | Nein | Deine Präferenz: DECLINE, GRANT_FULL oder GRANT_PRORATED |
Zwei Details sind wichtig. Wenn deliveryStatus nicht DELIVERED ist, muss der verbrauchte Anteil null sein. Und bei einer anteiligen Rückerstattung eines Abos lässt du den verbrauchten Anteil weg: Apple berechnet ihn.
Die Zustimmung ist die Voraussetzung für alles. Apple schreibt: „You must obtain valid consent from the customer before sharing their personal data with Apple in the Send Consumption Information API.“ Ohne Zustimmung antwortest du nicht. Apple verbietet außerdem, diese Zustimmung über das Tracking-Fenster einzuholen: „Don't use the AppTrackingTransparency prompt to obtain consent“.
Wenn du RevenueCat nutzt
Mit RevenueCat empfängt RevenueCat die Benachrichtigungen von Apple und beantwortet den Antrag, mit Refund Control. Du wählst eine von vier Richtlinien: volle Rückerstattung bevorzugen, Ablehnung bevorzugen, nur Verbrauchsdaten senden oder nicht antworten.
Wenn du die Datenweitergabe aktivierst, bestätigst du, dass du die Zustimmung deiner Kunden hast. RevenueCat sagt es selbst: „Enabling consumption data sharing confirms that you obtained consent from your Customers.“ Außerdem empfiehlt RevenueCat, „Prefer no refund“ auf eine gezielte Gruppe zu beschränken, und warnt, wenn diese Präferenz die meisten deiner Kunden betrifft.
Damit die Benachrichtigungen auch auf deinem eigenen Server ankommen, bietet RevenueCat in den App-Einstellungen ein Feld „Apple Server Notification Forwarding URL“. Es ist auf der Seite zu den Apple-Benachrichtigungen beschrieben. Das nutze ich. Wie du ein Abo mit RevenueCat aufsetzt, steht in RevenueCat und In-App-Abos unter iOS.
Die Auswirkung auf deine Einnahmen und das Abo
Auf den Zugang. Laut der Dokumentation zu currentEntitlements gilt: „Products that the App Store has refunded or revoked don't appear in the current entitlements“. Wenn deine App die Berechtigungen mit currentEntitlements prüft, verschwindet der erstattete Zugang von selbst. Die Transaktion enthält Datum und Grund des Entzugs, in revocationDate und revocationReason.
Auf die Berichte. Laut der Hilfe zum Verkaufsbericht erscheint eine Rückerstattung mit negativen Einheiten und negativem Kundenpreis. Bei Abos zählt die Seite zu den Abodaten volle und teilweise Rückerstattungen zu den Ereignissen und zieht sie von den täglichen Einheiten ab.
Auf deinen Ruf. Die Guideline 5.6.4 nennt übermäßige Rückerstattungsanträge als Zeichen mangelnder Qualität. Eine hohe Rückerstattungsquote ist also nicht nur ein Geldverlust: Apple kann sie berücksichtigen, wenn es bewertet, ob du den Verhaltenskodex einhältst.
Mein Fall: der Alert für meine Apps
Am 12. Oktober 2026 habe ich einen Alert für meine Apps eingerichtet. RevenueCat leitet die Benachrichtigungen von Apple an eine Route auf devoria.fr weiter. Sie prüft die Signatur von Apple und schickt mir dann einen Alert, ohne Betrag. Ich wollte den Antrag sehen, sobald er eintrifft, nicht nur das Ergebnis.
Am 18. Oktober kam der erste echte Antrag bei TradaZen an, meinem Trading-Simulator. Ein Jahresabo, bezahlt am Ende einer 7-tägigen kostenlosen Testphase. Angegebener Grund: ein versehentlicher Kauf. Drei Lektionen:
- Derselbe Antrag kann mehrmals ankommen. Ich habe am selben Abend dreimal denselben Alert bekommen. Seitdem wird jeder Alert anhand von Benachrichtigungstyp und Transaktions-ID dedupliziert.
- Die Entscheidung kam in weniger als einem Tag. Apple hat etwa 22 Stunden nach dem Antrag abgelehnt. Der Kunde hat seinen Zugang behalten.
- Eine Ablehnung ist nicht das Ende. Derselbe Kunde hat zwei Tage später erneut einen Antrag gestellt, für dieselbe Transaktion.
Einen Antrag wegen „versehentlichem Kauf“ am Ende einer Testphase gewinnst du nicht mit deiner Antwort an Apple. Du verhinderst ihn auf der Paywall, vor der ersten Zahlung.
Missbräuchliche Anträge eindämmen, ohne die Regeln zu brechen
Was erlaubt ist:
- Jeden Antrag mit korrekten Daten beantworten, wenn der Kunde zugestimmt hat.
- Eine gezielte Präferenz angeben, zum Beispiel eine Ablehnung für einen bereits verbrauchten Kauf, statt alle abzulehnen.
- Jedes
REFUNDeinem Kundenkonto zuordnen. Die Seite von Apple zu Rückerstattungsbenachrichtigungen empfiehlt das, um wiederholte Rückerstattungen zu erkennen. - Vor dem Kauf klar sagen, was man kauft. Die Guideline 3.1.2(c) verlangt, zu beschreiben, was der Nutzer für den Preis bekommt, bevor du ihm ein Abo anbietest.
Was verboten ist:
- Falsche Daten senden, damit ein Antrag abgelehnt wird, oder ohne Zustimmung antworten.
- Die Zustimmung über das Tracking-Fenster einholen, was Apple ausdrücklich ausschließt.
- Den Kauf zur Falle machen. Die Guideline 5.6 verbietet, Kunden zu ungewollten Käufen zu drängen oder Nicht-Geliefertes zu berechnen.
- Druck auf einen Kunden ausüben, der eine Rückerstattung beantragt. Dieselbe Regel verlangt einen respektvollen Kundenservice, ohne Einschüchterung.
Der beste Hebel liegt davor: eine Paywall, die den Preis, das Datum der ersten Zahlung und den Weg zur Kündigung nennt. Die Fehler, die du vermeiden solltest, stehen in den Paywall-Fehlern, die Regeln für Testphasen in der kostenlosen Testphase im App Store.
Vor Production testen
Laut der Seite zum Testen von Anträgen akzeptieren die Sandbox und die StoreKit-Tests in Xcode Rückerstattungsanträge. In der Sandbox löst jeder Grund automatisch eine Zusage aus. Um eine Ablehnung zu simulieren, wählst du „Other“ und tippst DECLINE. Für eine anteilige Rückerstattung tippst du GRANT_PRORATED. In der Sandbox muss deine Verbrauchsantwort innerhalb von fünf Minuten rausgehen.
Ein Abo, das seltener erstattet wird
Das iOS & Android Kit basiert auf dem Code meiner Apps, mit Onboarding, Paywall und Abos bereits fertig programmiert, und führt dich in vier Schritten bis in den App Store, in deinem Tempo. Das komplette Setup steht auf der Seite In-App-Abo unter iOS, und Apples Regeln für Abos in der Guideline 3.1.2.
Bevor du deine Paywall startest, mach deine kostenlose Diagnose: Sie zeigt dir, was dein Projekt wirklich blockiert, und schickt dir meine Checkliste gegen Apple-Ablehnungen.
Häufige Fragen
Kann der Entwickler eine Rückerstattung im App Store ablehnen?
Nein. Apple entscheidet allein. Du kannst Verbrauchsdaten und eine Präferenz senden, zum Beispiel DECLINE, die zu mehreren Kriterien gehören. Das letzte Wort hat Apple.
Wird der Entwickler über einen Rückerstattungsantrag informiert?
Ja, wenn er die App Store Server Notifications V2 eingerichtet hat. Apple sendet CONSUMPTION_REQUEST beim Antrag und dann REFUND oder REFUND_DECLINED bei der Entscheidung. Ohne Benachrichtigungen siehst du nur die gewährten Rückerstattungen, in deinen Berichten.
Wie lange braucht Apple für einen Rückerstattungsantrag?
Apple nennt dem Kunden 24 bis 48 Stunden. Die StoreKit-Dokumentation spricht von höchstens 48 Stunden. Du hast 12 Stunden, um die Verbrauchsdaten zu senden.
Was passiert nach einer Rückerstattung mit dem Zugang?
Der erstattete Kauf fällt aus den aktiven Berechtigungen des Kunden: StoreKit 2 gibt ihn nicht mehr in currentEntitlements zurück. Wenn Apple die Rückerstattung später storniert, bekommst du REFUND_REVERSED und musst den Zugang wiederherstellen.
Brauche ich die Zustimmung des Kunden, um Apple zu antworten?
Ja. Apple verlangt eine gültige Zustimmung vor jeder Datenweitergabe über die Consumption API. Ohne sie antwortest du nicht auf die Benachrichtigung. Das Tracking-Fenster darf nicht dazu dienen, sie einzuholen.
Zählen Rückerstattungen gegen meine App?
Sie können. Die Guideline 5.6.4 nennt übermäßige Rückerstattungsanträge als Zeichen mangelnder Qualität, die Apple berücksichtigen kann, wenn es die Einhaltung des Verhaltenskodex bewertet.

