Tutti gli articoli
Approfondimento8 min di lettura

La revisione dei chargeback di Google Play ti dà 24 ore per reagire, ecco cosa inviare

Quando una banca annulla un addebito di Google Play, Google invia al tuo server una PendingRefundReviewNotification e fa partire un conto alla rovescia di 24 ore. Rispondi tramite l'API ReviewRefund con una preferenza di rimborso e prove di consumo reali, oppure la controversia viene decisa senza di te. Ecco l'intero flusso, campo per campo.

Uno smartphone che mostra una schermata di contestazione del pagamento accanto a una carta bancaria e a una piccola clessidra su una scrivania scura, a illustrare il conto alla rovescia di 24 ore della revisione dei chargeback di Google Play

Punti chiave

  • Una revisione dei chargeback di Google Play inizia quando la banca di un cliente annulla un addebito e Google Play invia al tuo server una PendingRefundReviewNotification. Hai 24 ore da quella notifica per rispondere con l'API ReviewRefund.
  • La revisione dei chargeback è l'unico flusso di rimborso Android che chiede prove allo sviluppatore. Il rimborso self-service di 48 ore, i rimborsi dell'assistenza e gli acquisti annullati vengono tutti decisi senza di te.
  • Rispondi chiamando orders.reviewrefund con un refundPreference di APPROVE, DECLINE o NEUTRAL, più le prove: un valore consumptionPercentageMilliunits e un elenco opzionale di eventi di utilizzo del consumo.
  • Google Play registra solo la tua prima chiamata a ReviewRefund per una data notifica. Ogni chiamata successiva viene ignorata e restituisce comunque OK, quindi la tua prima risposta deve essere completa e corretta.
  • La notifica porta un pendingRefundToken e un orderId, e l'unica ragione di rimborso che una revisione in sospeso ammette è CHARGEBACK, che arriva come code 7.
  • consumptionPercentageMilliunits è misurato in millesimi, quindi 100000 significa che il cliente ha usato il 100 percent di ciò che ha acquistato. È così che dici a Google Play che il prodotto è stato consegnato per intero.
  • Dal 3 agosto 2026, gli sviluppatori assorbono il prezzo di acquisto meno la commissione di servizio di Play più la commissione di chargeback della banca su ogni controversia persa, quindi una revisione dei chargeback senza risposta è un addebito diretto sui tuoi ricavi.

Quando la banca di un cliente annulla un addebito di Google Play, Google Play non si limita a rimborsare il denaro e andare avanti. Invia al tuo server una PendingRefundReviewNotification e fa partire un conto alla rovescia di 24 ore. Rispondi a quella notifica tramite l'API ReviewRefund con una preferenza di rimborso e prove di ciò che il cliente ha davvero usato, e Google Play integra il tuo contributo nel modo in cui contesta il chargeback. Resta in silenzio, e la controversia viene risolta senza una parola dall'unica parte che sa come il prodotto è stato consumato.

La revisione dei chargeback di Google Play è l'unico flusso di rimborso Android che ti chiede prove, la controparte diretta del CONSUMPTION_REQUEST di Apple. Ora conta più di prima. A partire dal 3 agosto 2026, Google Play sposta il costo dei chargeback sugli sviluppatori, quindi una controversia a cui non rispondi esce dal tuo conto, non da quello di Google. Ecco esattamente cosa porta la notifica, cosa rispedisci indietro, i campi che compongono le tue prove e dove il silenzio si trasforma in denaro.

Cos'è davvero una revisione dei chargeback di Google Play

Un chargeback non è una richiesta di rimborso. Il cliente si rivolge alla propria banca o al circuito della carta e contesta l'addebito, e la banca ritira i fondi. Google Play gestisce la maggior parte di questi casi da solo. Per una parte, apre una revisione e chiede prima a te, perché tu possiedi informazioni che Google non ha: se l'ordine è stato consegnato e quanto ne ha consumato il cliente. Quella revisione è il flusso dietro l'API ReviewRefund.

Questo è l'unico punto del sistema di rimborsi Android in cui le tue prove cambiano l'esito. Ogni altro percorso di rimborso di Google Play procede senza di te. Un cliente può ottenere un rimborso self-service entro 48 ore dall'acquisto, l'assistenza può concederne uno, e un acquisto non confermato viene rimborsato automaticamente, tutto deciso da Google. La revisione dei chargeback è l'eccezione, e vale la pena trattarla come l'unica conversazione di rimborso a cui puoi davvero partecipare.

