REST Resource: purchases.subscriptionsv2

Recurso: SubscriptionPurchaseV2

Indica el estado de la compra de la suscripción de un usuario.

Representación JSON
{
  "kind": string,
  "regionCode": string,
  "lineItems": [
    {
      object (SubscriptionPurchaseLineItem)
    }
  ],
  "startTime": string,
  "subscriptionState": enum (SubscriptionState),
  "latestOrderId": string,
  "linkedPurchaseToken": string,
  "pausedStateContext": {
    object (PausedStateContext)
  },
  "canceledStateContext": {
    object (CanceledStateContext)
  },
  "testPurchase": {
    object (TestPurchase)
  },
  "acknowledgementState": enum (AcknowledgementState),
  "externalAccountIdentifiers": {
    object (ExternalAccountIdentifiers)
  },
  "subscribeWithGoogleInfo": {
    object (SubscribeWithGoogleInfo)
  }
}
Campos
kind

string

Este tipo representa un objeto SubscriptionPurchaseV2 en el servicio androidpublisher.

regionCode

string

Es el código de país o región de facturación ISO 3166-1 alfa-2 del usuario al momento de otorgar la suscripción.

lineItems[]

object (SubscriptionPurchaseLineItem)

Información a nivel del artículo para la compra de una suscripción. Todos los elementos de la misma compra deben estar todos con AutoRenewingPlan o todos con PrepaidPlan.

startTime

string (Timestamp format)

Hora en la que se otorgó la suscripción. No se configuró para suscripciones pendientes (se creó la suscripción, pero se aguardó el pago durante el registro).

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

subscriptionState

enum (SubscriptionState)

Es el estado actual de la suscripción.

latestOrderId

string

Es el ID del pedido más reciente asociado con la compra de la suscripción. Para la suscripción de renovación automática, es el ID del pedido de registro si aún no se renovó o el último ID de pedido recurrente (pedido correcto, pendiente o rechazado). Para la suscripción prepagada, es el ID de pedido asociado con el token de compra consultado.

linkedPurchaseToken

string

El token de compra de la suscripción anterior, si esta es uno de los siguientes: * Nuevo registro de una suscripción cancelada pero no inactiva * Actualización o cambio a una versión inferior de una suscripción anterior. * Cámbiate de una suscripción prepagada a la de renovación automática. * Cámbiate de una suscripción con renovación automática a una de prepago. * Recarga una suscripción prepagada.

pausedStateContext

object (PausedStateContext)

Contexto adicional sobre las suscripciones pausadas. Solo está presente si la suscripción tiene el estado de suscripción SUBSCRIPTION_STATE_PALOCATION.

canceledStateContext

object (CanceledStateContext)

Contexto adicional sobre las suscripciones canceladas. Solo está presente si la suscripción actualmente tiene subscriptionState SUBSCRIPTION_STATE_CANCELED.

testPurchase

object (TestPurchase)

Solo está presente si la compra de esta suscripción es una compra de prueba.

acknowledgementState

enum (AcknowledgementState)

El estado de confirmación de la suscripción.

externalAccountIdentifiers

object (ExternalAccountIdentifiers)

Es el identificador de cuenta de usuario en el servicio de terceros.

subscribeWithGoogleInfo

object (SubscribeWithGoogleInfo)

Perfil de usuario asociado con compras realizadas con "Suscríbete con Google".

Estado de suscripción

Los estados potenciales en los que puede estar una suscripción, por ejemplo, si está activa o cancelada. Los elementos de la compra de una suscripción pueden ser todos los planes con renovación automática o planes prepagados.

