Tutti gli articoli
Deep dive9 min di lettura

Ogni rimborso per l'upgrade di un abbonamento è una decisione dello store, non tua, e viene prelevato direttamente dai tuoi proventi

Quando un cliente passa a un livello superiore, lo store emette un rimborso per l'upgrade dell'abbonamento per i giorni non usati del vecchio piano, e riduce i tuoi proventi in modo automatico. Ecco come funzionano i rimborsi per gli upgrade sull'App Store e su Google Play, e perché Apple tiene l'importo fuori dal tuo server.

Una leva di ottone spinta verso una posizione più alta mentre delle monete scivolano dal bordo della scrivania nell'ombra, a illustrare un rimborso per l'upgrade di un abbonamento che lascia i tuoi proventi

Punti chiave

  • Un rimborso per l'upgrade di un abbonamento è automatico. Quando un cliente passa a un livello superiore a metà ciclo, lo store accredita o rimborsa i giorni non usati del vecchio piano senza chiedertelo, e il denaro esce dai proventi che avevi già registrato.
  • Sull'App Store un upgrade ha effetto immediato e Apple rimborsa l'importo proporzionale dell'abbonamento originale. Un downgrade aspetta la prossima data di rinnovo e non rimborsa nulla.
  • Apple non invia al tuo server l'importo del rimborso per l'upgrade. La transazione di upgrade è contrassegnata con isUpgraded, ma il campo del prezzo mostra ancora il prezzo pieno del nuovo livello, quindi i ricavi che calcoli dalle App Store Server Notifications risultano gonfiati.
  • I report finanziari di App Store Connect sono l'unico posto in cui un rimborso per l'upgrade proporzionale viene contabilizzato. Il personale di Apple afferma che l'importo non è disponibile tramite l'App Store Server API, le Notifications né StoreKit.
  • Google Play non restituisce denaro sulla carta in un upgrade. Accredita il tempo non usato o addebita la differenza di prezzo, e quale delle due avviene dipende dalla modalità di sostituzione che imposti. Il valore predefinito è WITH_TIME_PRORATION.
  • Un rimborso per l'upgrade non è una richiesta di rimborso del cliente. Non c'è nessun CONSUMPTION_REQUEST né una revisione di storno, quindi non c'è una finestra di 12 ore o di 24 ore e niente da contestare. Lo riconcili, non lo combatti.
  • La modalità di sostituzione è una decisione sui ricavi. WITH_TIME_PRORATION consegna al cliente tempo pagato in più che tu eroghi al costo del livello superiore, mentre CHARGE_PRORATED_PRICE addebita la differenza ora, quindi il valore predefinito sbagliato disperde margine un upgrade alla volta.

Un cliente tocca esegui upgrade, passa dal tuo livello da cinque dollari a quello da dieci dollari, e tu registri una vendita più alta. Lo store fa un'altra cosa nello stesso momento, e tu non la vedi mai. Consegna a quel cliente un rimborso per l'upgrade dell'abbonamento per i giorni che aveva già pagato sul vecchio piano, e quel denaro esce dai tuoi proventi. Nessuno te l'ha chiesto. Sull'App Store non troverai nemmeno l'importo negli eventi che il tuo server riceve.

Questo non è il rimborso che puoi combattere. Non è un CONSUMPTION_REQUEST di Apple e non è una revisione di storno di Google Play. È un calcolo proporzionale, integrato nel modo in cui entrambi gli store lasciano cambiare piano alle persone, e si esegue da solo ogni volta che un abbonato sale di livello. Ecco che cos'è davvero un rimborso per l'upgrade su ciascuno store, perché Apple tiene l'importo fuori dal tuo server e quanto ti costa l'impostazione sbagliata di Google Play.

Che cos'è davvero un rimborso per l'upgrade di un abbonamento