È la versione Android della finestra di prove di Apple

Due store, due flussi che chiedono prove allo sviluppatore, e questa è l'intera lista. Apple invia un CONSUMPTION_REQUEST e ti dà 12 ore per rispondere con Send Consumption Information. Google Play invia una PendingRefundReviewNotification e ti dà 24 ore per rispondere con orders.reviewrefund. La meccanica differisce, ma la lezione è identica: quando lo store chiede cosa ha usato il cliente, una risposta precisa è la differenza tra tenere la vendita e restituirla.

Una differenza conta nella pratica. Il payload di consumo di Apple è composto da cinque campi numerici e nient'altro. Le prove di Google Play sono più ricche. Puoi inviare una percentuale di consumo più un elenco di eventi di utilizzo individuali, ciascuno con un timestamp, un identificatore di account e persino un indirizzo IP e una posizione approssimativa. Google Play ti dà più spazio per descrivere la consegna, il che significa più spazio per essere convincente.

Il conto alla rovescia di 24 ore e come la notifica ti raggiunge

La revisione arriva come Real Time Developer Notification sul tuo topic di Cloud Pub/Sub, lo stesso canale che consegna i tuoi eventi di abbonamento e acquisto. Il messaggio è un payload codificato in base64 con un oggetto pendingRefundReviewNotification al suo interno. Il conto alla rovescia parte quando quella notifica viene pubblicata, non quando la leggi, quindi un consumer che interroga una volta al giorno è un consumer che perde controversie.

PendingRefundReviewNotification, campo per campo

La notifica è piccola. Ti dice quale ordine è in revisione, ti consegna il token che devi ricitare e nomina la ragione. Ecco ogni campo che porta.

CampoTipoCosa significa
versionstringVersione della notifica, parte da "1.0"
pendingRefundTokenstringIl token che identifica questa revisione. Lo rispedisci nella chiamata a ReviewRefund
orderIdstringL'ordine in revisione, per esempio GPA.1234-5678-9012-34567
refundReasonintPerché è stato richiesto il rimborso. Una revisione in sospeso porta solo CHARGEBACK, code 7
obfuscatedAccountIdstringL'id account che hai impostato al momento dell'acquisto, se ne hai impostato uno
obfuscatedProfileIdstringL'id profilo che hai impostato al momento dell'acquisto, se ne hai impostato uno

Solo un chargeback apre una revisione in sospeso

Il refundReason di una revisione in sospeso è sempre CHARGEBACK, consegnato come l'intero 7. Esistono altre ragioni di rimborso nel mondo di Google Play, ma non ti raggiungono tramite questo flusso, perché non hai voce in capitolo. Se vedi una PendingRefundReviewNotification, una banca ha annullato un addebito e Google Play sta decidendo se contestarlo. Questo è l'unico trigger.

Cosa rispedisci indietro tramite l'API ReviewRefund

Rispondi con un singolo POST verso orders.reviewrefund. Il percorso completo è POST https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/orders/{orderId}:reviewrefund, autorizzato con lo scope https://www.googleapis.com/auth/androidpublisher, lo stesso scope OAuth che la tua integrazione con la Play Developer API usa già. Un successo restituisce un corpo vuoto con HTTP 200.

Il corpo è dove vive il tuo caso. Rimandi indietro il pendingRefundToken della notifica, dichiari una preferenza di rimborso e alleghi le prove di consumo.

La tua preferenza di rimborso è una raccomandazione, non un verdetto

Il campo refundPreference accetta uno di tre valori, ed è un consiglio per Google Play, non una decisione finale. Google resta padrone dell'esito. Ma è un consiglio sostenuto da dati che Google non può vedere da solo, quindi ha peso.

refundPreferenceSignificato
APPROVEPreferisci che Google Play conceda il rimborso completo
DECLINEPreferisci che Google Play rifiuti il rimborso
NEUTRALNon hai preferenze e ti rimetti a Google Play
REFUND_PREFERENCE_UNSPECIFIEDValore sentinella predefinito, non usato in una risposta reale

I campi di prova che sostengono un DECLINE