Enumeradores
SUBSCRIPTION_STATE_UNSPECIFIED Estado de suscripción no especificado.
SUBSCRIPTION_STATE_PENDING Se creó la suscripción, pero se espera el pago durante el registro. En este estado, todos los artículos están pendientes de pago.
SUBSCRIPTION_STATE_ACTIVE La suscripción está activa. - (1) Si la suscripción tiene un plan con renovación automática, al menos un elemento tiene la política AutoRenewEnabled y no venció. - (2) Si la suscripción es un plan prepagado, debe mantener al menos un artículo vigente.
SUBSCRIPTION_STATE_PAUSED Se pausó la suscripción. El estado solo está disponible cuando la suscripción es un plan con renovación automática. En este estado, todos los elementos se encuentran detenidos.
SUBSCRIPTION_STATE_IN_GRACE_PERIOD La suscripción está en período de gracia. El estado solo está disponible cuando la suscripción es un plan con renovación automática. En este estado, todos los elementos se encuentran en período de gracia.
SUBSCRIPTION_STATE_ON_HOLD La suscripción está en espera (suspendida). El estado solo está disponible cuando la suscripción es un plan con renovación automática. En este estado, todos los elementos están retenidos.
SUBSCRIPTION_STATE_CANCELED Se canceló la suscripción, pero aún no venció. El estado solo está disponible cuando la suscripción es un plan con renovación automática. Todos los elementos tienen autoRenewEnabled establecido en falso.
SUBSCRIPTION_STATE_EXPIRED La suscripción venció. Todos los artículos tienen expiryTime en el pasado.

PauseStateContext

Información específica de una suscripción en estado de pausa.

Representación JSON
{
  "autoResumeTime": string
}
Campos
autoResumeTime

string (Timestamp format)

Hora en la que se reanudará automáticamente la suscripción.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

CanceledStateContext

Información específica de una suscripción en estado cancelada.

Representación JSON
{

  // Union field cancellation_reason can be only one of the following:
  "userInitiatedCancellation": {
    object (UserInitiatedCancellation)
  },
  "systemInitiatedCancellation": {
    object (SystemInitiatedCancellation)
  },
  "developerInitiatedCancellation": {
    object (DeveloperInitiatedCancellation)
  },
  "replacementCancellation": {
    object (ReplacementCancellation)
  }
  // End of list of possible types for union field cancellation_reason.
}
Campos
Campo de unión cancellation_reason. El motivo por el que se canceló una suscripción. Las direcciones (cancellation_reason) solo pueden ser una de las siguientes opciones:
userInitiatedCancellation

object (UserInitiatedCancellation)

El usuario canceló la suscripción.

systemInitiatedCancellation

object (SystemInitiatedCancellation)

El sistema canceló la suscripción, por ejemplo, debido a un problema de facturación.

developerInitiatedCancellation

object (DeveloperInitiatedCancellation)

El desarrollador canceló la suscripción.

replacementCancellation

object (ReplacementCancellation)

Se reemplazó la suscripción por una nueva.

UserInitiatedCancellation

Información específica de las cancelaciones que inician los usuarios.

Representación JSON
{
  "cancelSurveyResult": {
    object (CancelSurveyResult)
  },
  "cancelTime": string
}
Campos
cancelSurveyResult

object (CancelSurveyResult)

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

cancelTime

string (Timestamp format)

La hora en la que el usuario canceló la suscripción. Es posible que el usuario aún tenga acceso a la suscripción después de ese período. Usa lineItems.expiry_time para determinar si un usuario aún tiene acceso.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

Cancela la encuesta

Resultado de la encuesta de cancelación cuando el usuario canceló la suscripción.

Representación JSON
{
  "reason": enum (CancelSurveyReason),
  "reasonUserInput": string
}
Campos
reason

enum (CancelSurveyReason)

Es el motivo que el usuario seleccionó en la encuesta de cancelación.

reasonUserInput

string

Solo se establece para CANCEL_SURVEY_REASON_OTHERS. Esta es la respuesta de formato libre a la encuesta del usuario.

Motivo de la encuesta

Es el motivo que el usuario seleccionó en la encuesta de cancelación.

