- Recurso: SubscriptionPurchaseV2
- SubscriptionState
- PausedStateContext
- CanceledStateContext
- UserInitiatedCancellation
- CancelSurveyResult
- CancelSurveyReason
- SystemInitiatedCancellation
- DeveloperInitiatedCancellation
- ReplacementCancellation
- TestPurchase
- AcknowledgementState
- ExternalAccountIdentifiers
- SubscribeWithGoogleInfo
- SubscriptionPurchaseLineItem
- AutoRenewingPlan
- SubscriptionItemPriceChangeDetails
- PriceChangeMode
- PriceChangeState
- InstallmentPlan
- PendingCancellation
- PrepaidPlan
- OfferDetails
- DeferredItemReplacement
- Métodos
Recurso: SubscriptionPurchaseV2
Indica el estado de la compra de la 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 alfa-2 del usuario en el momento en que se otorgó la suscripción. |
lineItems[] |
Información a nivel del artículo para la compra de una suscripción. Los elementos de la misma compra deben estar todos con AutoRenewingPlan o todos con PrepaidPlan. |
startTime |
Hora en la que se otorgó la suscripción. No establecida para las suscripciones pendientes (se creó la suscripción, pero está pendiente del 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: |
subscriptionState |
El estado actual de la suscripción. |
latestOrderId |
Es el ID del pedido más reciente asociado con la compra de la suscripción. En el caso de la renovación automática de suscripciones, este es el ID de pedido del pedido de registro (si aún no se renovó) o el ID de pedido recurrente más reciente (pedido correcto, pendiente o rechazado). Para 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 esta suscripción es uno de los siguientes: * Volver a registrar una suscripción cancelada pero no caducada * Actualizar o cambiar a una versión inferior de una suscripción anterior. * Pasa de una suscripción prepagada a una con renovación automática. * Convierte una suscripción con renovación automática en una suscripción prepagada. * Recarga una suscripción prepagada. |
pausedStateContext |
Contexto adicional sobre las suscripciones detenidas Solo está presente si la suscripción actualmente tiene subscriptionState SUBSCRIPTION_STATE_PAused. |
canceledStateContext |
Contexto adicional sobre las suscripciones canceladas Solo está presente si la suscripción actualmente tiene subscriptionState SUBSCRIPTION_STATE_CANCELED o SUBSCRIPTION_STATE_EXPIRED. |
testPurchase |
Solo está presente si la compra de esta suscripción es una compra de prueba. |
acknowledgementState |
Es el estado de confirmación de la suscripción. |
externalAccountIdentifiers |
Es el identificador de cuenta de usuario en el servicio de terceros. |
subscribeWithGoogleInfo |
Perfil de usuario asociado con 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 los planes con renovación automática o los planes prepagados.
Enumeraciones | |
---|---|
SUBSCRIPTION_STATE_UNSPECIFIED |
Estado de suscripción sin especificar. |
SUBSCRIPTION_STATE_PENDING |
Se creó la suscripción, pero está esperando el pago durante el registro. En este estado, todos los elementos están en espera 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 autoRenewEnabled y no está vencido. - (2) Si la suscripción es un plan prepagado, ten en cuenta que al menos un elemento no debe estar vencido. |
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 se encuentra 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 en espera. |
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 como falso. |
SUBSCRIPTION_STATE_EXPIRED |
La suscripción venció. Todos los elementos tienen una fecha de vencimiento en el pasado. |
SUBSCRIPTION_STATE_PENDING_PURCHASE_CANCELED |
Se canceló la transacción pendiente de suscripción. Si esta compra pendiente era de una suscripción existente, usa linkedPurchaseToken para obtener el estado actual de esa suscripción. |
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 una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: |
CanceledStateContext
Es la información específica de una suscripción con el estado SUBSCRIPTION_STATE_CANCELED o SUBSCRIPTION_STATE_EXPIRED.
Representación JSON |
---|
{ // Union field |
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 |
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 |
Se reemplazó la suscripción por una nueva. |
UserInitiatedCancellation
Información específica de las cancelaciones iniciadas por los usuarios.
Representación JSON |
---|
{
"cancelSurveyResult": {
object ( |
Campos | |
---|---|
cancelSurveyResult |
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 a la que el usuario canceló la suscripción. Es posible que, después de ese período, el usuario siga teniendo acceso a la suscripción. 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: |
CancelSurveyResult
Resultado de la encuesta de cancelación cuando el usuario canceló la suscripción.
Representación JSON |
---|
{
"reason": enum ( |
Campos | |
---|---|
reason |
El motivo que seleccionó el usuario en la encuesta de cancelación. |
reasonUserInput |
Solo se estableció para CANCEL_SURVEY_REASON_OTHERS. Es la respuesta en formato libre del usuario a la encuesta. |
CancelSurveyReason
El motivo que seleccionó el usuario en la encuesta de cancelación.
Enumeraciones | |
---|---|
CANCEL_SURVEY_REASON_UNSPECIFIED |
No se especificó el motivo de la cancelación de la encuesta. |
CANCEL_SURVEY_REASON_NOT_ENOUGH_USAGE |
La suscripción no tiene un uso suficiente. |
CANCEL_SURVEY_REASON_TECHNICAL_ISSUES |
Problemas técnicos al usar la app |
CANCEL_SURVEY_REASON_COST_RELATED |
Problemas relacionados con el costo. |
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 de las cancelaciones causadas por el reemplazo de suscripciones.
TestPurchase
Este tipo no tiene campos.
Indica si la compra de esta suscripción es una compra de prueba.
AcknowledgementState
Son los posibles estados de confirmación de una suscripción.
Enumeraciones | |
---|---|
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 |
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. |
obfuscatedExternalAccountId |
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 |
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. |
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 del 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 comprado (por ejemplo, "mensual001"). |
expiryTime |
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: |
Campo de unión plan_type . El tipo de plan de suscripción. Las direcciones (plan_type ) solo pueden ser una de las siguientes opciones: |
|
autoRenewingPlan |
El elemento se está renovando automáticamente. |
prepaidPlan |
El artículo está prepagado. |
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 aplazado. Puedes quitarlo o reemplazarlo. Las direcciones (deferred_item_change ) solo pueden ser una de las siguientes opciones: |
|
deferredItemReplacement |
Información para el reemplazo diferido del artículo. |
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 canceló la suscripción |
priceChangeDetails |
Información del último cambio de precio del elemento desde que se registró la suscripción. |
installmentDetails |
El compromiso del plan de cuotas y la información relacionada con el estado del plan con renovación automática. |
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 los cambios en el precio del elemento de suscripción. |
priceChangeState |
Indicar el cambio de precio se encuentra actualmente. |
expectedNewPriceChargeTime |
La fecha y hora de renovación en la que el cambio de precio entrará en vigencia para el usuario. Esto está sujeto a cambios(en el futuro) debido a casos en los que el horario de renovación cambie, como una pausa. Este campo solo se completa si no entra en vigencia el cambio de precio. Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: |
PriceChangeMode
Es el modo del cambio de precio.
Enumeraciones | |
---|---|
PRICE_CHANGE_MODE_UNSPECIFIED |
Modo de cambio de precio sin especificar. Nunca se debe establecer este valor. |
PRICE_DECREASE |
Si el precio de la suscripción disminuye. |
PRICE_INCREASE |
Si el precio de la suscripción aumenta y el usuario debe aceptarlo. |
OPT_OUT_PRICE_INCREASE |
Si el precio de la suscripción aumenta con el modo de inhabilitación. |
PriceChangeState
El estado del cambio de precio.
Enumeraciones | |
---|---|
PRICE_CHANGE_STATE_UNSPECIFIED |
Estado del cambio de precio sin especificar. No se debe usar este valor. |
OUTSTANDING |
Espera a que el usuario acepte el cambio de precio. |
CONFIRMED |
Se confirmó que el cambio de precio se realizó para el usuario. |
APPLIED |
Se aplica el cambio de precio, es decir, se comenzó a cobrar al usuario el precio nuevo. |
InstallmentPlan
Información sobre un plan de cuotas.
Representación JSON |
---|
{
"initialCommittedPaymentsCount": integer,
"subsequentCommittedPaymentsCount": integer,
"remainingCommittedPaymentsCount": integer,
"pendingCancellation": {
object ( |
Campos | |
---|---|
initialCommittedPaymentsCount |
Cantidad total de pagos por los que se compromete inicialmente el usuario. |
subsequentCommittedPaymentsCount |
Cantidad total de pagos que se comprometerán al usuario después de cada período de compromiso. Si está vacío, el plan de cuotas volverá a ser una suscripción con renovación automática normal después del compromiso inicial. |
remainingCommittedPaymentsCount |
Cantidad total de pagos comprometidos que quedan por pagar en este ciclo de renovación. |
pendingCancellation |
Si existe, este plan de cuotas está pendiente de cancelación. La cancelación se producirá solo después de que el usuario finalice todos los pagos comprometidos. |
PendingCancellation
Este tipo no tiene campos.
Este es un indicador de si hay una cancelación pendiente en el plan de cuotas virtual. La cancelación se producirá solo después de que el usuario finalice todos los pagos comprometidos.
PrepaidPlan
Información relacionada con un plan prepagado.
Representación JSON |
---|
{ "allowExtendAfterTime": string } |
Campos | |
---|---|
allowExtendAfterTime |
Si está presente, es el tiempo después del cual se permiten las compras de recarga para el plan prepagado. No estará presente para 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: |
OfferDetails
La oferta detalla información relacionada con un elemento de una sola línea de compra.
Representación JSON |
---|
{ "offerTags": [ string ], "basePlanId": string, "offerId": string } |
Campos | |
---|---|
offerTags[] |
Las etiquetas de la oferta más recientes asociadas con la oferta. Incluye las etiquetas heredadas del plan básico. |
basePlanId |
El ID del plan básico. Presente para todos los planes básicos y las ofertas. |
offerId |
Es el ID de la oferta. Solo está presente para las ofertas con descuento. |
DeferredItemReplacement
Información relacionada con el reemplazo diferido de artículos.
Representación JSON |
---|
{ "productId": string } |
Campos | |
---|---|
productId |
El productId que reemplazará al productId existente. |
Métodos |
|
---|---|
|
Obtén metadatos sobre una suscripción |
|
Revocar la compra de una suscripción para el usuario |