REST Resource: purchases.subscriptions

Recurso: SubscriptionPurchase

Un recurso SubscriptionPurchase indica el estado de la compra de una suscripción de un usuario.

Representación JSON
{
  "kind": string,
  "startTimeMillis": string,
  "expiryTimeMillis": string,
  "autoResumeTimeMillis": string,
  "autoRenewing": boolean,
  "priceCurrencyCode": string,
  "priceAmountMicros": string,
  "introductoryPriceInfo": {
    object (IntroductoryPriceInfo)
  },
  "countryCode": string,
  "developerPayload": string,
  "paymentState": integer,
  "cancelReason": integer,
  "userCancellationTimeMillis": string,
  "cancelSurveyResult": {
    object (SubscriptionCancelSurveyResult)
  },
  "orderId": string,
  "linkedPurchaseToken": string,
  "purchaseType": integer,
  "priceChange": {
    object (SubscriptionPriceChange)
  },
  "profileName": string,
  "emailAddress": string,
  "givenName": string,
  "familyName": string,
  "profileId": string,
  "acknowledgementState": integer,
  "externalAccountId": string,
  "promotionType": integer,
  "promotionCode": string,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string
}
Campos
kind

string

Este tipo representa un objeto subscriptionPurchase en el servicio de androidpublisher.

startTimeMillis

string (int64 format)

Hora en la que se otorgó la suscripción, expresada en milisegundos desde la época.

expiryTimeMillis

string (int64 format)

Hora en la que vencerá la suscripción, expresada en milisegundos desde la época

autoResumeTimeMillis

string (int64 format)

Hora en la que se reanudará automáticamente la suscripción, expresada en milisegundos desde la época. Solo se presenta si el usuario solicitó pausar la suscripción.

autoRenewing

boolean

Indica si la suscripción se renovará automáticamente cuando alcance su hora de vencimiento actual.

priceCurrencyCode

string

Es el código de moneda ISO 4217 para el precio de la suscripción. Por ejemplo, si el precio está especificado en libras esterlinas británicas, priceCurrencyCode es "GBP".

priceAmountMicros

string (int64 format)

Precio de la suscripción. En países sin impuestos, el precio no incluye impuestos. En el caso de los países con impuestos incluidos, el precio los incluye. El precio se expresa en microunidades, donde 1,000,000 de microunidades representan una unidad de la moneda. Por ejemplo, si el precio de la suscripción es de EUR 1.99, priceAmountMicros es 1990000.

introductoryPriceInfo

object (IntroductoryPriceInfo)

Es la información sobre el precio de lanzamiento de la suscripción. Solo está presente cuando se compró la suscripción con un precio de lanzamiento.

Este campo no indica que la suscripción se encuentra en el período de precio de lanzamiento.

countryCode

string

Es el código de país o región de facturación ISO 3166-1 alpha-2 del usuario cuando se otorgó la suscripción.

developerPayload

string

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

paymentState

integer

Es el estado de pago de la suscripción. Los valores posibles son 0. Pago pendiente 1. Pago recibido 2. Prueba gratuita 3. Actualización diferida pendiente o cambio a versión inferior

No está presente para las suscripciones canceladas y vencidas.

cancelReason

integer

Indica el motivo por el que se canceló una suscripción o por qué no se renueva automáticamente. Los valores posibles son 0. El usuario canceló la suscripción. 1. El sistema canceló la suscripción, por ejemplo, debido a un problema de facturación 2. La suscripción se reemplazó por una nueva. 3. El desarrollador canceló la suscripción

userCancellationTimeMillis

string (int64 format)

Es el momento en el que el usuario canceló la suscripción, en milisegundos desde la época. Solo está presente si cancelReason es 0.

cancelSurveyResult

object (SubscriptionCancelSurveyResult)

Es la información que proporciona el usuario cuando completa el flujo de cancelación de la suscripción (encuesta sobre el motivo de la cancelación).

orderId

string

Es el ID de pedido del pedido recurrente más reciente asociado con la compra de la suscripción. Si se canceló la suscripción porque se rechazó el pago, este será el ID del pedido rechazado.

linkedPurchaseToken

string

El token de compra de la compra de origen si esta suscripción es uno de los siguientes: 0. Registro nuevo de una suscripción cancelada pero no vencida 1. Actualizar o cambiar a una versión inferior de una suscripción anterior

Por ejemplo, supongamos que un usuario se registra originalmente y recibes el token de compra X. Luego, el usuario cancela y pasa por el flujo de registro nuevo (antes de que caduque la suscripción) y recibes el token de compra Y. Por último, el usuario actualiza su suscripción, y recibes el token de compra Z. Si llamas a esta API con el token de compra Z, este campo se establecerá como Y. Si llamas a esta API con el token de compra Y, este campo se establecerá como X. Si llamas a esta API con el token de compra X, este campo no se establecerá.

purchaseType

integer

Indica el tipo de compra de la suscripción. Este campo solo se establece si la compra no se realizó con el flujo de facturación integrada estándar. Los valores posibles son 0. Prueba (es decir, la compra desde una cuenta de prueba con licencia) 1. Promoción (es decir, compra con un código promocional)

priceChange

object (SubscriptionPriceChange)

La información más reciente disponible sobre el cambio de precio. Esta información solo está presente cuando hay un cambio de precio próximo para la suscripción que aún no se aplicó.

Una vez que la suscripción se renueve con el precio nuevo o que se cancele, no se mostrará ningún cambio de precio.

profileName