Enumeradores
CANCEL_SURVEY_REASON_UNSPECIFIED No se especificó el motivo de la cancelación de la encuesta.
CANCEL_SURVEY_REASON_NOT_ENOUGH_USAGE No hay suficiente uso de la suscripción.
CANCEL_SURVEY_REASON_TECHNICAL_ISSUES Problemas técnicos mientras se usa la app
CANCEL_SURVEY_REASON_FOUND_BETTER_APP El usuario encontró una app mejor.
CANCEL_SURVEY_REASON_OTHERS Otros motivos.

SystemInitiatedCancellation

Este tipo no tiene campos.

Información específica de las cancelaciones que inicia el sistema de Google.

DeveloperInitiatedCancellation

Este tipo no tiene campos.

Información específica de las cancelaciones que inician los desarrolladores.

Cancelación de reemplazo

Este tipo no tiene campos.

Información específica de las cancelaciones causadas por el reemplazo de una suscripción

Compra de prueba

Este tipo no tiene campos.

Indica si la compra de esta suscripción es una compra de prueba.

Estado de confirmación

Los posibles estados de confirmación de una suscripción.

Enumeradores
ACKNOWLEDGEMENT_STATE_UNSPECIFIED Estado de confirmación no especificado.
ACKNOWLEDGEMENT_STATE_PENDING Aún no se confirmó la suscripción.
ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED Se confirmó la suscripción.

ExternalAccountIdentifiers

Es el identificador de cuenta de usuario en el servicio de terceros.

Representación JSON
{
  "externalAccountId": string,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string
}
Campos
externalAccountId

string

Es el identificador de 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.

obfuscatedExternalAccountId

string

Es una versión ofuscada del ID que está asociada de forma exclusiva con la cuenta del usuario en tu app. Se presenta 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 hizo la compra.

obfuscatedExternalProfileId

string

Es una versión ofuscada del ID que se asocia de manera exclusiva con el perfil del usuario en tu app. Solo está presente si se especifica mediante https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid cuando se hizo la compra.

Suscríbete con GoogleInfo

Información asociada con las compras realizadas con "Suscríbete con Google".

Representación JSON
{
  "profileId": string,
  "profileName": string,
  "emailAddress": string,
  "givenName": string,
  "familyName": string
}
Campos
profileId

string

Es el ID de perfil de Google del usuario cuando se compró la suscripción.

profileName

string

Es el nombre de perfil del usuario cuando se compró la suscripción.

emailAddress

string

Es la dirección de correo electrónico del usuario cuando se compró la suscripción.

givenName

string

Es el nombre del usuario cuando se compró la suscripción.

familyName

string

Es el nombre de familia del usuario cuando se compró la suscripción.

Línea de pedido de la compra de la suscripción

Información a nivel del artículo para la compra de una suscripción.

Representación JSON
{
  "productId": string,
  "expiryTime": string,

  // Union field plan_type can be only one of the following:
  "autoRenewingPlan": {
    object (AutoRenewingPlan)
  },
  "prepaidPlan": {
    object (PrepaidPlan)
  }
  // End of list of possible types for union field plan_type.
  "offerDetails": {
    object (OfferDetails)
  },

  // Union field deferred_item_change can be only one of the following:
  "deferredItemReplacement": {
    object (DeferredItemReplacement)
  }
  // End of list of possible types for union field deferred_item_change.
}
Campos
productId

string

Es el ID del producto comprado (por ejemplo, "monthly001").

expiryTime

string (Timestamp format)

Hora en la que la suscripción venció o vencerá, a menos que se extienda el acceso (p. ej., se renueve).

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

Campo de unión plan_type. Es el tipo de plan de suscripción. Las direcciones (plan_type) solo pueden ser una de las siguientes opciones:
autoRenewingPlan

object (AutoRenewingPlan)

El elemento se renovará automáticamente.

prepaidPlan

object (PrepaidPlan)

El artículo está prepagado.

offerDetails

object (OfferDetails)

