REST Resource: purchases.products

Risorsa: ProductPurchase

Una risorsa ProductPurchase indica lo stato dell'acquisto di un prodotto in-app da parte di un utente.

Rappresentazione JSON
{
  "kind": string,
  "purchaseTimeMillis": string,
  "purchaseState": integer,
  "consumptionState": integer,
  "developerPayload": string,
  "orderId": string,
  "purchaseType": integer,
  "acknowledgementState": integer,
  "purchaseToken": string,
  "productId": string,
  "quantity": integer,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string,
  "regionCode": string,
  "refundableQuantity": integer
}
Campi
kind

string

Questo tipo rappresenta un oggetto inappPurchase nel servizio androidpublisher.

purchaseTimeMillis

string (int64 format)

L'ora in cui è stato acquistato il prodotto, in millisecondi dall'epoca (1° gennaio 1970).

purchaseState

integer

Lo stato di acquisto dell'ordine. I valori possibili sono: 0. Acquistato 1. Annullato 2. In attesa

consumptionState

integer

Lo stato di consumo del prodotto in-app. I valori possibili sono: 0. Ancora da consumare 1. Hai consumato

developerPayload

string

Una stringa specificata dallo sviluppatore che contiene informazioni supplementari su un ordine.

orderId

string

L'ID ordine associato all'acquisto del prodotto in-app.

purchaseType

integer

Il tipo di acquisto del prodotto in-app. Questo campo viene impostato solo se l'acquisto non è stato effettuato utilizzando il flusso di fatturazione in-app standard. I valori possibili sono: 0. Test (ovvero acquistato da un account di test delle licenze) 1. Promozionale (ovvero acquistato utilizzando un codice promozionale). Non include gli acquisti di punti Play. 2. Con premio (ad es. dalla visualizzazione di un annuncio video anziché dal pagamento)

acknowledgementState

integer

Lo stato di conferma del prodotto in-app. I valori possibili sono: 0. Ancora da confermare 1. Confermato

purchaseToken

string

Il token di acquisto generato per identificare questo acquisto. Potrebbe non essere presente.

productId

string

Lo SKU del prodotto in-app. Potrebbe non essere presente.

quantity

integer

La quantità associata all'acquisto del prodotto in-app. Se non è presente, la quantità è 1.

obfuscatedExternalAccountId

string

Una versione offuscata dell'ID associato in modo univoco all'account dell'utente nella tua app. Presente solo se specificato utilizzando https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid al momento dell'acquisto.

obfuscatedExternalProfileId

string

Una versione offuscata dell'ID associato in modo univoco al profilo dell'utente nella tua app. Presente solo se specificato utilizzando https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid al momento dell'acquisto.

regionCode

string

Codice regione di fatturazione ISO 3166-1 alpha-2 dell'utente al momento della concessione del prodotto.

refundableQuantity

integer

La quantità idonea per il rimborso, ovvero la quantità per cui non è stato effettuato alcun rimborso. Il valore riflette i rimborsi parziali basati sulla quantità e i rimborsi completi.

Metodi

acknowledge

Conferma l'acquisto di un articolo in-app.

consume

Consuma un acquisto per un articolo in-app.

get

Controlla lo stato di acquisto e consumo di un elemento in-app.

Codici di errore

Le operazioni di questa risorsa restituiscono i seguenti codici di errore HTTP:

Codice di errore Motivo Risoluzione
5xx Errore generico nel server Google Play. Riprova a inviare la richiesta.

Se il problema persiste, contatta il tuo Account Manager Google Play o invia una richiesta di assistenza. Ti consigliamo di controllare la dashboard dello stato di Play per eventuali interruzioni note.

409 Errore di aggiornamento della concorrenza.

È stato effettuato un tentativo di aggiornamento di un oggetto in fase di aggiornamento. Ad esempio, un acquisto viene confermato chiamando il metodo acknowledgePurchase() della libreria Fatturazione Play e chiamando contemporaneamente il metodo purchases.products.acknowledge dell'API Play Developer.

Riprova a inviare la richiesta.