REST Resource: purchases.subscriptions

Recurso: SubscriptionPurchase

Un recurso SubscriptionPurchase indica el estado de la compra de una suscripción del 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, 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 encuentra presente si el usuario solicitó pausar la suscripción.

autoRenewing

boolean

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

priceCurrencyCode

string

Código de moneda según ISO 4217 para el precio de la suscripción. Por ejemplo, si el precio se especifica en libras esterlinas británicas, el valor de priceCurrencyCode es "GBP".

priceAmountMicros

string (int64 format)

Precio de la suscripción. No incluye impuestos en los países donde los precios se expresan sin impuestos incluidos. Sí incluye impuestos en los países donde los precios se expresan con impuestos incluidos. 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 EUR 1.99, el valor de priceAmountMicros es 1990000.

introductoryPriceInfo

object (IntroductoryPriceInfo)

Información del precio de lanzamiento de la suscripción. Solo se encuentra presente cuando la suscripción se compra con un precio de lanzamiento.

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

countryCode

string

Código de región o país de facturación (según ISO 3166-1 Alpha-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 del pago de la suscripción. Los valores posibles son los siguientes: 0. Pago pendiente 1. Pago recibido 2. Prueba gratuita 3. Proceso diferido de actualización o cambio a una versión inferior que se encuentra pendiente

No se encuentra presente en el caso de suscripciones canceladas o vencidas.

cancelReason

integer

Motivo por el que una suscripción se canceló o no se renovó automáticamente. Los valores posibles son los siguientes: 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ó con una suscripción nueva 3. El desarrollador canceló la suscripción

userCancellationTimeMillis

string (int64 format)

Hora en que el usuario canceló la suscripción, expresada en milisegundos desde la época. Solo se encuentra presente si el valor de 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 del pedido recurrente más reciente asociado a la compra de la suscripción. Si la suscripción se cancela porque se rechaza el pago, este será el ID del pedido con el pago rechazado.

linkedPurchaseToken

string

Es el token de la compra original si esta suscripción corresponde a una de las siguientes opciones: 0. Nuevo registro de una suscripción cancelada, pero no vencida 1. Actualiza o cambia a una versión inferior de una suscripción anterior

Por ejemplo, supongamos que un usuario realiza el registro original, y recibes el token de compra X. Luego, el usuario cancela la operación y lleva a cabo el flujo de un nuevo registro (antes de que venza la suscripción), y recibes el token de compra Y. Finalmente, el usuario actualiza la suscripción, y 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 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. Promoción (es decir, se compró con un código promocional)

priceChange

object (SubscriptionPriceChange)

Es la información de cambio de precio más reciente disponible. Este campo está presente solo cuando se establece para la suscripción un cambio de precio próximo que aún no se aplica.

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

profileName

string

Es el nombre de perfil del usuario en el momento de la compra de la suscripción. Solo se encuentra presente para compras realizadas con "Suscríbete con Google".

emailAddress

string

Es la dirección de correo electrónico del usuario en el momento de la compra de la suscripción. Solo se encuentra presente para compras realizadas con "Suscríbete con Google".

givenName

string

Es el nombre de pila del usuario en el momento de la compra de la suscripción. Solo se encuentra presente para compras realizadas con "Suscríbete con Google".

familyName

string

Apellido del usuario en el momento de la compra de la suscripción. Solo se encuentra presente para compras realizadas con "Suscríbete con Google".

profileId

string

Es el ID del perfil de Google del usuario en el momento de la compra de la suscripción. Solo se encuentra presente para compras realizadas con "Suscríbete con Google".

acknowledgementState

integer

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

externalAccountId

string

Es el identificador de la cuenta de usuario en el servicio de terceros. Solo se encuentra presente si la vinculación de la cuenta se lleva a cabo como parte del flujo de compra de la suscripción.

promotionType

integer

Es el tipo de promoción que se aplica en esta compra. Este campo solo se configura si se aplica una promoción en el momento de la compra de la suscripción. Los valores posibles son los siguientes: 0. Código único 1. Código personalizado

promotionCode

string

Código promocional que se aplica en esta compra. Este campo solo se configura si se aplica una promoción con código personalizado cuando se compra la suscripción.

obfuscatedExternalAccountId

string

Versión ofuscada del ID que está asociado de forma única a la cuenta del usuario en tu app. Está presente para las compras en los siguientes casos: * La cuenta se vinculó como parte del flujo de compra de la suscripción. * Se usó https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid para especificar el campo 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.

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

Código de moneda según ISO 4217 para el precio de lanzamiento de la suscripción. Por ejemplo, si el precio se especifica en libras esterlinas británicas, el valor de priceCurrencyCode es "GBP".

introductoryPriceAmountMicros

string (int64 format)

Es el precio de lanzamiento de la suscripción, sin incluir impuestos. La moneda es la misma que en 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 EUR 1.99, el valor de priceAmountMicros es 1990000.

introductoryPricePeriod

string

Es el período del precio de lanzamiento, especificado en formato ISO 8601. Entre los valores comunes se incluyen (sin limitaciones) "P1W" (una semana), "P1M" (un mes), "P3M" (tres meses), "P6M" (seis meses) y "P1Y" (un año).

introductoryPriceCycles

integer

Cantidad de períodos de facturación en los que se ofrece el 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 la cancelación que elige el usuario en la encuesta. Los valores posibles son los siguientes: 0. Otro 1. No uso este servicio lo suficiente 2. Problemas técnicos 3. Costo 4. Encontré una app mejor

userInputCancelReason

string

Es el motivo de cancelación que ingresa el usuario de forma personalizada. Solo se encuentra presente si el valor de cancelReason es 0.

SubscriptionPriceChange

Contiene la información del cambio de precio de una suscripción que puede usarse para controlar el recorrido del usuario para el cambio de precio en la app. Puede ser el resultado de una solicitud de confirmación del usuario o de la personalización de la experiencia para 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 de precio.

state

integer

Es el estado actual del cambio de precio. Los valores posibles son los siguientes: 0. Pendiente: Estado de un cambio de precio pendiente de la aprobación del usuario. En este estado, puedes optar por obtener la confirmación del usuario a través de la API integrada. 1. Aceptado: Estado aceptado de un cambio de precio con el cual se renovará la suscripción, a menos que esta se cancele. El cambio de precio será efectivo en una fecha futura cuando se renueve la suscripción. Ten en cuenta que es posible que el cambio no se realice en la próxima renovación de la suscripción.

Métodos

acknowledge

Confirma la compra de una suscripción.

cancel

Cancela la compra de una suscripción del usuario.

defer

Difiere la compra de una suscripción del usuario hasta una fecha de vencimiento futura especificada.

get

Verifica si la compra de una suscripción del usuario es válida y devuelve una hora de vencimiento.

refund

Reembolsa la compra de una suscripción del usuario, pero esta sigue siendo válida hasta su fecha de vencimiento y continúa siendo recurrente.

revoke

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