Un rimborso per l'upgrade è lo store che salda il tempo che il cliente ha pagato ma non userà. Non ha nulla a che vedere con un reclamo, una contestazione o la tua politica di rimborso. Scatta solo per la meccanica del cambio di piano.

È calcolo proporzionale, non un reclamo del cliente

Quando un abbonato passa a un livello superiore a metà di un periodo di fatturazione, ha già pagato fino alla fine di quel periodo al vecchio prezzo. Lo store lo risarcisce per la parte non usata. Apple emette un rimborso proporzionale dell'abbonamento originale. Google Play accredita il valore non usato sul nuovo piano. Nessuno dei due passa per un flusso a cui puoi rispondere, e nessuno dei due aspetta la tua approvazione.

Solo un upgrade lo attiva

La direzione del cambio decide il denaro. Sull'App Store un upgrade è un passaggio a un prodotto classificato più in alto nello stesso gruppo di abbonamenti, e solo quel passaggio è immediato e rimborsato. Un downgrade è un passaggio a un rango più basso, e ha effetto al prossimo rinnovo senza rimborso. Un crossgrade è un passaggio tra prodotti dello stesso rango, e il suo tempismo dipende dalle durate coinvolte. Classifica male i prodotti in App Store Connect e un cambio che credi sia un upgrade si comporterà come qualcos'altro.

Cambio sull'App StoreQuando ha effettoCosa succede al denaro
Upgrade a un livello superioreImmediatamenteApple rimborsa l'importo proporzionale dell'abbonamento originale
Downgrade a un livello inferioreAlla prossima data di rinnovoNessun rimborso, si rinnova al prezzo più basso
Crossgrade, stessa durata pagata in anticipoImmediatamenteInizia un nuovo abbonamento, il servizio pagato continua
Crossgrade, durate diverseAlla prossima data di rinnovoNessun rimborso a metà ciclo

Perché l'App Store nasconde il rimborso per l'upgrade al tuo server

Ecco la parte che rompe il rendiconto dei ricavi. Apple emette il rimborso per l'upgrade, ma non dice mai al tuo server quanto ha rimborsato.

isUpgraded è l'unico segnale, e il prezzo è sbagliato

La nuova transazione arriva con isUpgraded impostato su true, il che ti dice che è avvenuto un cambio di piano. Il campo del prezzo su quella transazione mostra ancora il prezzo di listino pieno del nuovo livello, non l'importo che Apple ha recuperato dal vecchio. Nessuna App Store Server Notification porta la cifra del rimborso. Nelle parole di Apple stessa sui forum per sviluppatori, l'importo del rimborso proporzionale non è disponibile tramite l'App Store Server API, le Notifications né StoreKit, e il reporting di App Store Connect è la tua fonte per ogni fine di contabilità finanziaria.

Il report finanziario è l'unico registro onesto

I report finanziari e di vendita di App Store Connect contabilizzano il rimborso per l'upgrade proporzionale, perché quei report determinano ciò che Apple ti paga davvero. Questo li rende la fonte di verità per ogni abbonato che abbia mai fatto un upgrade. Costruisci la tua contabilità a partire dai report, e tratta gli eventi del server come segnali di diritto d'accesso, non come ricavi.

Due schede di livelli di abbonamento su una scrivania con una mano che sposta un indicatore verso la scheda superiore mentre delle monete vengono tolte dalla vecchia scheda, a illustrare un rimborso per l'upgrade di un abbonamento che lascia i tuoi proventi

Quanto ti costa, in denaro

Il rimborso per l'upgrade non è un errore di arrotondamento. Sono proventi reali, e su Google Play scegli anche quanto del tempo non usato regalare.

Il rimborso sono proventi che avevi già registrato

