Domanda

Sto implementando la fatturazione in-app in un gioco Android e vogliamo utilizzare un server per archiviare le informazioni di acquisto.

Secondo quello che ho capito finora, Android Market restituirà un callback all'app sotto forma di ricevitore di trasmissione sullo stato di acquisto. Ma dal momento che stiamo persistendo le informazioni sulla transazione sul server, la mia app deve effettuare una richiesta di post HTTP e aggiornare il mio server. C'è una possibilità molto alta che questa richiesta di post HTTP possa essere imitata manualmente da un hacker. Come posso convalidare le informazioni sulla ricevuta di mercato Android dal mio codice server?

C'è qualche callback di Google Checkout sul mio server disponibile? O esiste un modo per convalidare la risposta IAB fornita dal client HTTP è autentico ed è un acquisto fatto solo nella mia app!

Sul processo IAP di Apple iOS, Hanno un'API Web convalidata @ https://sandbox.itunes.apple.com/verifyreceipt per il quale possiamo passare

req.method = URLRequestMethod.POST;
req.data = "{\"receipt-data\" : \""+ t.receipt +"\"}";

E dice che se la ricevuta è corretta o no. Abbiamo qualcosa del genere per Android?

È stato utile?

Soluzione

Aggiornare: Puoi usare il getPurchases() Metodo per recuperare gli acquisti "non consumati", come spiegato nei documenti degli sviluppatori:
http://developer.android.com/google/play/Billing/Billing_reference.html#getpurchasases

Risposta originale (ora obsoleto)

L'API di Google Checkout è deprecata. Ora dovresti utilizzare l'API di stato di acquisto.

Se si prevede di utilizzare l'API di stato di acquisto, il link sopra menziona queste limitazioni:

  • È possibile utilizzare l'API per verificare lo stato solo dei singoli elementi: le richieste di massa per lo stato dell'ordine non sono supportate in questo momento.
  • È possibile interrogare per i dettagli degli ordini effettuati al 12 giugno 2013 o dopo, ma non per gli ordini effettuati in precedenza.
  • È possibile interrogare gli acquisti di qualsiasi tipo di articolo effettuato con l'API di fatturazione V3 in-app o gli acquisti di articoli gestiti effettuati con fatturazione in-app V1 e V2. Non è possibile utilizzare l'API di stato di acquisto per fare query sugli acquisti di articoli non gestiti realizzati con fatturazione in-app V1 o V2.

Altri suggerimenti

EDIT: questa risposta è obsoleta, vedi la risposta di Dan J.

Non c'è callback, ma Google Checkout ha un'API. Le tue risposte sono qui.

Questo è un vecchio post, ma spero di aiutare gli altri.

C'è un modo per convalidare gli acquisti dal lato server, è necessario utilizzare questa API REST.

https://developers.google.com/android-publisher/api-ref/purchass/products/get

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top