REST Resource: purchases.productsv2

Recurso: ProductPurchaseV2

Um recurso ProductPurchaseV2 indica o status da compra de um produto no app feita por um usuário.

Representação 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)
}
Campos
productLineItem[]

object (ProductLineItem)

Contém informações no nível do item para um ProductPurchaseV2.

kind

string

Este tipo representa um objeto ProductPurchaseV2 no serviço androidpublisher.

purchaseStateContext

object (PurchaseStateContext)

Informações sobre o estado da compra.

testPurchaseContext

object (TestPurchaseContext)

Informações relacionadas a compras de teste. Isso só será definido para compras de teste.

orderId

string

O ID do pedido associado à compra do produto no app. Não pode ser definido se não houver um pedido associado à compra.

obfuscatedExternalAccountId

string

Uma versão ofuscada do ID que é exclusivamente associado à conta do usuário no seu app. Presente apenas se especificada usando https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid quando a compra foi feita.

obfuscatedExternalProfileId

string

Uma versão ofuscada do ID que é exclusivamente associado ao perfil do usuário no seu app. Presente apenas se especificada usando https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid quando a compra foi feita.

regionCode

string

Código regional de faturamento do usuário no momento em que o produto foi concedido, no formato ISO 3166-1 alpha-2.

purchaseCompletionTime

string (Timestamp format)

O momento em que a compra foi concluída, ou seja, quando o PurchaseState mudou para PURCHASED. Esse campo não vai aparecer até que o pagamento seja concluído. Por exemplo, se o usuário iniciou uma transação pendente (https://developer.android.com/google/play/billing/integrate#pending), esse campo não será preenchido até que o usuário conclua as etapas necessárias para concluir a transação.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

acknowledgementState

enum (AcknowledgementState)

Apenas saída. O estado de confirmação da compra.

PurchaseStateContext

Contexto sobre o estado da compra.

Representação JSON
{
  "purchaseState": enum (PurchaseState)
}
Campos
purchaseState

enum (PurchaseState)

Apenas saída. O estado da compra.

PurchaseState

Estados de compra possíveis.

Tipos enumerados
PURCHASE_STATE_UNSPECIFIED Estado da compra não especificado. Esse valor nunca pode ser definido.
PURCHASED Compra concluída.
CANCELLED Compra cancelada.
PENDING A compra está pendente e ainda não foi concluída. Para mais informações sobre como processar compras pendentes, consulte https://developer.android.com/google/play/billing/integrate#pending.

TestPurchaseContext

Contexto sobre uma compra de teste.

Representação JSON
{
  "fopType": enum (FopType)
}
Campos
fopType

enum (FopType)

O tipo de FOP da compra de teste.

FopType

Possíveis tipos de FOP.

Tipos enumerados
FOP_TYPE_UNSPECIFIED Tipo de FOP não especificado. Esse valor nunca pode ser definido.
TEST A compra foi feita com um cartão de teste.

ProductLineItem

Contém informações no nível do item para um ProductPurchaseV2.

Representação JSON
{
  "productId": string,
  "productOfferDetails": {
    object (ProductOfferDetails)
  }
}
Campos
productId

string

O ID do produto comprado (por exemplo, "monthly001").

productOfferDetails

object (ProductOfferDetails)

Os detalhes da oferta para esse item.

ProductOfferDetails

Informações sobre ofertas relacionadas a um item de linha de compra.

Representação JSON
{
  "offerTags": [
    string
  ],
  "offerId": string,
  "purchaseOptionId": string,
  "rentOfferDetails": {
    object (RentOfferDetails)
  },
  "offerToken": string,
  "quantity": integer,
  "refundableQuantity": integer,
  "consumptionState": enum (ConsumptionState)
}
Campos
offerTags[]

string

As últimas tags associadas à oferta. Inclui tags herdadas da opção de compra.

offerId

string

O ID da oferta. Presente apenas em ofertas.

purchaseOptionId

string

O ID da opção de compra.

rentOfferDetails

object (RentOfferDetails)

Oferece detalhes sobre ofertas de aluguel. Isso só será definido para itens de linha de aluguel.

offerToken

string

O token de oferta por transação usado para fazer este item de linha de compra.

quantity

integer

A quantidade associada à compra do produto no app.

refundableQuantity

integer

A quantidade qualificada para reembolso, ou seja, a quantidade que não foi reembolsada. O valor reflete reembolsos parciais e totais com base em quantidade.

consumptionState

enum (ConsumptionState)

Apenas saída. O estado de consumo da compra.

RentOfferDetails

Esse tipo não tem campos.

Informações sobre ofertas relacionadas a um item de linha de locação.

ConsumptionState

Possíveis estados de consumo.

Tipos enumerados
CONSUMPTION_STATE_UNSPECIFIED Estado de consumo não especificado. Esse valor nunca pode ser definido.
CONSUMPTION_STATE_YET_TO_BE_CONSUMED Ainda vai ser consumido.
CONSUMPTION_STATE_CONSUMED Já consumido.

AcknowledgementState

Estado de confirmação do produto único.

Tipos enumerados
ACKNOWLEDGEMENT_STATE_UNSPECIFIED Estado de confirmação não especificado.
ACKNOWLEDGEMENT_STATE_PENDING A compra ainda não foi confirmada.
ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED A compra é confirmada.

Métodos

getproductpurchasev2

Verifica o status de compra e consumo de um item no app.

Códigos de erro

As operações desse recurso retornam os seguintes códigos de erro HTTP:

Código do erro Motivo Resolução
5xx Erro genérico no servidor do Google Play. Tente fazer a solicitação novamente.

Se o problema persistir, entre em contato com seu gerente de contas do Google Play ou envie uma solicitação de suporte. Verifique o Painel de status do Google Play para conferir se há interrupções conhecidas.

409 Erro de atualização de simultaneidade.

Houve uma tentativa de atualizar um objeto que já estava sendo atualizado. Por exemplo, uma compra está sendo confirmada ao chamar o método acknowledgePurchase() da Biblioteca Play Faturamento e o purchases.products.acknowledge da API Play Developer ao mesmo tempo.

Tente fazer a solicitação novamente.