Rimborso App Store: cosa vede lo sviluppatore
Di Mehdi Azizi
Pubblicato il , 8 min
Sul rimborso App Store decide solo Apple. Lo sviluppatore riceve CONSUMPTION_REQUEST, può rispondere entro 12 ore e poi scopre la decisione con REFUND.
Sull'App Store è Apple a concedere o rifiutare un rimborso, mai lo sviluppatore. Il cliente fa la richiesta sul sito di Apple o dalla tua app. Se hai collegato le notifiche server di Apple, ricevi una notifica CONSUMPTION_REQUEST al momento della richiesta, poi REFUND o REFUND_DECLINED alla decisione. In mezzo hai 12 ore per inviare i dati di consumo e la tua preferenza, a patto che il cliente abbia dato il consenso.
Un rimborso concesso toglie l'acquisto dai diritti attivi del cliente e compare in negativo nei tuoi report di vendita. Questa guida spiega ogni passaggio, cosa puoi inviare ad Apple e cosa hai il diritto di fare contro le richieste abusive. Le regole vengono dalle pagine di Apple rilette il 3 novembre 2026. Il caso reale viene da un avviso che ho collegato alle mie app a ottobre.
Chi decide un rimborso App Store?
Apple, e solo Apple. La pagina di assistenza di Apple descrive il percorso del cliente: accede a reportaproblem.apple.com, sceglie "Request a refund", indica un motivo e poi l'acquisto interessato. Apple gli consiglia di aspettare da 24 a 48 ore per una risposta.
Il cliente può anche chiedere un rimborso dalla tua app. StoreKit offre per questo un foglio di richiesta, disponibile da iOS 15. Apple consiglia di richiamarlo dalle impostazioni dell'account o da un menu di aiuto. Mostra l'acquisto e un elenco di motivi, e Apple impiega fino a 48 ore per decidere.
In entrambi i casi non devi approvare niente. Puoi solo fornire informazioni e una preferenza, che contano tra diversi criteri nella decisione di Apple.
Cosa vede ciascuno, passo dopo passo
| Fase | Lato cliente | Lato sviluppatore |
|---|---|---|
| Richiesta | Modulo di Apple o foglio nell'app | Notifica CONSUMPTION_REQUEST |
| Entro 12 ore | Attesa | Possibile invio dei dati di consumo |
| Entro 48 ore | Risposta di Apple | Notifica REFUND o REFUND_DECLINED |
| Dopo un'approvazione | Soldi restituiti sul suo metodo di pagamento | Acquisto tolto dai diritti attivi, unità negative |
| Dopo una contestazione | Rimborso annullato da Apple | Notifica REFUND_REVERSED, accesso da ripristinare |
App Store Connect ti mostra solo i rimborsi già concessi, in Sales and Trends. La richiesta in sé arriva solo tramite le notifiche server. Senza di esse, scopri il rimborso a cose fatte.
Le notifiche server di un rimborso
Le App Store Server Notifications V2 inviano cinque tipi utili in questo caso. Le ricevi all'indirizzo HTTPS dichiarato in App Store Connect, uno per la produzione e uno per la sandbox.
| Notifica | Cosa annuncia | Cosa fai |
|---|---|---|
CONSUMPTION_REQUEST | Il cliente chiede un rimborso | Rispondere entro 12 ore, se c'è consenso |
REFUND | Apple ha rimborsato la transazione | Togliere il contenuto o l'accesso rimborsato |
REFUND_DECLINED | Apple ha rifiutato la richiesta | Niente, l'accesso continua |
REFUND_REVERSED | Apple annulla un rimborso dopo una contestazione del cliente | Ripristinare ciò che avevi tolto |
REVOKE | Un acquisto condiviso in In famiglia non è più disponibile | Togliere l'accesso al membro della famiglia |
Il tuo server deve rispondere con un codice HTTP tra 200 e 206. Secondo la pagina sulle risposte alle notifiche, altrimenti Apple riprova cinque volte, 1, 12, 24, 48 e poi 72 ore dopo il tentativo precedente. In sandbox invia una volta sola.
La Consumption API: cosa puoi dire ad Apple
Quando arriva la richiesta, puoi rispondere con Send Consumption Information. La regola sta in una frase di Apple: "Respond within 12 hours of receiving the CONSUMPTION_REQUEST notification." La versione 2 dell'API vale per tutti i tipi di prodotto, abbonamenti compresi.
I campi della richiesta:
| Campo | Obbligatorio | Cosa dice ad Apple |
|---|---|---|
customerConsented | Sì | Il cliente ha acconsentito alla condivisione dei suoi dati |
deliveryStatus | Sì | L'acquisto è stato consegnato e funziona, o perché non lo è stato |
sampleContentProvided | Sì | Una prova, un estratto o una descrizione era offerto prima dell'acquisto |
consumptionPercentage | No | La quota consumata, da 0 a 100.000 per 0-100% |
refundPreference | No | La tua preferenza: DECLINE, GRANT_FULL o GRANT_PRORATED |
Due precisazioni contano. Se deliveryStatus non è DELIVERED, la quota consumata deve valere zero. E per un rimborso proporzionale di un abbonamento ometti la quota consumata: la calcola Apple.
Il consenso è la condizione di tutto. Apple scrive: "You must obtain valid consent from the customer before sharing their personal data with Apple in the Send Consumption Information API." Senza consenso, non rispondi. Apple vieta anche di usare la finestra di tracciamento pubblicitario per raccogliere questo consenso: "Don't use the AppTrackingTransparency prompt to obtain consent".
Se usi RevenueCat
Con RevenueCat è lui a ricevere le notifiche di Apple e a rispondere alla richiesta, con Refund Control. Scegli una politica tra quattro: preferire un rimborso completo, preferire un rifiuto, inviare solo i dati di consumo, o non rispondere.
Attivare la condivisione dei dati equivale a confermare che hai il consenso dei tuoi clienti. Lo dice RevenueCat stesso: "Enabling consumption data sharing confirms that you obtained consent from your Customers." Consiglia anche di riservare "Prefer no refund" a un gruppo mirato, e avvisa quando questa preferenza riguarda la maggior parte dei tuoi clienti.
Per ricevere le notifiche anche sul tuo server, RevenueCat offre un campo "Apple Server Notification Forwarding URL" nelle impostazioni dell'app. È descritto nella sua pagina sulle notifiche di Apple. È quello che uso io. Come configurare un abbonamento con RevenueCat lo trovi in RevenueCat e l'abbonamento in-app iOS.
L'effetto sui tuoi ricavi e sull'abbonamento
Sull'accesso. Secondo la documentazione di currentEntitlements, "Products that the App Store has refunded or revoked don't appear in the current entitlements". Se la tua app verifica i diritti con currentEntitlements, l'accesso rimborsato sparisce da solo. La transazione riporta la data e il motivo della revoca, in revocationDate e revocationReason.
Sui report. Secondo l'aiuto del report di vendita, un rimborso compare con unità e prezzo cliente negativi. Per gli abbonamenti, la pagina sui dati degli abbonamenti conta i rimborsi completi e parziali tra gli eventi, e li toglie dalle unità giornaliere.
Sulla tua reputazione. La guideline 5.6.4 cita le richieste di rimborso eccessive tra i segnali di una qualità insufficiente. Un tasso di rimborso alto non è solo una perdita di soldi: Apple può tenerne conto per valutare il tuo rispetto del codice di condotta.
Il mio caso: l'avviso collegato alle mie app
Il 12 ottobre 2026 ho collegato un avviso alle mie app. RevenueCat inoltra le notifiche di Apple a una route di devoria.fr. Questa verifica la firma di Apple, poi mi manda un avviso, senza importo. Volevo vedere la richiesta nel momento in cui arriva, non solo il risultato.
Il 18 ottobre è arrivata la prima vera richiesta su TradaZen, il mio simulatore di trading. Un abbonamento annuale, pagato alla fine di una prova gratuita di 7 giorni. Motivo indicato: un acquisto involontario. Tre lezioni:
- La stessa richiesta può arrivare più volte. Ho ricevuto tre volte lo stesso avviso la stessa sera. Da allora ogni avviso viene deduplicato sul tipo di notifica e sull'identificativo della transazione.
- La decisione è arrivata in meno di un giorno. Apple ha rifiutato circa 22 ore dopo la richiesta. Il cliente ha mantenuto l'accesso.
- Un rifiuto non è la fine. Lo stesso cliente ha rifatto una richiesta due giorni dopo, sulla stessa transazione.
Una richiesta per "acquisto involontario" alla fine di una prova non si vince nella risposta ad Apple. Si previene sul paywall, prima del primo pagamento.
Limitare le richieste abusive senza violare le regole
Cosa è permesso:
- Rispondere a ogni richiesta con dati esatti, quando il cliente ha dato il consenso.
- Esprimere una preferenza mirata, per esempio un rifiuto per un acquisto già consumato, invece di un rifiuto per tutti.
- Collegare ogni
REFUNDa un account cliente. La pagina di Apple sulle notifiche di rimborso lo consiglia per individuare i rimborsi ripetuti. - Dire chiaramente cosa si compra prima dell'acquisto. La guideline 3.1.2(c) chiede di descrivere cosa ottiene l'utente per quel prezzo, prima di proporgli di abbonarsi.
Cosa è vietato:
- Inviare dati falsi per far rifiutare una richiesta, o rispondere senza consenso.
- Raccogliere il consenso con la finestra di tracciamento pubblicitario, cosa che Apple esclude esplicitamente.
- Ingannare sull'acquisto. La guideline 5.6 vieta di spingere i clienti ad acquisti non voluti o di far pagare ciò che non viene consegnato.
- Fare pressione su un cliente che chiede un rimborso. La stessa regola esige rispetto nell'assistenza clienti, senza intimidazioni.
La leva migliore resta a monte: un paywall che dice il prezzo, la data del primo pagamento e come annullare. Gli errori da evitare sono in gli errori del paywall, e le regole della prova in la prova gratuita sull'App Store.
Testare prima della produzione
Secondo la pagina sul test delle richieste, la sandbox e i test StoreKit di Xcode accettano le richieste di rimborso. In sandbox qualsiasi motivo fa scattare un'approvazione automatica. Per simulare un rifiuto, scegli "Other" e digita DECLINE. Per un rimborso proporzionale, digita GRANT_PRORATED. In sandbox la tua risposta di consumo deve partire entro cinque minuti.
Un abbonamento che si fa rimborsare meno
L'iOS & Android Kit parte dal codice delle mie app, con onboarding, paywall e abbonamenti già scritti, e segue quattro fasi fino all'App Store, al tuo ritmo. La configurazione completa è spiegata nella pagina abbonamento in-app iOS, e le regole di Apple sugli abbonamenti in la guideline 3.1.2.
Prima di lanciare il tuo paywall, fai la tua diagnosi gratuita: ti dice cosa blocca davvero il tuo progetto e ti manda la mia checklist anti-rifiuto Apple.
Domande frequenti
Lo sviluppatore può rifiutare un rimborso App Store?
No. Decide solo Apple. Puoi inviare dati di consumo e una preferenza, DECLINE per esempio, che contano tra diversi criteri. L'ultima parola resta ad Apple.
Lo sviluppatore viene avvisato di una richiesta di rimborso?
Sì, se ha collegato le App Store Server Notifications V2. Apple invia CONSUMPTION_REQUEST al momento della richiesta, poi REFUND o REFUND_DECLINED alla decisione. Senza notifiche vedi solo i rimborsi concessi, nei tuoi report.
Quanto tempo impiega Apple a gestire una richiesta di rimborso?
Apple annuncia al cliente da 24 a 48 ore. La documentazione di StoreKit parla di 48 ore al massimo. Dal canto tuo, hai 12 ore per inviare i dati di consumo.
Cosa succede all'accesso dopo un rimborso?
L'acquisto rimborsato esce dai diritti attivi del cliente: StoreKit 2 non lo restituisce più in currentEntitlements. Se poi Apple annulla il rimborso, ricevi REFUND_REVERSED e devi ripristinare l'accesso.
Serve il consenso del cliente per rispondere ad Apple?
Sì. Apple esige un consenso valido prima di qualsiasi condivisione di dati tramite la Consumption API. Senza, non rispondi alla notifica. La finestra di tracciamento pubblicitario non può servire a raccoglierlo.
I rimborsi contano contro la mia app?
Possono contare. La guideline 5.6.4 cita le richieste di rimborso eccessive tra i segnali di una qualità insufficiente, che Apple può considerare per valutare il rispetto del codice di condotta.

