- Recurso: SubscriptionPurchaseV2
- SubscriptionState
- PausedStateContext
- CanceledStateContext
- UserInitiatedCancellation
- CancelSurveyResult
- CancelSurveyReason
- SystemInitiatedCancellation
- DeveloperInitiatedCancellation
- ReplacementCancellation
- TestPurchase
- AcknowledgementState
- ExternalAccountIdentifiers
- SubscribeWithGoogleInfo
- SubscriptionPurchaseLineItem
- AutoRenewingPlan
- SubscriptionItemPriceChangeDetails
- PriceChangeMode
- PriceChangeState
- PrepaidPlan
- OfferDetails
- DeferredItemReplacement
- Métodos
Recurso: SubscriptionPurchaseV2
Indica el estado de la compra de una suscripción de un usuario.
Representación JSON |
---|
{ "kind": string, "regionCode": string, "lineItems": [ { object ( |
Campos | |
---|---|
kind |
Este tipo representa un objeto SubscriptionPurchaseV2 en el servicio Androidpublisher. |
regionCode |
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. |
lineItems[] |
Información a nivel del artículo para la compra de una suscripción. Todos los artículos de la misma compra deben estar todos con AutoRenewingPlan o todos con PrepaidPlan. |
startTime |
Hora en la que se otorgó la suscripción. No está configurado 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 resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: |
subscriptionState |
Es el estado actual de la suscripción. |
latestOrderId |
Es el ID del pedido más reciente asociado con la compra de la suscripción. Para la suscripción con renovación automática, se trata del ID de pedido del pedido de registro si aún no se renueva o del último ID de pedido recurrente (pedido correcto, pendiente o rechazado). En el caso de las suscripciones prepagadas, es el ID de pedido asociado con el token de compra consultado. |
linkedPurchaseToken |
El token de compra de la suscripción anterior, si corresponde a una de las siguientes opciones: * Nuevo registro de una suscripción cancelada pero no vencida * Cambiar a una suscripción anterior o cambiar a una versión inferior. * Pasa de una suscripción prepagada a la de renovación automática. * Pasa de una suscripción con renovación automática a una prepaga. * Agrega dinero a una suscripción prepagada. |
pausedStateContext |
Contexto adicional relacionado con las suscripciones pausadas. Solo está presente si la suscripción actualmente tiene el estado SUBSCRIPTION_STATE_PAUSE. |
canceledStateContext |
Contexto adicional sobre las suscripciones canceladas. Solo está presente si la suscripción tiene el estado SUBSCRIPTION_STATE_CANCELED. |
testPurchase |
Solo está presente si la compra de la suscripción es de prueba. |
acknowledgementState |
El estado de confirmación de la suscripción. |
externalAccountIdentifiers |
Es el identificador de la cuenta de usuario en el servicio de terceros. |
subscribeWithGoogleInfo |
Perfil del usuario asociado a compras realizadas con "Suscríbete con Google". |
SubscriptionState
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 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 es un plan con renovación automática, al menos un elemento tiene el estado autoRenewEnabled y no venció. - (2) Si la suscripción es de un plan prepagado, no haya vencido al menos un artículo. |
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 artículos 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 un 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 todavía 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. |
PausedStateContext
Información específica de una suscripción en estado de pausa.
Representación JSON |
---|
{ "autoResumeTime": string } |
Campos | |
---|---|
autoResumeTime |
Hora en la que se reanudará automáticamente la suscripción. Una marca de tiempo en formato RFC3339 UTC "Zulú", con resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: |
CanceledStateContext
Información específica de una suscripción cancelada.
Representación JSON |
---|
{ // Union field |
Campos | |
---|---|
Campo de unión cancellation_reason . Indica el motivo por el que se canceló una suscripción. Las direcciones (cancellation_reason ) solo pueden ser una de las siguientes opciones: |
|
userInitiatedCancellation |
El usuario canceló la suscripción. |
systemInitiatedCancellation |
El sistema canceló la suscripción, por ejemplo, debido a un problema de facturación. |
developerInitiatedCancellation |
El desarrollador canceló la suscripción. |
replacementCancellation |
La suscripción se reemplazó por una nueva. |
UserInitiatedCancellation
Información específica de las cancelaciones que inician los usuarios.
Representación JSON |
---|
{
"cancelSurveyResult": {
object ( |
Campos | |
---|---|
cancelSurveyResult |
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). |
cancelTime |
Es la hora en la que el usuario canceló la suscripción. Es posible que el usuario siga teniendo acceso a la suscripción después de este tiempo. Usa lineItems.expiry_time para determinar si un usuario aún tiene acceso. Una marca de tiempo en formato RFC3339 UTC "Zulú", con resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: |
CancelSurveyResult
Resultado de la encuesta de cancelación cuando el usuario canceló la suscripción.
Representación JSON |
---|
{
"reason": enum ( |
Campos | |
---|---|
reason |
Es el motivo por el que el usuario seleccionó en la encuesta de cancelación. |
reasonUserInput |
Solo se establece para CANCEL_SURVEY_REASON_OTHERS. Esta es la respuesta de formato libre del usuario a la encuesta. |
CancelSurveyReason
Es el motivo por el 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 al usar la app |
CANCEL_SURVEY_REASON_COST_RELATED |
Problemas relacionados con los costos. |
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.
ReplacementCancellation
Este tipo no tiene campos.
Información específica sobre las cancelaciones causadas por el reemplazo de suscripciones
TestPurchase
Este tipo no tiene campos.
Indica si la compra de esta suscripción es de prueba.
AcknowledgementState
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 la cuenta de usuario en el servicio de terceros.
Representación JSON |
---|
{ "externalAccountId": string, "obfuscatedExternalAccountId": string, "obfuscatedExternalProfileId": string } |
Campos | |
---|---|
externalAccountId |
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. |
obfuscatedExternalAccountId |
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 |
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. |
SubscribeWithGoogleInfo
Información asociada a las compras realizadas con "Suscríbete con Google".
Representación JSON |
---|
{ "profileId": string, "profileName": string, "emailAddress": string, "givenName": string, "familyName": string } |
Campos | |
---|---|
profileId |
Es el ID de perfil de Google del usuario cuando se compró la suscripción. |
profileName |
Es el nombre de perfil del usuario cuando se compró la suscripción. |
emailAddress |
Es la dirección de correo electrónico del usuario cuando se compró la suscripción. |
givenName |
Es el nombre del usuario cuando se compró la suscripción. |
familyName |
Es el nombre de familia del usuario cuando se compró la suscripción. |
SubscriptionPurchaseLineItem
Información a nivel del artículo para la compra de una suscripción.
Representación JSON |
---|
{ "productId": string, "expiryTime": string, // Union field |
Campos | |
---|---|
productId |
Es el ID del producto que se compró (por ejemplo, "mensual001"). |
expiryTime |
Hora en la que venció o vencerá la suscripción, a menos que se extienda el acceso (p. ej., se renueve) Una marca de tiempo en formato RFC3339 UTC "Zulú", con resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: |
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 |
El elemento se renovará automáticamente. |
prepaidPlan |
El artículo es prepago. |
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. Se puede quitar o reemplazar. Las direcciones (deferred_item_change ) solo pueden ser una de las siguientes opciones: |
|
deferredItemReplacement |
Información para el reemplazo diferido de los artículos. |
AutoRenewingPlan
Información relacionada con un plan con renovación automática.
Representación JSON |
---|
{
"autoRenewEnabled": boolean,
"priceChangeDetails": {
object ( |
Campos | |
---|---|
autoRenewEnabled |
Si la suscripción está configurada para renovarse automáticamente, p.ej., el usuario no la canceló |
priceChangeDetails |
Indica 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 ( |
Campos | |
---|---|
newPrice |
Nuevo precio recurrente para el elemento de suscripción. |
priceChangeMode |
El modo de cambio de precio especifica cómo cambia el precio del elemento de suscripción. |
priceChangeState |
Indica en este momento el cambio de precio. |
expectedNewPriceChargeTime |
La hora de renovación a la que el cambio de precio entrará en vigencia para el usuario. Esto está sujeto a cambios(a una fecha futura) debido a casos en los que el horario de renovación cambia, como una pausa. Este campo solo se propaga si no se aplicó el cambio de precio. Una marca de tiempo en formato RFC3339 UTC "Zulú", con resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: |
PriceChangeMode
Modo del cambio de precio.
Enumeradores | |
---|---|
PRICE_CHANGE_MODE_UNSPECIFIED |
No se especificó el modo de cambio de precio. Este valor nunca se debe establecer. |
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. |
PriceChangeState
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 ocurrió para el usuario. |
APPLIED |
Se aplica el cambio de precio, es decir, se le está cobrando el precio nuevo al usuario. |
PrepaidPlan
Información relacionada con un plan prepagado.
Representación JSON |
---|
{ "allowExtendAfterTime": string } |
Campos | |
---|---|
allowExtendAfterTime |
Si está presente, este es el período en el que se permiten las compras de recargas del plan prepagado. No estará presente en los planes prepagados vencidos. Una marca de tiempo en formato RFC3339 UTC "Zulú", con resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: |
OfferDetails
Proporciona información detallada relacionada con una línea de pedido de compra.
Representación JSON |
---|
{ "offerTags": [ string ], "basePlanId": string, "offerId": string } |
Campos | |
---|---|
offerTags[] |
Son las etiquetas de la oferta más recientes asociadas con la oferta. Incluye etiquetas heredadas del plan básico. |
basePlanId |
El ID del plan básico. Presente en todos los planes básicos y las ofertas. |
offerId |
Es el ID de la oferta. Presente solo para ofertas con descuento. |
DeferredItemReplacement
Información relacionada con el reemplazo diferido de elementos.
Representación JSON |
---|
{ "productId": string } |
Campos | |
---|---|
productId |
El productId que reemplazará al productId existente. |
Métodos |
|
---|---|
|
Obtén metadatos sobre una suscripción |
|
Revoca la compra de una suscripción para el usuario. |