Tutti gli articoli
Deep dive9 min di lettura

I tuoi dati di consumo informano la decisione di rimborso di Apple, non la controllano

Quando un cliente chiede un rimborso ad Apple, hai 12 ore per inviare i dati di consumo. La documentazione di Apple stessa lo definisce uno tra vari fattori, non un verdetto. Ecco cosa spostano davvero i tuoi dati, perché un DECLINE può comunque finire in un rimborso e quanto vale quella spinta in dollari.

Una mano che posa un piccolo peso di ottone su una bilancia che ne regge già diversi altri, a rappresentare i dati di consumo come un fattore nella decisione di rimborso di Apple

Punti chiave

  • Quando un cliente richiede un rimborso, Apple invia al tuo server una notifica CONSUMPTION_REQUEST e ti concede 12 ore per rispondere con i dati di consumo tramite l'endpoint Send Consumption Information. Se perdi la finestra, Apple decide senza il tuo contributo.
  • Nelle parole di Apple stessa, l'App Store usa vari fattori per decidere un rimborso, e le informazioni di consumo che invii servono a informare quella decisione. Il tuo refundPreference è uno di quei fattori, non il verdetto.
  • Puoi inviare un refundPreference di preferire rifiutare, preferire concedere l'intero o preferire concedere in proporzione. Apple lo pondera. Ecco perché i team vedono un acquisto che hanno contrassegnato come preferire rifiutare venire comunque rimborsato, e funziona come documentato.
  • Apple rifiuta i tuoi dati di consumo a meno che customerConsented non sia true. Se il cliente non ha acconsentito a condividere i dati, l'indicazione di Apple è di non rispondere affatto alla notifica, e sei l'unico responsabile dell'ottenimento di quel consenso.
  • Dalla WWDC24 la CONSUMPTION_REQUEST si attiva anche per gli abbonamenti a rinnovo automatico, non solo per i consumabili, quindi la stessa risposta in 12 ore ora raggiunge molti più dei tuoi rimborsi rispetto a prima.
  • Per gli abbonamenti a rinnovo automatico Apple calcola il consumo da sola e vieta una preferenza in proporzione, quindi il tuo margine di manovra lì è più sottile che su un consumabile che puoi descrivere come interamente consumato.
  • I dollari che hai già speso per servire l'acquisto, il calcolo, le chiamate alle API di terze parti, l'archiviazione, sono persi che Apple conceda il rimborso o no. La tua risposta di consumo cambia il rimborso, mai il costo che hai già pagato per consegnare.

Un cliente tocca rimborso e, in meno di un minuto, il tuo server riceve una CONSUMPTION_REQUEST da Apple. Hai 12 ore per rispondere con i dati di consumo, ed è allettante leggere quella risposta come un veto: invia preferire rifiutare, tieni i soldi. Non è un veto. La documentazione di Apple stessa afferma che l'App Store usa vari fattori per determinare se una richiesta di rimborso viene approvata o negata, e che le informazioni di consumo che fornisci servono a informare le sue decisioni di rimborso. Informare, non decidere. Questo articolo percorre cosa spostano davvero i tuoi dati di consumo, perché un acquisto che hai contrassegnato come preferire rifiutare può comunque essere rimborsato, e quanto vale l'intero esercizio una volta che conti i soldi che hai già speso.

Cosa fa davvero Apple con i tuoi dati di consumo

L'endpoint Send Consumption Information esiste affinché tu possa fornire ad Apple contesto nel momento in cui un rimborso è in discussione. Non ti consegna la decisione. Leggere il flusso nell'ordine giusto è la differenza tra fissare aspettative sensate e aprire una segnalazione di bug contro un comportamento che è documentato.

L'App Store decide, e tu raccomandi