Un DECLINE da solo è un'affermazione senza prova. I campi di consumo sono la prova. consumptionPercentageMilliunits è un intero in millesimi, quindi 100000 dice che il cliente ha consumato il 100 percent di ciò che ha acquistato e 50000 dice la metà. consumptionUsageEvents è un array opzionale in cui ogni evento può portare un obfuscatedAccountId, un obfuscatedProfileId, un consumptionTime, un ipAddress, un consumptionItemDescription e una location approssimativa. sampleContentProvided è un booleano per il caso in cui hai dato al cliente un campione gratuito del contenuto a pagamento. Insieme dicono, nello schema stesso di Google Play, che il prodotto è stato consegnato e usato.

Un cronometro accanto a una pila di ricevute di transazione e un laptop che mostra una dashboard di dati su una scrivania scura, a illustrare la raccolta di prove di consumo entro la finestra di revisione dei chargeback di Google Play

La tua prima chiamata è la tua unica chiamata

Google Play registra la prima chiamata a ReviewRefund che fai contro una notifica e ignora ogni chiamata successiva, pur restituendo uno stato OK. Non c'è bozza né revisione. Se la tua prima risposta è un NEUTRAL frettoloso senza prove perché la tua pipeline non era pronta, quella è la risposta agli atti, e la chiamata successiva con lo storico di consumo completo viene scartata in silenzio. Costruisci la risposta completa prima di inviare qualsiasi cosa.

Quanto ti costa la revisione in denaro

Per anni un chargeback perso su Google Play costava allo sviluppatore la vendita e poco altro, perché Google Play assorbiva le commissioni a valle. Questo finisce il 3 agosto 2026. Per gli ordini effettuati dopo quella data, Google Play condivide il costo del chargeback con gli sviluppatori, e la quota dello sviluppatore è il prezzo di acquisto meno la commissione di servizio di Play, più la relativa commissione di chargeback addebitata dall'istituto finanziario. Google Play continua a coprire la parte della commissione di servizio. La commissione della banca è un peso nuovo dal tuo lato del libro mastro.

Il rimborso non è mai il numero reale

La controversia restituisce il pagamento del cliente, ma il pagamento non è mai stato il tuo unico costo. Un video generato, un lotto di chiamate all'API di un modello, un pagamento a un creator, lo storage che hai provvisto, tutto quel denaro è uscito dal tuo conto nel momento in cui l'ordine è stato consegnato, e niente di tutto ciò torna con il chargeback. Ora aggiungi sopra la commissione di chargeback della banca. Stai pagando la fattura del fornitore, rimborsando la vendita e coprendo la commissione della controversia, tre costi per un ordine che avevi le prove per difendere.

La scala che Google sta combattendo

Google Play afferma di aver bloccato US$3.4B di frodi e abusi nel 2025 e sta aggiungendo rilevamento delle frodi per tutto il 2026. Il cambiamento nella condivisione dei costi fa parte della stessa spinta: dare agli sviluppatori una ragione per alimentare il sistema con prove, e il sistema contesta più controversie illegittime. L'API ReviewRefund è il modo in cui le tue prove entrano. Una risposta vuota è un voto per lasciare che un chargeback da frode amichevole regga a tue spese.

Come essere pronti prima che arrivi la notifica

La finestra di 24 ore non è il problema. Il problema è che le prove di cui hai bisogno devono esistere prima della controversia, catturate al momento dell'acquisto e del consumo, non ricostruite dopo che un token è comparso. Un team che inizia a raccogliere dati quando arriva la notifica ha già perso.

Allega l'identità al momento dell'acquisto

Imposta un obfuscatedAccountId con setObfuscatedAccountId su ogni acquisto, così che l'id account della notifica punti direttamente a un utente nel tuo sistema. Tienilo come un hash, di 64 caratteri o meno, mai email in chiaro o altri dati personali, perché gli identificatori in chiaro fanno bloccare gli acquisti. Senza quel collegamento non puoi connettere il pendingRefundToken a uno storico di utilizzo reale, e il tuo DECLINE non ha nulla dietro.

Registra il consumo mentre avviene

