REST Resource: purchases.products

Recurso: ProductPurchase

Un recurso ProductPurchase indica el estado de la compra que hace un usuario de un producto integrado en la aplicación.

Representación 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
}
Campos
kind

string

Este tipo representa un objeto inappPurchase en el servicio androidpublisher.

purchaseTimeMillis

string (int64 format)

Es la hora (expresada en milisegundos) en que se compró el producto a partir de la época (desde el 1 de enero de 1970).

purchaseState

integer

Es el estado de compra del pedido. Los valores posibles son los siguientes: 0. Comprado 1. Cancelado 2. Pendiente

consumptionState

integer

Es el estado de consumo del producto integrado en la aplicación. Los valores posibles son los siguientes: 0. Aún sin procesar la compra del consumible 1. Consumiste

developerPayload

string

Es la cadena especificada por el desarrollador que contiene información adicional sobre un pedido.

orderId

string

Es el ID de pedido asociado con la compra del producto integrado en la aplicación.

purchaseType

integer

Es el tipo de compra del producto integrado en la aplicación. Este campo solo se configura si esta compra no se realizó a través del flujo de facturación integrada estándar. Los valores posibles son los siguientes: 0. Prueba (es decir, se compró desde una cuenta de prueba de licencia) 1. Promo (es decir, se compró usando un código promocional) No se incluyen las compras con Puntos de Play. 2. Recompensa (es decir, se obtiene por mirar un anuncio de video en lugar de pagar)

acknowledgementState

integer

Es el estado de procesamiento de la compra del producto integrado en la aplicación. Los valores posibles son los siguientes: 0. Compra aún sin procesar 1. Confirmado

purchaseToken

string

Es el token de compra que se genera para identificar esta compra. Podría no estar presente.

productId

string

Es el SKU del producto integrado en la aplicación. Podría no estar presente.

quantity

integer

Es la cantidad asociada con la compra del producto integrado en la aplicación. Si no está presente, la cantidad es 1.

obfuscatedExternalAccountId

string

Es una versión ofuscada del ID que está asociado de forma única a la cuenta del usuario en tu app. Solo está presente si se especificó con https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid cuando se realizó la compra.

obfuscatedExternalProfileId

string

Es una versión ofuscada del ID que está asociado de forma única al perfil del usuario en tu app. Solo está presente si se especificó con https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid cuando se realizó la compra.

regionCode

string

Es el código regional de facturación (según ISO 3166-1 Alpha-2) del usuario en el momento en que se otorgó el producto.

refundableQuantity

integer

Es la cantidad apta para reembolso, es decir, la cantidad que no se reembolsó. El valor refleja reembolsos parciales basados en cantidades y reembolsos totales.

Métodos

acknowledge

Procesa la compra de un elemento integrado en una app.

consume

Procesa la compra de un elemento integrado en una app.

get

Verifica el estado del consumo y la compra de un elemento integrado en la app.

Códigos de error

Las operaciones de este recurso devuelven los siguientes códigos de error HTTP:

Código de error Motivo Solución
5xx Error genérico en el servidor de Google Play. Vuelve a intentar enviar tu solicitud.

Si el problema persiste, comunícate con tu administrador de cuentas de Google Play o envía una solicitud de asistencia. Considera consultar el Panel de estado de Play para ver si hay interrupciones conocidas.

409 Se produjo un error de actualización de simultaneidad.

Se intentó actualizar un objeto que ya se estaba actualizando. Por ejemplo, una compra se confirma llamando al método acknowledgePurchase() de la Biblioteca de Facturación Play y llamando al purchases.products.acknowledge de la API de Play Developer al mismo tiempo.

Vuelve a intentar enviar tu solicitud.