Apple è esplicita sulla divisione. Nel riferimento di Send Consumption Information, Apple scrive che l'App Store usa vari fattori per determinare se una richiesta di rimborso viene approvata o negata, e che usa le informazioni di consumo che fornisci per informare le sue decisioni di rimborso. Sul campo refundPreference stesso, Apple afferma che la tua preferenza di rimborso è uno tra vari fattori che l'App Store usa per informare le sue decisioni di rimborso. Quindi il segnale più forte che puoi inviare, un netto preferire rifiutare, resta un input in un modello che non controlli. La cronologia del cliente, il motivo che ha fornito, il tipo di prodotto e i segnali di frode di Apple stessa si trovano tutti in quello stesso modello accanto alla tua risposta.

CONSUMPTION_REQUEST ora copre gli abbonamenti, non solo i consumabili

Un tempo era una storia di consumabili. Dalla WWDC24 la notifica CONSUMPTION_REQUEST si attiva quando un cliente richiede un rimborso per un acquisto in-app consumabile o un abbonamento a rinnovo automatico. È una grande espansione della superficie. La stessa risposta in 12 ore ora si applica ai rimborsi degli abbonamenti, dove il tuo margine di manovra è diverso perché Apple calcola il consumo dei rinnovi automatici da sola e non accetterà una preferenza in proporzione da te. Leggi il tipo di prodotto su ogni richiesta prima di decidere con quanta forza può spingere la tua risposta.

I cinque input che ti è consentito inviare

Il corpo della richiesta V2 che Apple accetta è piccolo, cinque campi fanno il lavoro, e tre di essi sono obbligatori. Ciascuno è un input che Apple pondera, non un interruttore che forza un esito. Ecco cosa puoi mettere nella risposta e cosa dice ad Apple.

CampoObbligatorioCosa dice ad Apple
customerConsentedSe il cliente ha accettato di condividere questi dati di rimborso. Deve essere true o Apple rifiuta la richiesta.
consumptionStatusNoQuanto è stato usato: non dichiarato, non consumato, parzialmente consumato o interamente consumato.
deliveryStatusNoSe la tua app ha consegnato un acquisto funzionante, o ha incontrato un problema che vuoi mettere agli atti.
sampleContentProvidedNoSe hai offerto un campione gratuito, una prova o una descrizione della funzionalità prima dell'acquisto.
refundPreferenceNoIl tuo esito raccomandato: preferire rifiutare, preferire concedere l'intero o preferire concedere in proporzione.

La finestra di 12 ore, e la barriera del consenso che la maggior parte dei team ignora

Due meccanismi decidono se la tua risposta conta persino. Uno è un orologio. L'altro è un indicatore di consenso che ferma alla porta molte risposte ben intenzionate.

Rispondi entro 12 ore o il momento passa

L'istruzione di Apple è netta: rispondi entro 12 ore dalla ricezione della notifica CONSUMPTION_REQUEST. Questa è tutta la finestra. Una richiesta di rimborso non aspetta il tuo prossimo giorno lavorativo, e una risposta di consumo che arriva in ritardo è una risposta che Apple non ha mai ponderato. Se rispondi a queste a mano, l'orologio delle 12 ore è la parte che cede per prima e in silenzio, nei fine settimana, nei giorni festivi e alle 3 del mattino nel tuo fuso orario. La risposta deve essere automatizzata per essere affidabile, perché alla finestra non importa quando la tua squadra è sveglia.

Il quadrante di un orologio analogico su una scrivania accanto a uno smartphone appoggiato con lo schermo verso il basso, a rappresentare la finestra di 12 ore per rispondere alla CONSUMPTION_REQUEST di Apple

Non puoi inviare dati a meno che il cliente non abbia acconsentito