Prendi un abbonato al tuo livello da 9.99 al mese che fa upgrade a 19.99 il giorno 20 di un ciclo di 30 giorni. Circa un terzo del mese è non usato, quindi Apple rimborsa circa 3.33 dei 9.99 originali. Non perdi l'intera vendita. Restituisci la parte che il cliente ha pagato in anticipo e non userà. Ciò che conta è che la restituzione è automatica e ricade sulla vecchia vendita, quindi i proventi che avevi già contato si riducono a posteriori. Moltiplica questo per ogni abbonato che sale di livello a metà ciclo ed è una voce che dovresti poter vedere, non uno scarto che scopri nel pagamento.

Su Google Play la modalità di sostituzione è la vera leva di costo

Google Play non rimborsa denaro sulla carta in un upgrade. Salda il tempo non usato in uno di diversi modi, e tu scegli quale passando una modalità di sostituzione quando avvii il flusso di acquisto. La scelta decide se consegni al cliente tempo pagato o gli addebiti la differenza. Google raccomanda CHARGE_PRORATED_PRICE per gli upgrade e DEFERRED per i downgrade, ma il valore predefinito della libreria è WITH_TIME_PRORATION, quindi un flusso che non hai mai configurato sta accreditando tempo in silenzio.

Modalità di sostituzione Google PlayQuando ha effettoCosa succede al tempo non usato
WITH_TIME_PRORATION (predefinita)ImmediatamenteAccreditato come tempo extra sul nuovo piano, la prossima data di fatturazione viene spostata in avanti
CHARGE_PRORATED_PRICE (solo upgrade)ImmediatamenteLa differenza di prezzo per il periodo restante viene addebitata ora, la data di fatturazione non cambia
WITHOUT_PRORATIONImmediatamenteNulla viene saldato ora, il nuovo prezzo parte al prossimo rinnovo
CHARGE_FULL_PRICEImmediatamenteIl prezzo pieno del nuovo piano viene addebitato ora, il valore restante viene riportato o calcolato in proporzione
DEFERREDAl prossimo rinnovoIl piano attuale prosegue finché non scade, poi parte il nuovo piano

Come evitare che i rimborsi per gli upgrade sorprendano la tua contabilità

Non puoi disattivare il calcolo proporzionale, e non vorresti, perché è ciò che rende un cambio di piano equo per il cliente. Quello che puoi fare è vederlo, valorizzarlo e tenerlo separato dai rimborsi che puoi davvero contestare.

Riconcilia gli upgrade di Apple con il report finanziario

Poiché l'importo del rimborso non raggiunge mai il tuo server, i report finanziari e di vendita di App Store Connect sono l'unico posto in cui un rimborso per l'upgrade proporzionale compare. Riconcilia i ricavi per abbonato con quei report a ogni periodo, e non calcolare i ricavi da un totale progressivo di Server Notifications. Il contrassegno isUpgraded ti dice che è avvenuto un cambio. Il report ti dice quanto è costato.

Scegli la modalità di sostituzione di Google Play di proposito

Passa una modalità di sostituzione per ogni cambio di piano in modo deliberato. Usa CHARGE_PRORATED_PRICE quando vuoi incassare ora la differenza di prezzo su un upgrade. Lascia in vigore WITH_TIME_PRORATION solo quando intendi davvero dare al cliente il tempo residuo. Usa DEFERRED per i downgrade così mantieni i ricavi attuali fino alla fine del termine. Il valore predefinito è una decisione, e il valore predefinito sbagliato regala margine un upgrade alla volta.

Tieni i rimborsi per gli upgrade separati dai rimborsi che puoi contestare

Un rimborso per l'upgrade è automatico e definitivo per progettazione. Non è un cliente che chiede indietro i suoi soldi. I rimborsi su cui puoi davvero incidere sono quelli avviati dal cliente, dove Apple invia un CONSUMPTION_REQUEST e ti dà 12 ore per rispondere, e dove Google Play apre una revisione di storno tramite orders.reviewrefund con una finestra di 24 ore. Etichetta i tuoi dati così che i due non si confondano mai. Una voce la riconcili. L'altra voce a cui rispondi, contro il tempo.

La versione breve

