Sto lavorando a un'applicazione che utilizza la fatturazione in-app di Google Play V3 per vendere un articolo valido per un determinato periodo di tempo. Dopo che un utente effettua un acquisto, invio i dati di acquisto al nostro server e lo consumo immediatamente, in caso di esito positivo. Il server concede quindi l'accesso al servizio extra per questo particolare utente fino alla fine del periodo. Nota: non sto utilizzando gli abbonamenti in-app.Consumare acquisti annullati su fatturazione in-app di Google Play
Sto testando gli acquisti con utenti di test in modalità sandbox in cui il pagamento non viene effettuato. Molti di loro hanno successo e questo flusso funziona bene. Tuttavia, a volte, i miei acquisti vengono annullati immediatamente da Google. Nella storia l'ordine nel mio account Google Checkout, vedo la linea: ". Per la tua sicurezza, Google ha annullato questo ordine La transazione era considerato fraudolento"
.
Anche se questo accade, vedo che ricevo un "purchaseState": 0
nei dati di acquisto, indicando un successo. Inoltre, il tentativo di consumare questo prodotto si traduce anche in un successo (chiamando IInAppBillingService.consumePurchase(version, package, token)
restituisce 0). Interrogare il mio inventario in un secondo momento indica che non ho acquisti (e quindi nessun rimborso/annullamento) e sono in grado di acquistare nuovamente lo stesso oggetto. Questo è lo stesso comportamento dello stato normale, non codificato.
- Google annulla spesso gli ordini allo stesso modo, al di fuori della sandbox di prova?
- Gli articoli che sono stati correttamente acquistati e consumati possono ancora essere annullati (ad esempio, il rimborso del denaro) per ragioni al di fuori del controllo dello sviluppatore?
- È possibile conoscere le cancellazioni per prodotti già consumati?
Se si tiene traccia degli articoli acquistati sul server, l'ID ordine dell'acquisto è anche l'ID della transazione di pagamento. Spetta a te implementare un qualche tipo di verifica anche se l'articolo è già stato consumato. – tomrozb