Ecco la barriera su cui i team inciampano. Apple rifiuta una richiesta Send Consumption Information il cui valore di customerConsented sia qualcosa di diverso da true. Nelle parole di Apple, se il cliente ha fornito il consenso, rispondi chiamando l'API e inviando i dati di consumo; in caso contrario, non rispondere alla notifica CONSUMPTION_REQUEST. Apple mette anche la responsabilità interamente su di te: devi ottenere un consenso valido dal cliente prima di condividere i suoi dati personali, e tu, lo sviluppatore, sei l'unico responsabile di ottenerlo. Quindi la prima domanda su ogni richiesta non è quanto hanno usato, è se questo cliente ha accettato che lo diciamo ad Apple. Nessun consenso, nessuna risposta, e il rimborso viene deciso su tutto tranne la tua versione della storia.

Cosa muove davvero la decisione di rimborso di Apple

Se la risposta è una raccomandazione, la domanda onesta è quanto raccomanda. La risposta è che i tuoi dati contano di più proprio dove un umano esiterebbe, e di meno dove l'esito non è mai stato davvero in dubbio.

Perché puoi inviare preferire rifiutare e vedere comunque un rimborso

Gli sviluppatori riferiscono di inviare preferire rifiutare su un acquisto che il cliente ha interamente consumato e di vedere Apple rimborsarlo comunque. Non è un'API guasta. Apple ti ha detto che pondera vari fattori, e su una data richiesta alcuni di quei fattori possono pesare più di un consumabile interamente consumato: un cliente con una cronologia pulita, un motivo dichiarato che Apple considera forte, un importo piccolo, una richiesta per la prima volta. La tua risposta ha spinto contro il rimborso. Altri input hanno spinto più forte. La lezione non è smettere di rispondere, è smettere di aspettarsi che un consumabile pulito sopravviva sempre. Dove il segnale è genuinamente misto, uno stato parzialmente consumato, un problema di consegna documentato e una preferenza onesta sono gli input che possono far pendere un caso limite a tuo favore.

Quanto vale una raccomandazione in dollari

Un rimborso non è il prezzo della vendita. È il prezzo della vendita più tutto ciò che hai già speso per consegnarla, e la risposta di consumo tocca sempre e solo la prima parte.

Il denaro è già speso quando arriva la richiesta

Quando Apple chiede se rimborsare, il cliente ha già usato la cosa. Su un consumabile ciò significa che il calcolo è girato, le chiamate alle API di terze parti sono state fatturate, le immagini o i token o le generazioni sono state prodotte, e l'archiviazione è stata scritta. Questi sono costi pagati dalla tua parte e non tornano se Apple nega il rimborso, e sono persi due volte se Apple lo concede. La tua risposta di consumo può recuperare il prezzo di vendita su un caso limite. Non può recuperare il costo dei beni che hai già consegnato. Questa è la vera ragione per cui un acquisto interamente consumato è quello costoso da rimborsare, e non ha nulla a che vedere con quanto tempo fa è stato acquistato.

  • Il prezzo di vendita: i tuoi proventi netti dopo la commissione di Apple, annullati se il rimborso viene concesso. Questa è l'unica parte che la tua risposta può influenzare.
  • Il costo di consegna: calcolo, chiamate API, archiviazione e qualsiasi pagamento che hai già effettuato a fronte dell'acquisto. Perso indipendentemente dalla decisione.
  • Il tempo del personale: ogni rimborso gestito a mano sono minuti della giornata di una persona, e la finestra di 12 ore fa cadere quei minuti in orari scomodi.
  • Lo schema che ti sfugge: un cliente che si fa rimborsare ancora e ancora è un costo che vedi solo se tieni traccia del consumo e della cronologia attraverso le richieste, invece di trattare ciascuna come un caso isolato.

Come Google Play gestisce la stessa domanda

Apple non è l'unico store che ti chiede di pronunciarti e poi decide da solo. Google Play esegue un flusso parallelo per gli storni bancari, e la forma è la stessa: tu invii prove, lo store decide. Le differenze sono nell'orologio e in ciò che ti è consentito inviare.