string

Es el nombre de perfil del usuario cuando se compró la suscripción. Presente únicamente para las compras realizadas con "Suscríbete con Google".

emailAddress

string

Es la dirección de correo electrónico del usuario cuando se compró la suscripción. Presente únicamente para las compras realizadas con "Suscríbete con Google".

givenName

string

Es el nombre del usuario cuando se compró la suscripción. Presente únicamente para las compras realizadas con "Suscríbete con Google".

familyName

string

Es el nombre de familia del usuario cuando se compró la suscripción. Presente únicamente para las compras realizadas con "Suscríbete con Google".

profileId

string

Es el ID de perfil de Google del usuario cuando se compró la suscripción. Presente únicamente para las compras realizadas con "Suscríbete con Google".

acknowledgementState

integer

Es el estado de confirmación del producto de suscripción. Los valores posibles son 0. Sin embargo, se debe reconocer 1. Acknowledged

externalAccountId

string

Es el identificador de la cuenta de usuario en el servicio de terceros. Solo está presente si la vinculación de la cuenta se realizó como parte del flujo de compra de la suscripción.

promotionType

integer

Es el tipo de promoción que se aplica a esta compra. Este campo solo se establece si se aplica una promoción cuando se compró la suscripción. Los valores posibles son 0. Código único 1. Código personalizado

promotionCode

string

Es el código promocional que se aplicó a esta compra. Este campo solo se establece si se aplica una promoción de código personalizado cuando se compró la suscripción.

obfuscatedExternalAccountId

string

Una versión ofuscada del ID que está asociada de forma exclusiva con la cuenta del usuario en tu app. Presente en las siguientes compras: * Si la vinculación de la cuenta se realizó como parte del flujo de compra de la suscripción. * 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á asociada de forma exclusiva con el perfil del usuario en tu app. Solo está presente si se especifica con https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid cuando se realizó la compra.

IntroductoryPriceInfo

Contiene la información del precio de lanzamiento de una suscripción.

Representación JSON
{
  "introductoryPriceCurrencyCode": string,
  "introductoryPriceAmountMicros": string,
  "introductoryPricePeriod": string,
  "introductoryPriceCycles": integer
}
Campos
introductoryPriceCurrencyCode

string

Es el código de moneda ISO 4217 para el precio de lanzamiento de la suscripción. Por ejemplo, si el precio está especificado en libras esterlinas británicas, priceCurrencyCode es "GBP".

introductoryPriceAmountMicros

string (int64 format)

Es el precio de lanzamiento de la suscripción, sin impuestos. La moneda es la misma que priceCurrencyCode. El precio se expresa en microunidades, donde 1,000,000 de microunidades representan una unidad de la moneda. Por ejemplo, si el precio de la suscripción es de EUR 1.99, priceAmountMicros es 1990000.

introductoryPricePeriod

string

Es el período de precio de lanzamiento especificado en formato ISO 8601. Los valores comunes son, entre otros, "P1W" (una semana), "P1M" (un mes), "P3M" (tres meses), "P6M" (seis meses) y "P1Y" (un año).

introductoryPriceCycles

integer

La cantidad de períodos de facturación en el que se ofrecerá un precio de lanzamiento.

SubscriptionCancelSurveyResult

Es la información que proporciona el usuario cuando completa el flujo de cancelación de la suscripción (encuesta sobre el motivo de la cancelación).

Representación JSON
{
  "cancelSurveyReason": integer,
  "userInputCancelReason": string
}
Campos
cancelSurveyReason

integer

Es el motivo de cancelación que el usuario eligió en la encuesta. Los valores posibles son 0. Otra opción 1. No uso este servicio lo suficiente 2. Problemas técnicos 3. Razones de costo 4. Encontré una app mejor

userInputCancelReason

string

El motivo de cancelación de la entrada personalizada del usuario. Solo se presenta cuando cancelReason es 0.

SubscriptionPriceChange

Contiene la información de cambio de precio de una suscripción que se puede usar para controlar el recorrido del usuario por el cambio de precio en la app. Puede ser la solicitud de confirmación del usuario o la adaptación de la experiencia para lograr una conversión exitosa.

Representación JSON
{
  "newPrice": {
    object (Price)
  },
  "state": integer
}
Campos
newPrice

object (Price)

Es el precio nuevo con el que se renovará la suscripción si el usuario acepta el cambio.

state

integer

Es el estado actual del cambio de precio. Los valores posibles son 0. Pendiente: Es el estado de un cambio de precio pendiente que espera a que el usuario acepte. En este estado, puedes solicitar de manera opcional la confirmación del usuario mediante la API de la app. 1. Aceptado: Indica el estado de un cambio de precio aceptado con el que se renovará la suscripción, a menos que se cancele. El cambio de precio entrará en vigencia en una fecha futura, cuando se renueve la suscripción. Ten en cuenta que es posible que el cambio no se produzca cuando se renueve la suscripción.

Métodos

acknowledge

Acepta la compra de una suscripción.

cancel

Cancela la compra de la suscripción de un usuario.

defer

Aplaza la compra de la suscripción de un usuario hasta una fecha de vencimiento futura específica.

get

Comprueba si la compra de la suscripción de un usuario es válida y muestra su hora de vencimiento.

refund

Reembolsa la compra de la suscripción del usuario, pero la suscripción seguirá siendo válida hasta su fecha de vencimiento y seguirá recurriendo.

revoke

Reembolsa y revoca de inmediato la compra de la suscripción de un usuario.