Son los detalles de la oferta de este artículo.

Campo de unión deferred_item_change. El campo está presente cuando un elemento tiene un cambio diferido. Puedes quitarlo o reemplazarlo. Las direcciones (deferred_item_change) solo pueden ser una de las siguientes opciones:
deferredItemReplacement

object (DeferredItemReplacement)

Información sobre el reemplazo diferido de elementos.

Plan de renovación automática

Información relacionada con un plan con renovación automática.

Representación JSON
{
  "autoRenewEnabled": boolean,
  "priceChangeDetails": {
    object (SubscriptionItemPriceChangeDetails)
  }
}
Campos
autoRenewEnabled

boolean

Si la suscripción está configurada para renovarse automáticamente, p.ej., el usuario no canceló la suscripción

priceChangeDetails

object (SubscriptionItemPriceChangeDetails)

La información del último cambio de precio del artículo desde que se registró la suscripción.

SubscriptionItemPriceChangeDetails

Información relacionada con el cambio de precio de un elemento de suscripción.

Representación JSON
{
  "newPrice": {
    object (Money)
  },
  "priceChangeMode": enum (PriceChangeMode),
  "priceChangeState": enum (PriceChangeState),
  "expectedNewPriceChargeTime": string
}
Campos
newPrice

object (Money)

Nuevo precio recurrente para el elemento de suscripción.

priceChangeMode

enum (PriceChangeMode)

El modo de cambio de precio especifica cómo está cambiando el precio del elemento de suscripción.

priceChangeState

enum (PriceChangeState)

Indique el cambio de precio actual.

expectedNewPriceChargeTime

string (Timestamp format)

Es la hora de renovación en la que el cambio de precio entrará en vigencia para el usuario. Esto está sujeto a cambios(a una hora futura) debido a casos en los que el horario de renovación cambia, como una pausa.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

Modo de cambiodeprecio

Modo del cambio de precio.

Enumeradores
PRICE_CHANGE_MODE_UNSPECIFIED No se especificó el modo de cambio de precio. Este valor nunca debe establecerse.
PRICE_DECREASE Si el precio de la suscripción disminuye.
PRICE_INCREASE Si el precio de la suscripción aumenta y el usuario debe aceptarla.
OPT_OUT_PRICE_INCREASE Si el precio de la suscripción aumenta con el modo de inhabilitación

Estado de cambio de precio

El estado del cambio de precio.

Enumeradores
PRICE_CHANGE_STATE_UNSPECIFIED Estado del cambio de precio sin especificar. No se debe usar este valor.
OUTSTANDING Se espera a que el usuario acepte el cambio de precio.
CONFIRMED Se confirma que el cambio de precio se aplicará al usuario.
APPLIED Se aplica el cambio de precio, es decir, se le está cobrando al usuario el precio nuevo.

Plan prepagado

Información relacionada con un plan prepagado.

Representación JSON
{
  "allowExtendAfterTime": string
}
Campos
allowExtendAfterTime

string (Timestamp format)

Si está presente, este es el momento en el que se permiten las compras para recargar el plan prepagado. No estará presente en los planes prepagados vencidos.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

Detalles de la oferta

Es la información detallada de la oferta relacionada con una línea de pedido de compra.

Representación JSON
{
  "offerTags": [
    string
  ],
  "basePlanId": string,
  "offerId": string
}
Campos
offerTags[]

string

Son las etiquetas de oferta más recientes asociadas con la oferta. Incluye etiquetas heredadas del plan básico.

basePlanId

string

El ID del plan básico. Está presente para todos los planes básicos y las ofertas.

offerId

string

Es el ID de la oferta. Presente únicamente para ofertas con descuento.

Reemplazo de elementos diferidos

Información relacionada con el reemplazo diferido de elementos.

Representación JSON
{
  "productId": string
}
Campos
productId

string

El productId que reemplazará al productId existente.

Métodos

get

Obtén metadatos sobre una suscripción