DomandaApp StoreGoogle Play
AttivatoreNotifica CONSUMPTION_REQUESTPendingRefundReviewNotification per uno storno
La tua finestra12 ore24 ore
Come rispondiSend Consumption Informationorders.reviewrefund
La tua raccomandazionerefundPreference: rifiutare, concedere l'intero, concedere in proporzionerefundPreference: APPROVE, DECLINE o NEUTRAL
Chi decideL'App StoreGoogle Play, o la banca in uno storno

La conclusione per entrambi gli store è identica. Il tuo compito è rispondere entro la finestra con prove di consumo accurate e una preferenza onesta. Il compito dello store è decidere. Confondere i due è come un team finisce o per ignorare la finestra perché la risposta è solo una raccomandazione, o per fidarsi della risposta come di un veto e farsi cogliere di sorpresa quando un rimborso arriva comunque. Nessuno dei due è giusto. Rispondi ogni volta, rispondi con accuratezza, e tratta l'esito come una decisione che hai informato, non una che hai preso.

RefundHalt intercetta la CONSUMPTION_REQUEST nel momento in cui Apple la invia, verifica il consenso, assembla lo stato di consumo, lo stato di consegna e una preferenza di rimborso basata su prove, e risponde entro la finestra di 12 ore senza che nessuno del tuo team guardi un orologio. Fa lo stesso per la revisione degli storni di Google Play entro la sua finestra di 24 ore. Non puoi far decidere Apple a modo tuo. Puoi assicurarti che Apple non decida mai senza la tua versione della storia, su ogni rimborso, in tempo.

Domande frequenti

Inviare i dati di consumo ad Apple ferma un rimborso?
Non da solo. La documentazione di Apple afferma che l'App Store usa vari fattori per decidere un rimborso e che i tuoi dati di consumo servono a informare quella decisione. La tua risposta, incluso un refundPreference di preferire rifiutare, è un input che Apple pondera, quindi può muovere un caso limite ma non garantirà un rifiuto, soprattutto su un acquisto che il cliente ha interamente consumato.
Quanto tempo ho per rispondere a una CONSUMPTION_REQUEST?
12 ore. Apple dice di rispondere entro 12 ore dalla ricezione della notifica CONSUMPTION_REQUEST tramite l'endpoint Send Consumption Information. Una risposta che arriva dopo la finestra è una risposta che Apple non ha mai ponderato, ed è per questo che la risposta deve essere automatizzata anziché gestita da una persona che potrebbe essere addormentata.
Perché Apple ha rimborsato un acquisto dopo che ho inviato preferire rifiutare?
Perché preferire rifiutare è una raccomandazione, non un comando. Apple afferma che la tua preferenza di rimborso è uno tra vari fattori che usa per informare la sua decisione. Su una data richiesta la cronologia del cliente, il motivo che ha fornito, l'importo e i segnali di frode di Apple stessa possono pesare più della tua preferenza, quindi un rimborso dopo un preferire rifiutare è il flusso che funziona come documentato.
Ho bisogno del consenso del cliente per inviare i dati di consumo?
Sì. Apple rifiuta una richiesta Send Consumption Information a meno che customerConsented non sia true, e la sua indicazione è che se il cliente non ha acconsentito non dovresti rispondere affatto alla CONSUMPTION_REQUEST. Apple afferma anche che tu, lo sviluppatore, sei l'unico responsabile dell'ottenimento di un consenso valido prima di condividere i dati del cliente.
Il flusso di consumo funziona per gli abbonamenti o solo per i consumabili?
Entrambi, dalla WWDC24. La CONSUMPTION_REQUEST ora si attiva per un acquisto in-app consumabile o un abbonamento a rinnovo automatico. Per gli abbonamenti a rinnovo automatico Apple calcola il consumo da sola e non accetta una preferenza in proporzione, quindi il tuo margine di manovra è più stretto che su un consumabile il cui uso puoi descrivere direttamente.

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.