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 androidpublisher.

startTimeMillis

string (int64 format)

Hora en la que se otorgó la suscripción, en milisegundos, a partir de la época.

expiryTimeMillis

string (int64 format)

Hora en la que la suscripción vencerá, en milisegundos, a partir del ciclo de entrenamiento.

autoResumeTimeMillis

string (int64 format)

Hora en la que se reanudará automáticamente la suscripción, en milisegundos, a partir del ciclo de entrenamiento. Solo está presente si el usuario solicitó pausar la suscripción.

autoRenewing

boolean

Indica si la suscripción se renovará automáticamente cuando alcance la 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 se especifica en libras esterlinas británicas, priceCurrencyCode es "GBP".

priceAmountMicros

string (int64 format)

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

introductoryPriceInfo

object (IntroductoryPriceInfo)

Información del precio de lanzamiento de la suscripción. Esto solo está presente cuando la suscripción se compró a un precio de lanzamiento.

Este campo no indica que la suscripción se encuentra actualmente 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 alfa-2 del usuario en el momento en que se otorgó la suscripción.

developerPayload

string

Es una cadena especificada por el desarrollador que contiene información complementaria 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 o cambio a una versión inferior postergada pendiente

No está presente para las suscripciones canceladas y vencidas.

cancelReason

integer

El motivo por el que se canceló una suscripción o 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. Se reemplazó la suscripción por una nueva. 3. El desarrollador canceló la suscripción

userCancellationTimeMillis

string (int64 format)

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

cancelSurveyResult

object (SubscriptionCancelSurveyResult)

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 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 de pedido del pago rechazado.

linkedPurchaseToken

string

El token de compra de la compra de origen si esta suscripción es una de las siguientes opciones: 0. Volver a registrar una suscripción cancelada pero no caducada 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 el proceso de registro nuevo, pasa por el flujo de registro nuevo (antes de que venza la suscripción) y recibes el token de compra Y. Por último, el usuario actualiza su suscripción y tú recibes el token de compra Z. Si llamas a esta API con el token de compra Z, este campo se establecerá en Y. Si llamas a esta API con el token de compra Y, este campo se establecerá en X. Si llamas a esta API con el token de compra X, este campo no se establecerá.

purchaseType

integer

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

priceChange

object (SubscriptionPriceChange)

La información disponible más reciente sobre el cambio de precio. Esta opción solo está presente cuando hay un cambio de precio futuro para la suscripción que aún se debe aplicar.

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

profileName

string

Es el nombre del perfil del usuario cuando se compró la suscripción. Solo está presente 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. Solo está presente para las compras realizadas con "Suscríbete con Google".

givenName

string

Es el nombre del usuario cuando se compró la suscripción. Solo está presente para las compras realizadas con "Suscríbete con Google".

familyName

string

Es el nombre de familia del usuario cuando se compró la suscripción. Solo está presente 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. Solo está presente 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. Aún no se reconoce 1. Confirmado

externalAccountId

string

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

promotionType

integer

Es el tipo de promoción aplicada a esta compra. Este campo solo se configura 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 aplicado a esta compra. Este campo solo se establece si se aplica una promoción de código personalizado cuando se compra la suscripción.

obfuscatedExternalAccountId

string

Es 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 se vinculó la cuenta 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á asociado 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 se especifica en libras esterlinas británicas, priceCurrencyCode es "GBP".

introductoryPriceAmountMicros

string (int64 format)

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 moneda. Por ejemplo, si el precio de la suscripción es de EUR 1.99, priceAmountMicros es 1990000.

introductoryPricePeriod

string

Es el período del 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

Es la cantidad del período de facturación en el que se ofrecerá un precio de lanzamiento.

SubscriptionCancelSurveyResult

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 la cancelación que el usuario eligió en la encuesta. Los valores posibles son 0. Otro 1. No uso este servicio lo suficiente. 2. Problemas técnicos 3. Motivos relacionados con el costo 4. Encontré una app mejor

userInputCancelReason

string

Es el motivo de cancelación de la entrada personalizada del usuario. Solo está presente cuando cancelReason es 0.

SubscriptionPriceChange

Contiene la información del 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. Esto puede consistir en solicitar la confirmación del usuario o adaptar la experiencia para generar una conversión exitosa.

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

object (Price)

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

state

integer

El estado actual del cambio de precio. Los valores posibles son 0. Pendiente: Indica un cambio de precio pendiente a la espera de que el usuario acepte. En este estado, puedes optar por obtener la confirmación del usuario usando la API de In-App. 1. Aceptada: Indica 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, en la que se renueve la suscripción. Ten en cuenta que es posible que el cambio no se produzca la próxima vez que renueves la suscripción.

Métodos

acknowledge

Reconoce la compra de una suscripción.

cancel

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

defer

Pospone la compra de la suscripción de un usuario hasta una fecha de vencimiento futura especificada.

get

Verifica 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 de un 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 una suscripción de un usuario.