REST Resource: purchases.productsv2

Risorsa: ProductPurchaseV2

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

Rappresentazione JSON
{
  "productLineItem": [
    {
      object (ProductLineItem)
    }
  ],
  "kind": string,
  "purchaseStateContext": {
    object (PurchaseStateContext)
  },
  "testPurchaseContext": {
    object (TestPurchaseContext)
  },
  "orderId": string,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string,
  "regionCode": string,
  "purchaseCompletionTime": string,
  "acknowledgementState": enum (AcknowledgementState)
}
Campi
productLineItem[]

object (ProductLineItem)

Contiene informazioni a livello di articolo per un ProductPurchaseV2.

kind

string

Questo tipo rappresenta un oggetto ProductPurchaseV2 nel servizio androidpublisher.

purchaseStateContext

object (PurchaseStateContext)

Informazioni sullo stato dell'acquisto.

testPurchaseContext

object (TestPurchaseContext)

Informazioni relative agli acquisti di test. Verrà impostato solo per gli acquisti di test.

orderId

string

L'ID ordine associato all'acquisto del prodotto in-app. Potrebbe non essere impostato se non è presente alcun ordine associato all'acquisto.

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.

purchaseCompletionTime

string (Timestamp format)

L'ora in cui l'acquisto è andato a buon fine, ovvero quando PurchaseState è passato a PURCHASED. Questo campo non sarà presente finché il pagamento non sarà completato. Ad esempio, se l'utente ha avviato una transazione in sospeso (https://developer.android.com/google/play/billing/integrate#pending), questo campo non verrà compilato finché l'utente non avrà completato correttamente i passaggi necessari per completare la transazione.

Utilizza RFC 3339, in cui l'output generato è sempre normalizzato in base al fuso orario UTC e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

acknowledgementState

enum (AcknowledgementState)

Solo output. Lo stato di riconoscimento dell'acquisto.

PurchaseStateContext

Contesto sullo stato dell'acquisto.

Rappresentazione JSON
{
  "purchaseState": enum (PurchaseState)
}
Campi
purchaseState

enum (PurchaseState)

Solo output. Lo stato dell'acquisto.

PurchaseState

Stati di acquisto possibili.

Enum
PURCHASE_STATE_UNSPECIFIED Stato dell'acquisto non specificato. Questo valore non deve mai essere impostato.
PURCHASED Acquisto completato.
CANCELLED Aquisto annullato.
PENDING L'acquisto è in stato in attesa e non è ancora stato completato. Per ulteriori informazioni sulla gestione degli acquisti in attesa, visita la pagina https://developer.android.com/google/play/billing/integrate#pending.

TestPurchaseContext

Contesto di un acquisto di prova.

Rappresentazione JSON
{
  "fopType": enum (FopType)
}
Campi
fopType

enum (FopType)

Il tipo di fop dell'acquisto di test.

FopType

Possibili tipi di FOP.

Enum
FOP_TYPE_UNSPECIFIED Tipo di FOP non specificato. Questo valore non deve mai essere impostato.
TEST L'acquisto è stato effettuato utilizzando una carta di prova.

ProductLineItem

Contiene informazioni a livello di articolo per un ProductPurchaseV2.

Rappresentazione JSON
{
  "productId": string,
  "productOfferDetails": {
    object (ProductOfferDetails)
  }
}
Campi
productId

string

L'ID prodotto acquistato (ad esempio "monthly001").

productOfferDetails

object (ProductOfferDetails)

I dettagli dell'offerta per questo articolo.

ProductOfferDetails

Informazioni sui dettagli dell'offerta relative a una voce dell'acquisto.

Rappresentazione JSON
{
  "offerTags": [
    string
  ],
  "offerId": string,
  "purchaseOptionId": string,
  "rentOfferDetails": {
    object (RentOfferDetails)
  },
  "offerToken": string,
  "quantity": integer,
  "refundableQuantity": integer,
  "consumptionState": enum (ConsumptionState)
}
Campi
offerTags[]

string

I tag delle offerte più recenti associati all'offerta. Include i tag ereditati dall'opzione di acquisto.

offerId

string

L'ID offerta. Presente solo per le offerte.

purchaseOptionId

string

L'ID opzione di acquisto.

rentOfferDetails

object (RentOfferDetails)

Offri dettagli sulle offerte di affitto. Questo valore verrà impostato solo per gli elementi pubblicitari di noleggio.

offerToken

string

Il token dell'offerta per transazione utilizzato per creare questa voce dell'acquisto.

quantity

integer

La quantità associata all'acquisto del prodotto in-app.

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.

consumptionState

enum (ConsumptionState)

Solo output. Lo stato di consumo dell'acquisto.

RentOfferDetails

Questo tipo non contiene campi.

Informazioni sui dettagli dell'offerta relative a un elemento pubblicitario di noleggio.

ConsumptionState

Possibili stati di consumo.

Enum
CONSUMPTION_STATE_UNSPECIFIED Stato del consumo non specificato. Questo valore non deve mai essere impostato.
CONSUMPTION_STATE_YET_TO_BE_CONSUMED Ancora da consumare.
CONSUMPTION_STATE_CONSUMED Già consumato.

AcknowledgementState

Stato di conferma del prodotto a pagamento singolo.

Enum
ACKNOWLEDGEMENT_STATE_UNSPECIFIED Stato di riconoscimento non specificato.
ACKNOWLEDGEMENT_STATE_PENDING L'acquisto non è ancora stato riconosciuto.
ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED L'acquisto è stato riconosciuto.

Metodi

getproductpurchasev2

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.