- 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
- SignupPromotion
- OneTimeCode
- VanityCode
- Métodos
Recurso: SubscriptionPurchaseV2
Indica el estado de la compra de una suscripción que hace un usuario.
Representación JSON |
---|
{ "kind": string, "regionCode": string, "lineItems": [ { object ( |
Campos | |
---|---|
kind |
Este tipo representa un objeto SubscriptionPurchaseV2 en el servicio androidpublisher. |
region |
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. |
line |
Es la información a nivel del elemento para la compra de una suscripción. Todos los elementos de una misma compra deben estar establecidos como AutoRenewingPlan, o bien como PrepaidPlan. |
start |
Es la fecha y hora en la que se otorgó la suscripción. No se configura para las suscripciones pendientes (cuando se crea la suscripción, pero se espera 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: |
subscription |
Es el estado actual de la suscripción. |
latest |
Es el ID del pedido más reciente asociado a la compra de la suscripción. Para una suscripción del tipo autoRenewing, es decir, con renovación automática, es el ID del pedido de registro, si aún no se renovó, o el ID del pedido recurrente más reciente (un pedido ejecutado, pendiente o rechazado). En el caso de una suscripción prepagada, es el ID de pedido asociado con el token de compra consultado. |
linked |
Es el token de compra de la suscripción anterior si esta suscripción es una de las siguientes: * Nuevo registro de una suscripción cancelada pero no vencida * Actualización o cambio a una versión inferior desde una suscripción anterior * Cambio de una suscripción prepagada a una con renovación automática * Cambio de una suscripción con renovación automática a una prepagada * Recarga de una suscripción prepagada |
paused |
Es contexto adicional para las suscripciones pausadas. Solo está presente si la suscripción tiene el estado subscriptionState establecido como SUBSCRIPTION_STATE_PAUSED. |
canceled |
Es contexto adicional para las suscripciones canceladas. Solo está presente si la suscripción tiene el estado subscriptionState establecido como SUBSCRIPTION_STATE_CANCELED o SUBSCRIPTION_STATE_EXPIRED. |
test |
Solo está presente si la compra de esta suscripción es de prueba. |
acknowledgement |
Es el estado de procesamiento de compra de la suscripción. |
external |
Es el identificador de la cuenta de usuario en el servicio de terceros. |
subscribe |
Es el perfil de usuario asociado a las compras realizadas con "Suscríbete con Google". |
SubscriptionState
Son los estados posibles de una suscripción; por ejemplo, activa o cancelada. Los elementos de la compra de una suscripción pueden ser todos planes con renovación automática o planes prepagados.
Enumeraciones | |
---|---|
SUBSCRIPTION_STATE_UNSPECIFIED |
No se especificó el estado de la suscripción. |
SUBSCRIPTION_STATE_PENDING |
Se creó la suscripción, pero se espera el pago durante el registro. En este estado, todos los elementos 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 un plan prepagado, al menos un elemento no venció. |
SUBSCRIPTION_STATE_PAUSED |
Se pausó la suscripción. Este estado solo se encuentra disponible cuando la suscripción es un plan con renovación automática. Todos los elementos están en pausa. |
SUBSCRIPTION_STATE_IN_GRACE_PERIOD |
La suscripción está en período de gracia. Este estado solo se encuentra disponible cuando la suscripción es un plan con renovación automática. Todos los elementos se encuentran en período de gracia. |
SUBSCRIPTION_STATE_ON_HOLD |
La suscripción está en espera (suspendida). Este estado solo se encuentra disponible cuando la suscripción es un plan con renovación automática. Todos los elementos se encuentran en espera. |
SUBSCRIPTION_STATE_CANCELED |
Se canceló la suscripción, pero todavía no venció. Este estado solo se encuentra disponible cuando la suscripción es un plan con renovación automática. Todos los elementos tienen el campo autoRenewEnabled establecido en falso. |
SUBSCRIPTION_STATE_EXPIRED |
La suscripción venció. Todos los elementos tienen el campo expiryTime establecido como una fecha en el pasado. |
SUBSCRIPTION_STATE_PENDING_PURCHASE_CANCELED |
Se canceló la transacción pendiente para la suscripción. Si esta compra pendiente era para una suscripción existente, usa linkedPurchaseToken para obtener el estado actual de esa suscripción. |
PausedStateContext
Es información específica sobre una suscripción en pausa.
Representación JSON |
---|
{ "autoResumeTime": string } |
Campos | |
---|---|
auto |
Es la fecha y hora a 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 información específica sobre 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 . Indica el motivo por el que se canceló una suscripción. Las direcciones (cancellation_reason ) solo pueden ser una de las siguientes opciones: |
|
user |
El usuario canceló la suscripción. |
system |
El sistema canceló la suscripción, por ejemplo, debido a un problema de facturación. |
developer |
El desarrollador canceló la suscripción. |
replacement |
Se reemplazó la suscripción por una nueva. |
UserInitiatedCancellation
Es información específica sobre las cancelaciones que inician los usuarios.
Representación JSON |
---|
{
"cancelSurveyResult": {
object ( |
Campos | |
---|---|
cancel |
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). |
cancel |
Es la fecha y hora en la que el usuario canceló la suscripción. Es posible que, después de ese momento, el usuario aún tenga acceso a la suscripción. Para saber si esto es así, se debe usar lineItems.expiry_time. Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: |
CancelSurveyResult
Es el resultado de la encuesta de cancelación cuando el usuario canceló la suscripción.
Representación JSON |
---|
{
"reason": enum ( |
Campos | |
---|---|
reason |
Es el motivo que seleccionó el usuario en la encuesta sobre la cancelación. |
reason |
Solo se establece para CANCEL_SURVEY_REASON_OTHERS. Es la respuesta de formato libre que ofrece el usuario en la encuesta. |
CancelSurveyReason
Es el motivo que seleccionó el usuario en la encuesta sobre la cancelación.
Enumeraciones | |
---|---|
CANCEL_SURVEY_REASON_UNSPECIFIED |
No se especificó el motivo de la cancelación en la encuesta. |
CANCEL_SURVEY_REASON_NOT_ENOUGH_USAGE |
La suscripción no se usó lo suficiente. |
CANCEL_SURVEY_REASON_TECHNICAL_ISSUES |
Surgieron 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.
Es información específica sobre las cancelaciones que inicia el sistema de Google.
DeveloperInitiatedCancellation
Este tipo no tiene campos.
Es información específica sobre las cancelaciones que inician los desarrolladores.
ReplacementCancellation
Este tipo no tiene campos.
Es información específica sobre las cancelaciones causadas por el reemplazo de la suscripción.
TestPurchase
Este tipo no tiene campos.
Indica si la compra de esta suscripción es de prueba.
AcknowledgementState
Son los posibles estados de procesamiento de compra de una suscripción.
Enumeraciones | |
---|---|
ACKNOWLEDGEMENT_STATE_UNSPECIFIED |
No se especificó el estado de confirmación. |
ACKNOWLEDGEMENT_STATE_PENDING |
Aún no se procesó la compra de la suscripción. |
ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED |
Se procesó la compra de 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 | |
---|---|
external |
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. |
obfuscated |
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. |
obfuscated |
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. |
SubscribeWithGoogleInfo
Es 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 | |
---|---|
profile |
Es el ID del perfil de Google del usuario en el momento de la compra de la suscripción. |
profile |
Es el nombre de perfil del usuario en el momento de la compra de la suscripción. |
email |
Es la dirección de correo electrónico del usuario en el momento de la compra de la suscripción. |
given |
Es el nombre de pila del usuario en el momento de la compra de la suscripción. |
family |
Apellido del usuario en el momento de la compra de la suscripción. |
SubscriptionPurchaseLineItem
Es la información a nivel del elemento para la compra de una suscripción.
Representación JSON |
---|
{ "productId": string, "expiryTime": string, // Union field |
Campos | |
---|---|
product |
Es el ID del producto comprado (por ejemplo, "monthly001"). |
expiry |
Es la fecha y 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 una 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: |
|
auto |
El elemento se renueva automáticamente. |
prepaid |
El elemento está prepagado. |
offer |
Son los detalles de la oferta para este elemento. |
Campo de unión deferred_item_change . Este 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: |
|
deferred |
Es información sobre el reemplazo diferido del elemento. |
signup |
Son los detalles de la promoción de este artículo. Solo se establece si se aplicó una promoción durante el registro. |
AutoRenewingPlan
Es información relacionada con un plan con renovación automática.
Representación JSON |
---|
{ "autoRenewEnabled": boolean, "recurringPrice": { object ( |
Campos | |
---|---|
auto |
La suscripción se encuentra configurada para renovarse automáticamente; p. ej., el usuario no la canceló. |
recurring |
Es el precio recurrente actual del plan con renovación automática. |
price |
Es la información del último cambio de precio del elemento desde el registro de la suscripción. |
installment |
Es el compromiso del plan de cuotas y la información relacionada con el estado del plan con renovación automática. |
SubscriptionItemPriceChangeDetails
Es información relacionada con el cambio de precio de un elemento de suscripción.
Representación JSON |
---|
{ "newPrice": { object ( |
Campos | |
---|---|
new |
Es el nuevo precio recurrente del elemento de suscripción. |
price |
El modo de cambio de precio especifica cómo cambia el precio del elemento de suscripción. |
price |
Es el estado en el que se encuentra el cambio de precio. |
expected |
Es la fecha y hora de renovación en la que entrará en vigencia el cambio de precio para el usuario. Puede cambiar(en un momento futuro) en los casos en los que se modifique la fecha y hora de renovación, como cuando se realiza una pausa. Este campo solo se completa si no se aplicó 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 |
No se especificó el modo de cambio de precio. Nunca se debe establecer este valor. |
PRICE_DECREASE |
Indica si el precio de la suscripción está disminuyendo. |
PRICE_INCREASE |
Indica si el precio de la suscripción está aumentando, y el usuario debe establecer si lo acepta. |
OPT_OUT_PRICE_INCREASE |
Indica si el precio de la suscripción está aumentando, y está disponible el modo de inhabilitación. |
PriceChangeState
Es el estado del cambio de precio.
Enumeraciones | |
---|---|
PRICE_CHANGE_STATE_UNSPECIFIED |
No se especificó el estado del cambio de precio. No se debe usar este valor. |
OUTSTANDING |
Se espera que el usuario acepte el cambio de precio. |
CONFIRMED |
Se confirmó que cambiará el precio para el usuario. |
APPLIED |
Se aplicó el cambio de precio, es decir, se le empezó a cobrar el precio nuevo al usuario. |
InstallmentPlan
Es información sobre un plan de cuotas.
Representación JSON |
---|
{
"initialCommittedPaymentsCount": integer,
"subsequentCommittedPaymentsCount": integer,
"remainingCommittedPaymentsCount": integer,
"pendingCancellation": {
object ( |
Campos | |
---|---|
initial |
Es la cantidad total de pagos que el usuario se comprometió a realizar inicialmente. |
subsequent |
Es la cantidad total de pagos que el usuario deberá realizar después de cada período de compromiso. Si está vacío, significa que el plan de cuotas volverá a ser una suscripción con renovación automática normal después del compromiso inicial. |
remaining |
Es la cantidad total de pagos restantes que deben hacerse en este ciclo de renovación según el compromiso tomado. |
pending |
Si está presente, significa que el plan de cuotas está pendiente de cancelación. y esta se producirá solo después de que el usuario termine de realizar todos los pagos a los que se comprometió. |
PendingCancellation
Este tipo no tiene campos.
Indica si hay una cancelación pendiente en el plan de cuotas virtual, y esta se producirá solo después de que el usuario termine de realizar todos los pagos a los que se comprometió.
PrepaidPlan
Es información relacionada con un plan prepagado.
Representación JSON |
---|
{ "allowExtendAfterTime": string } |
Campos | |
---|---|
allow |
Si está presente, es la fecha y hora a partir de la cual se permiten las compras de recargas del 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
Es información detallada de una oferta relacionada con un concepto de la compra.
Representación JSON |
---|
{ "offerTags": [ string ], "basePlanId": string, "offerId": string } |
Campos | |
---|---|
offer |
Son las etiquetas más recientes asociadas con la oferta. Incluye etiquetas heredadas del plan básico. |
base |
Es el ID del plan básico. Está presente para todas las ofertas y planes básicos. |
offer |
Es el ID de la oferta. Solo está presente para las ofertas con descuento. |
DeferredItemReplacement
Es información relacionada con el reemplazo diferido del elemento.
Representación JSON |
---|
{ "productId": string } |
Campos | |
---|---|
product |
Es el campo productId que reemplazará al existente. |
SignupPromotion
Es la promoción que se aplicó a este artículo cuando se compró.
Representación JSON |
---|
{ // Union field |
Campos | |
---|---|
Campo de unión promotion_type . Es el tipo de promoción que se aplica al artículo. Las direcciones (promotion_type ) solo pueden ser una de las siguientes opciones: |
|
one |
Se aplicó un código de uso único. |
vanity |
Se aplicó un código personalizado. |
OneTimeCode
Este tipo no tiene campos.
Un código promocional de un solo uso.
VanityCode
Es un código promocional predefinido de varios usos.
Representación JSON |
---|
{ "promotionCode": string } |
Campos | |
---|---|
promotion |
El código promocional |
Métodos |
|
---|---|
|
Obtén metadatos sobre una suscripción |
|
Revoca la compra de una suscripción para el usuario. |