Quando un cliente fa l'upgrade di un abbonamento, lo store salda il tempo non usato al posto suo, in modo automatico. Apple rimborsa l'importo proporzionale del vecchio piano immediatamente e non invia mai la cifra al tuo server, quindi i report finanziari di App Store Connect sono l'unico registro accurato. Google Play accredita il tempo o addebita la differenza a seconda della modalità di sostituzione che imposti, e il valore predefinito consegna al cliente tempo pagato che tu eroghi a costo. Nulla di tutto ciò passa per un CONSUMPTION_REQUEST o una revisione di storno, quindi non c'è niente da contestare. Riconcilia il rimborso per l'upgrade, imposta la tua modalità di Google Play di proposito, e tienilo separato dai rimborsi che puoi ancora combattere.

Domande frequenti

Un rimborso per l'upgrade di un abbonamento chiede la mia approvazione?
No. Un rimborso per l'upgrade di un abbonamento è automatico. Quando un cliente passa a un livello superiore a metà ciclo, lo store salda il tempo non usato del vecchio piano da solo, senza alcuna richiesta verso di te e senza una finestra per rispondere. Apple rimborsa l'importo proporzionale dell'abbonamento originale, e Google Play accredita il tempo non usato o addebita la differenza di prezzo a seconda della modalità di sostituzione che imposti.
Perché i miei ricavi dell'App Store non coincidono con il mio pagamento dopo gli upgrade?
Perché Apple non invia al tuo server l'importo del rimborso per l'upgrade. La transazione di upgrade porta isUpgraded impostato su true, ma il campo del prezzo mostra ancora il prezzo pieno del nuovo livello, e nessuna App Store Server Notification include il rimborso. I ricavi calcolati dagli eventi del server contano la nuova vendita e mancano il rimborso sul vecchio piano, quindi risultano gonfiati finché non li riconcili con i report finanziari di App Store Connect.
Google Play rimborsa denaro sulla carta quando un cliente fa un upgrade?
No. Google Play tratta il tempo non usato come un credito, non come un rimborso in contanti. A seconda della modalità di sostituzione, accredita il tempo restante sul nuovo piano e sposta in avanti la prossima data di fatturazione, oppure addebita la differenza di prezzo per il periodo restante. La modalità predefinita è WITH_TIME_PRORATION, che accredita il tempo.
Posso contestare un rimborso per l'upgrade di un abbonamento?
No. Un rimborso per l'upgrade non è una richiesta di rimborso del cliente. Non c'è nessun CONSUMPTION_REQUEST da Apple né una revisione di storno da Google Play, quindi non c'è una finestra di 12 ore o di 24 ore e niente da inviare. Un rimborso per l'upgrade lo riconcili. Contesti solo i rimborsi e gli storni avviati dal cliente.
Un downgrade dà un rimborso al cliente?
No. Sull'App Store un downgrade ha effetto alla prossima data di rinnovo e non rimborsa nulla, poiché il cliente mantiene il livello superiore fino alla fine del periodo pagato. Su Google Play il modo raccomandato di gestire un downgrade è la modalità di sostituzione DEFERRED, che mantiene il piano attuale finché non scade e poi avvia quello inferiore.
Quale modalità di sostituzione di Google Play dovrei usare per un upgrade?
Google raccomanda CHARGE_PRORATED_PRICE per gli upgrade, che addebita la differenza di prezzo per il periodo restante immediatamente e lascia invariata la data di fatturazione. Il valore predefinito WITH_TIME_PRORATION accredita invece il tempo non usato come servizio extra al livello superiore, quindi usalo solo quando intendi regalare quel tempo.

Fonti e approfondimenti

RefundHalt

Il pilota automatico dei rimborsi per App Store e Google Play

Continua a leggere

La prossima richiesta di rimborso è già in arrivo.

Configura RefundHalt nel tempo che impiegheresti a leggere un'altra e-mail dell'assistenza su un rimborso che non sei riuscito a contestare.