Επιστροφή χρημάτων App Store: τι βλέπει ο developer
Από Mehdi Azizi
Δημοσιεύτηκε στις , 8 λ.
Στο App Store αποφασίζει μόνο η Apple. Ο developer λαμβάνει CONSUMPTION_REQUEST, μπορεί να απαντήσει μέσα σε 12 ώρες και μαθαίνει την απόφαση με REFUND.
Στο App Store, η Apple εγκρίνει ή απορρίπτει μια επιστροφή χρημάτων, ποτέ ο developer. Ο πελάτης κάνει το αίτημα στον ιστότοπο της Apple ή μέσα από την εφαρμογή σου. Αν έχεις συνδέσει τα server notifications της Apple, λαμβάνεις ένα notification CONSUMPTION_REQUEST τη στιγμή του αιτήματος και μετά REFUND ή REFUND_DECLINED με την απόφαση. Ενδιάμεσα έχεις 12 ώρες για να στείλεις δεδομένα κατανάλωσης και την προτίμησή σου, με την προϋπόθεση ότι ο πελάτης έχει δώσει τη συγκατάθεσή του.
Μια επιστροφή που εγκρίνεται αφαιρεί την αγορά από τα ενεργά δικαιώματα του πελάτη και εμφανίζεται αρνητική στις αναφορές πωλήσεών σου. Αυτός ο οδηγός εξηγεί κάθε βήμα, τι μπορείς να στείλεις στην Apple και τι επιτρέπεται να κάνεις απέναντι σε καταχρηστικά αιτήματα. Οι κανόνες προέρχονται από σελίδες της Apple που ξαναδιάβασα στις 3 Νοεμβρίου 2026. Το πραγματικό παράδειγμα προέρχεται από μια ειδοποίηση που σύνδεσα στις εφαρμογές μου τον Οκτώβριο.
Ποιος αποφασίζει για μια επιστροφή χρημάτων στο App Store;
Η Apple, και μόνο η Apple. Η σελίδα υποστήριξης της Apple περιγράφει τη διαδρομή του πελάτη: συνδέεται στο reportaproblem.apple.com, επιλέγει «Request a refund», δηλώνει έναν λόγο και μετά την αγορά που τον αφορά. Η Apple τού συνιστά να περιμένει 24 έως 48 ώρες για απάντηση.
Ο πελάτης μπορεί επίσης να ζητήσει επιστροφή μέσα από την εφαρμογή σου. Το StoreKit προσφέρει γι' αυτό ένα φύλλο αιτήματος, διαθέσιμο από το iOS 15. Η Apple συνιστά να το καλείς από τις ρυθμίσεις λογαριασμού ή από ένα μενού βοήθειας. Δείχνει την αγορά και μια λίστα λόγων, και η Apple χρειάζεται έως 48 ώρες για να αποφασίσει.
Και στις δύο περιπτώσεις, δεν εγκρίνεις τίποτα εσύ. Μπορείς μόνο να δώσεις πληροφορίες και μια προτίμηση, που μετράνε ανάμεσα σε πολλά κριτήρια στην απόφαση της Apple.
Τι βλέπει ο καθένας, βήμα προς βήμα
| Βήμα | Πλευρά πελάτη | Πλευρά developer |
|---|---|---|
| Αίτημα | Φόρμα της Apple ή φύλλο μέσα στην εφαρμογή | Notification CONSUMPTION_REQUEST |
| Μέσα σε 12 ώρες | Αναμονή | Δυνατότητα αποστολής δεδομένων κατανάλωσης |
| Μέσα σε 48 ώρες | Απάντηση της Apple | Notification REFUND ή REFUND_DECLINED |
| Μετά από έγκριση | Τα χρήματα επιστρέφουν στον τρόπο πληρωμής | Η αγορά αφαιρείται από τα ενεργά δικαιώματα, αρνητικές μονάδες |
| Μετά από αμφισβήτηση | Η Apple ακυρώνει την επιστροφή | Notification REFUND_REVERSED, επαναφορά πρόσβασης |
Το App Store Connect σού δείχνει μόνο τις επιστροφές που έχουν ήδη εγκριθεί, στο Sales and Trends. Το ίδιο το αίτημα φτάνει μόνο μέσω των server notifications. Χωρίς αυτά, μαθαίνεις για την επιστροφή εκ των υστέρων.
Τα server notifications μιας επιστροφής χρημάτων
Τα App Store Server Notifications V2 στέλνουν πέντε τύπους χρήσιμους εδώ. Τα λαμβάνεις στη διεύθυνση HTTPS που έχεις δηλώσει στο App Store Connect, μία για production και μία για sandbox.
| Notification | Τι ανακοινώνει | Τι κάνεις |
|---|---|---|
CONSUMPTION_REQUEST | Ο πελάτης ζητά επιστροφή χρημάτων | Απαντάς μέσα σε 12 ώρες, αν υπάρχει συγκατάθεση |
REFUND | Η Apple επέστρεψε τα χρήματα της συναλλαγής | Αφαιρείς το περιεχόμενο ή την πρόσβαση |
REFUND_DECLINED | Η Apple απέρριψε το αίτημα | Τίποτα, η πρόσβαση συνεχίζεται |
REFUND_REVERSED | Η Apple ακυρώνει μια επιστροφή μετά από αμφισβήτηση του πελάτη | Επαναφέρεις ό,τι είχες αφαιρέσει |
REVOKE | Μια αγορά κοινή μέσω Family Sharing δεν είναι πια διαθέσιμη | Αφαιρείς την πρόσβαση από το μέλος της οικογένειας |
Ο server σου πρέπει να απαντά με κωδικό HTTP από 200 έως 206. Σύμφωνα με τη σελίδα για τις απαντήσεις στα notifications, διαφορετικά η Apple ξαναδοκιμάζει πέντε φορές, 1, 12, 24, 48 και μετά 72 ώρες μετά την προηγούμενη προσπάθεια. Στο sandbox στέλνει μόνο μία φορά.
Το Consumption API: τι μπορείς να πεις στην Apple
Όταν φτάσει το αίτημα, μπορείς να απαντήσεις με το Send Consumption Information. Ο κανόνας χωράει σε μία φράση της Apple: «Respond within 12 hours of receiving the CONSUMPTION_REQUEST notification.» Η έκδοση 2 του API ισχύει για όλους τους τύπους προϊόντων, μαζί και τις συνδρομές.
Τα πεδία του αιτήματος:
| Πεδίο | Υποχρεωτικό | Τι λέει στην Apple |
|---|---|---|
customerConsented | Ναι | Ο πελάτης συγκατατέθηκε στην κοινοποίηση των δεδομένων του |
deliveryStatus | Ναι | Η αγορά παραδόθηκε και λειτουργεί, ή γιατί δεν παραδόθηκε |
sampleContentProvided | Ναι | Πριν την αγορά προσφερόταν δοκιμή, απόσπασμα ή περιγραφή |
consumptionPercentage | Όχι | Το ποσοστό που καταναλώθηκε, από 0 έως 100 000 για 0 έως 100 % |
refundPreference | Όχι | Η προτίμησή σου: DECLINE, GRANT_FULL ή GRANT_PRORATED |
Δύο διευκρινίσεις έχουν σημασία. Αν το deliveryStatus δεν είναι DELIVERED, το ποσοστό κατανάλωσης πρέπει να είναι μηδέν. Και για αναλογική επιστροφή μιας συνδρομής, παραλείπεις το ποσοστό κατανάλωσης: το υπολογίζει η Apple.
Η συγκατάθεση είναι η προϋπόθεση για όλα. Η Apple γράφει: «You must obtain valid consent from the customer before sharing their personal data with Apple in the Send Consumption Information API.» Χωρίς συγκατάθεση, δεν απαντάς. Η Apple απαγορεύει επίσης να χρησιμοποιείς το παράθυρο διαφημιστικής παρακολούθησης για να πάρεις αυτή τη συγκατάθεση: «Don't use the AppTrackingTransparency prompt to obtain consent».
Αν χρησιμοποιείς RevenueCat
Με το RevenueCat, εκείνο λαμβάνει τα notifications της Apple και απαντά στο αίτημα, με το Refund Control. Επιλέγεις μία πολιτική από τέσσερις: προτίμηση για πλήρη επιστροφή, προτίμηση για απόρριψη, αποστολή μόνο των δεδομένων κατανάλωσης ή καμία απάντηση.
Αν ενεργοποιήσεις την κοινοποίηση δεδομένων, επιβεβαιώνεις ότι έχεις τη συγκατάθεση των πελατών σου. Το λέει το ίδιο το RevenueCat: «Enabling consumption data sharing confirms that you obtained consent from your Customers.» Συνιστά επίσης να κρατάς το «Prefer no refund» για μια στοχευμένη ομάδα, και σε προειδοποιεί όταν αυτή η προτίμηση αφορά τους περισσότερους πελάτες σου.
Για να λαμβάνεις τα notifications και στον δικό σου server, το RevenueCat προσφέρει ένα πεδίο «Apple Server Notification Forwarding URL» στις ρυθμίσεις της εφαρμογής. Περιγράφεται στη σελίδα του για τα notifications της Apple. Αυτό χρησιμοποιώ. Το στήσιμο μιας συνδρομής με RevenueCat θα το βρεις στο RevenueCat και συνδρομή in-app στο iOS.
Η επίδραση στα έσοδά σου και στη συνδρομή
Στην πρόσβαση. Σύμφωνα με την τεκμηρίωση του currentEntitlements, «Products that the App Store has refunded or revoked don't appear in the current entitlements». Αν η εφαρμογή σου ελέγχει τα δικαιώματα με το currentEntitlements, η πρόσβαση που επιστράφηκε εξαφανίζεται από μόνη της. Η συναλλαγή περιέχει την ημερομηνία και τον λόγο της ανάκλησης, στα revocationDate και revocationReason.
Στις αναφορές. Σύμφωνα με τη βοήθεια της αναφοράς πωλήσεων, μια επιστροφή εμφανίζεται με αρνητικές μονάδες και αρνητική τιμή πελάτη. Για τις συνδρομές, η σελίδα για τα δεδομένα συνδρομών μετρά τις πλήρεις και τις μερικές επιστροφές στα events και τις αφαιρεί από τις ημερήσιες μονάδες.
Στη φήμη σου. Η guideline 5.6.4 αναφέρει τα υπερβολικά αιτήματα επιστροφής ανάμεσα στις ενδείξεις ανεπαρκούς ποιότητας. Ένα υψηλό ποσοστό επιστροφών δεν είναι μόνο απώλεια χρημάτων: η Apple μπορεί να το λάβει υπόψη για να κρίνει αν τηρείς τον κώδικα δεοντολογίας.
Η περίπτωσή μου: η ειδοποίηση στις εφαρμογές μου
Στις 12 Οκτωβρίου 2026 σύνδεσα μια ειδοποίηση στις εφαρμογές μου. Το RevenueCat προωθεί τα notifications της Apple σε ένα route του devoria.fr. Αυτό ελέγχει την υπογραφή της Apple και μετά μου στέλνει μια ειδοποίηση, χωρίς ποσό. Ήθελα να βλέπω το αίτημα τη στιγμή που φτάνει, όχι μόνο το αποτέλεσμα.
Στις 18 Οκτωβρίου έφτασε το πρώτο πραγματικό αίτημα στο TradaZen, τον προσομοιωτή trading μου. Μια ετήσια συνδρομή, πληρωμένη στο τέλος μιας δωρεάν δοκιμής 7 ημερών. Δηλωμένος λόγος: ακούσια αγορά. Τρία μαθήματα:
- Το ίδιο αίτημα μπορεί να φτάσει πολλές φορές. Έλαβα την ίδια ειδοποίηση τρεις φορές το ίδιο βράδυ. Από τότε, κάθε ειδοποίηση περνά deduplication με βάση τον τύπο του notification και το αναγνωριστικό της συναλλαγής.
- Η απόφαση ήρθε σε λιγότερο από μία μέρα. Η Apple απέρριψε το αίτημα περίπου 22 ώρες μετά. Ο πελάτης κράτησε την πρόσβασή του.
- Μια απόρριψη δεν είναι το τέλος. Ο ίδιος πελάτης έκανε νέο αίτημα δύο μέρες αργότερα, για την ίδια συναλλαγή.
Ένα αίτημα για «ακούσια αγορά» στο τέλος μιας δοκιμής δεν κερδίζεται στην απάντηση προς την Apple. Προλαμβάνεται στο paywall, πριν την πρώτη πληρωμή.
Περιορισμός των καταχρηστικών αιτημάτων χωρίς να παραβιάζεις τους κανόνες
Τι επιτρέπεται:
- Να απαντάς σε κάθε αίτημα με ακριβή δεδομένα, όταν ο πελάτης έχει συγκατατεθεί.
- Να εκφράζεις στοχευμένη προτίμηση, για παράδειγμα απόρριψη για μια αγορά που έχει ήδη καταναλωθεί, αντί για απόρριψη σε όλους.
- Να συνδέεις κάθε
REFUNDμε έναν λογαριασμό πελάτη. Η σελίδα της Apple για τα notifications επιστροφών το συνιστά για να εντοπίζεις επαναλαμβανόμενες επιστροφές. - Να λες καθαρά τι αγοράζει κανείς πριν την αγορά. Η guideline 3.1.2(c) ζητά να περιγράφεις τι παίρνει ο χρήστης για την τιμή, πριν του προτείνεις να εγγραφεί.
Τι απαγορεύεται:
- Να στέλνεις ψευδή δεδομένα για να απορριφθεί ένα αίτημα, ή να απαντάς χωρίς συγκατάθεση.
- Να παίρνεις τη συγκατάθεση μέσω του παραθύρου διαφημιστικής παρακολούθησης, κάτι που η Apple αποκλείει ρητά.
- Να στήνεις παγίδες στην αγορά. Η guideline 5.6 απαγορεύει να σπρώχνεις τους πελάτες σε αγορές που δεν θέλουν ή να χρεώνεις κάτι που δεν παραδίδεται.
- Να πιέζεις έναν πελάτη που ζητά επιστροφή. Ο ίδιος κανόνας απαιτεί σεβασμό στην εξυπηρέτηση πελατών, χωρίς εκφοβισμό.
Ο καλύτερος μοχλός βρίσκεται πιο πριν: ένα paywall που λέει την τιμή, την ημερομηνία της πρώτης πληρωμής και τον τρόπο ακύρωσης. Τα λάθη που πρέπει να αποφύγεις είναι στα λάθη στο paywall, και οι κανόνες της δοκιμής στη δωρεάν δοκιμή στο App Store.
Δοκιμή πριν την production
Σύμφωνα με τη σελίδα για τη δοκιμή των αιτημάτων, το sandbox και τα StoreKit tests του Xcode δέχονται αιτήματα επιστροφής. Στο sandbox, οποιοσδήποτε λόγος προκαλεί αυτόματη έγκριση. Για να προσομοιώσεις απόρριψη, επίλεξε «Other» και γράψε DECLINE. Για αναλογική επιστροφή, γράψε GRANT_PRORATED. Στο sandbox, η απάντηση κατανάλωσης πρέπει να φύγει μέσα σε πέντε λεπτά.
Μια συνδρομή με λιγότερες επιστροφές
Το iOS & Android Kit ξεκινά από τον κώδικα των εφαρμογών μου, με onboarding, paywall και συνδρομές ήδη έτοιμα σε κώδικα, και ακολουθεί τέσσερα βήματα μέχρι το App Store, με τον δικό σου ρυθμό. Το πλήρες στήσιμο περιγράφεται στη σελίδα συνδρομή in-app στο iOS, και οι κανόνες της Apple για τις συνδρομές στη guideline 3.1.2.
Πριν βγάλεις το paywall σου, κάνε τη δωρεάν διάγνωση: σου λέει τι πραγματικά μπλοκάρει το project σου και σου στέλνει τη checklist μου κατά των απορρίψεων της Apple.
Συχνές ερωτήσεις
Μπορεί ο developer να αρνηθεί μια επιστροφή χρημάτων στο App Store;
Όχι. Αποφασίζει μόνο η Apple. Μπορείς να στείλεις δεδομένα κατανάλωσης και μια προτίμηση, για παράδειγμα DECLINE, που μετράνε ανάμεσα σε πολλά κριτήρια. Η Apple έχει τον τελευταίο λόγο.
Ειδοποιείται ο developer για ένα αίτημα επιστροφής;
Ναι, αν έχει συνδέσει τα App Store Server Notifications V2. Η Apple στέλνει CONSUMPTION_REQUEST τη στιγμή του αιτήματος και μετά REFUND ή REFUND_DECLINED με την απόφαση. Χωρίς notifications, βλέπεις μόνο τις εγκεκριμένες επιστροφές, στις αναφορές σου.
Πόσο χρόνο χρειάζεται η Apple για να εξετάσει ένα αίτημα επιστροφής;
Η Apple λέει στον πελάτη 24 έως 48 ώρες. Η τεκμηρίωση του StoreKit μιλά για 48 ώρες το πολύ. Από τη μεριά σου, έχεις 12 ώρες για να στείλεις τα δεδομένα κατανάλωσης.
Τι γίνεται με την πρόσβαση μετά από μια επιστροφή;
Η αγορά που επιστράφηκε βγαίνει από τα ενεργά δικαιώματα του πελάτη: το StoreKit 2 δεν την επιστρέφει πια στο currentEntitlements. Αν η Apple ακυρώσει μετά την επιστροφή, λαμβάνεις REFUND_REVERSED και πρέπει να επαναφέρεις την πρόσβαση.
Χρειάζεται η συγκατάθεση του πελάτη για να απαντήσω στην Apple;
Ναι. Η Apple απαιτεί έγκυρη συγκατάθεση πριν από οποιαδήποτε κοινοποίηση δεδομένων μέσω του Consumption API. Χωρίς αυτήν, δεν απαντάς στο notification. Το παράθυρο διαφημιστικής παρακολούθησης δεν μπορεί να χρησιμοποιηθεί για να τη λάβεις.
Μετράνε οι επιστροφές εις βάρος της εφαρμογής μου;
Μπορεί. Η guideline 5.6.4 αναφέρει τα υπερβολικά αιτήματα επιστροφής ανάμεσα στις ενδείξεις ανεπαρκούς ποιότητας, που η Apple μπορεί να λάβει υπόψη για να κρίνει αν τηρείς τον κώδικα δεοντολογίας.