Registra cosa ha consegnato un ordine a pagamento, quando e a chi, in una forma che puoi trasformare in consumptionPercentageMilliunits e consumptionUsageEvents su richiesta.

  • Metti un timestamp su ogni unità di consumo, così che consumptionTime su ciascun evento sia reale, non stimato.
  • Traccia la consegna rispetto all'acquisto, così da poter dichiarare una percentuale di consumo con sicurezza invece di indovinare.
  • Tieni gli identificatori di account e profilo accanto all'utilizzo, così che un evento si componga in una sola query quando arriva il token.
  • Cattura l'IP della richiesta e la posizione approssimativa se le hai, dato che Google Play accetta entrambi come campi dell'evento.

Rispondi entro la finestra, automaticamente

Una finestra di 24 ore è comoda per una macchina e brutale per un umano che deve essere sveglio e attento. La risposta dovrebbe essere automatica: notifica in ingresso, account cercato, consumo assemblato, una chiamata ReviewRefund in uscita, tutto senza una persona nel ciclo. Questa è la parte che RefundHalt esegue per te. Ascoltiamo la PendingRefundReviewNotification, abbiniamo l'ordine all'utilizzo che già tracciamo per quell'account, e rispondiamo a orders.reviewrefund entro la finestra con una preferenza di rimborso e prove di consumo reali. Il token è il filo, e le prove sono il caso. Tieni entrambi pronti e l'unica conversazione di rimborso a cui puoi partecipare è una che puoi vincere.

Domande frequenti

Cos'è una revisione dei chargeback di Google Play?
Una revisione dei chargeback di Google Play è il flusso che Google Play usa per chiedere prove a uno sviluppatore prima di decidere su un addebito contestato. Quando la banca di un cliente annulla un addebito, Google Play può inviare al tuo server una PendingRefundReviewNotification e darti 24 ore per rispondere con l'API ReviewRefund, fornendo una preferenza di rimborso e prove di quanto il cliente ha consumato. È l'unico percorso di rimborso Android in cui il tuo contributo influisce sull'esito.
Quanto tempo ho per rispondere a una notifica di chargeback di Google Play?
24 ore. Google Play invia una PendingRefundReviewNotification come Real Time Developer Notification, e devi chiamare l'API ReviewRefund entro 24 ore da quella notifica. Il conto alla rovescia parte quando la notifica viene pubblicata sul tuo topic di Cloud Pub/Sub, quindi il tuo consumer deve essere in ascolto in tempo reale invece di interrogare secondo una pianificazione.
Cosa mi permette di inviare l'API orders.reviewrefund?
Invii il pendingRefundToken della notifica, un refundPreference di APPROVE, DECLINE o NEUTRAL, e prove di consumo. I campi di prova sono consumptionPercentageMilliunits, un intero in millesimi dove 100000 significa 100 percent consumato, un array opzionale consumptionUsageEvents con timestamp per evento, id account, indirizzo IP, descrizione e posizione, e un booleano sampleContentProvided. Una chiamata riuscita restituisce un corpo vuoto con HTTP 200.
Posso aggiornare la mia risposta ReviewRefund dopo averla inviata?
No. Google Play registra la tua prima chiamata a ReviewRefund per una data notifica e ignora ogni chiamata successiva, pur restituendo uno stato OK. Non c'è bozza né revisione, quindi la tua prima risposta deve essere completa. Raccogli la preferenza di rimborso e tutte le prove di consumo prima di fare l'unica chiamata.
Quanto costa un chargeback perso su Google Play dopo il 3 agosto 2026?
Per gli ordini effettuati dopo il 3 agosto 2026, lo sviluppatore assorbe il prezzo di acquisto meno la commissione di servizio di Play, più la commissione di chargeback addebitata dall'istituto finanziario. Google Play continua a coprire la parte della commissione di servizio. Questo si aggiunge al calcolo, alle chiamate all'API, allo storage e ai pagamenti che hai già speso per consegnare l'ordine, nulla dei quali viene restituito dal rimborso.
Quali ragioni di rimborso attivano una notifica di revisione in sospeso?
Solo CHARGEBACK, che arriva nella notifica come refundReason code 7. Altri rimborsi di Google Play, come la finestra self-service di 48 ore, i rimborsi dell'assistenza e gli acquisti annullati, vengono decisi senza lo sviluppatore e non aprono una revisione in sospeso. Se ricevi una PendingRefundReviewNotification, una banca ha annullato un addebito e Google Play sta decidendo se contestarlo.

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.