REST Resource: purchases.subscriptionsv2

Recurso: SubscriptionPurchaseV2

Indica o status da compra da assinatura de um usuário.

Representação 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

Esse tipo representa um objeto SubscriptionPurchaseV2 no serviço androidpublisher.

regionCode

string

Código ISO 3166-1 alfa-2 do país/da região de faturamento do usuário no momento em que a assinatura foi concedida.

lineItems[]

object (SubscriptionPurchaseLineItem)

Informações no nível do item para uma compra de assinatura. Os itens de uma mesma compra precisam ter o AutoRenewingPlan ou todos com o PrepaidPlan.

startTime

string (Timestamp format)

Horário em que a assinatura foi concedida. Não definido para assinaturas pendentes (a assinatura foi criada, mas aguardando pagamento durante a inscrição).

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

subscriptionState

enum (SubscriptionState)

O estado atual da assinatura.

latestOrderId

string

O código do pedido mais recente associado à compra da assinatura. Para a assinatura de renovação automática, este é o código do pedido de inscrição, caso ele ainda não tenha sido renovado, ou o código do último pedido recorrente (pedido concluído, pendente ou recusado). Para assinaturas pré-pagas, este é o ID do pedido associado ao token de compra consultado.

linkedPurchaseToken

string

O token de compra da assinatura antiga, se ela for uma das seguintes: * Nova assinatura de uma assinatura cancelada, mas não expirada * Upgrade/downgrade de uma assinatura anterior. * Converta uma assinatura pré-paga para uma assinatura com renovação automática. * Converter de uma assinatura com renovação automática para pré-paga. * Recarregue uma assinatura pré-paga.

pausedStateContext

object (PausedStateContext)

Mais contexto sobre assinaturas pausadas. Presente apenas se a assinatura tiver subscriptionState SUBSCRIPTION_STATE_PAUSED.

canceledStateContext

object (CanceledStateContext)

Mais contexto sobre assinaturas canceladas. Presente apenas se a assinatura tiver subscriptionState SUBSCRIPTION_STATE_CANCELED ou SUBSCRIPTION_STATE_EXPIRED.

testPurchase

object (TestPurchase)

Presente apenas se a compra de assinatura for um teste.

acknowledgementState

enum (AcknowledgementState)

O estado de confirmação da assinatura.

externalAccountIdentifiers

object (ExternalAccountIdentifiers)

Identificador da conta de usuário no serviço de terceiros.

subscribeWithGoogleInfo

object (SubscribeWithGoogleInfo)

Perfil de usuário associado a compras feitas com o "Assine com o Google".

SubscriptionState

Os possíveis estados em que uma assinatura pode estar, por exemplo, se está ativa ou cancelada. Os itens incluídos em uma compra de assinatura podem ser todos os planos pré-pagos ou com renovação automática.

Tipos enumerados
SUBSCRIPTION_STATE_UNSPECIFIED Estado da assinatura não especificado.
SUBSCRIPTION_STATE_PENDING A assinatura foi criada, mas aguardando o pagamento durante o processo. Neste estado, todos os itens estão aguardando pagamento.
SUBSCRIPTION_STATE_ACTIVE A assinatura está ativa. - (1) Se a assinatura for um plano com renovação automática, pelo menos um item estará autoRenewEnabled e não expirou. - (2) Se a assinatura for um plano pré-pago, pelo menos um item não expirou.
SUBSCRIPTION_STATE_PAUSED A assinatura está pausada. O estado só fica disponível quando a assinatura é de um plano com renovação automática. Nesse estado, todos os itens ficam pausados.
SUBSCRIPTION_STATE_IN_GRACE_PERIOD A assinatura está no período de carência. O estado só fica disponível quando a assinatura é de um plano com renovação automática. Nesse estado, todos os itens estão no período de carência.
SUBSCRIPTION_STATE_ON_HOLD A assinatura está em espera (suspensa). O estado só fica disponível quando a assinatura é de um plano com renovação automática. Nesse estado, todos os itens ficam retidos.
SUBSCRIPTION_STATE_CANCELED A assinatura foi cancelada, mas ainda não expirou. O estado só fica disponível quando a assinatura é de um plano com renovação automática. Todos os itens têm autoRenewEnabled definido como falso.
SUBSCRIPTION_STATE_EXPIRED A assinatura expirou. Todos os itens têm um expiryTime no passado.
SUBSCRIPTION_STATE_PENDING_PURCHASE_CANCELED A transação pendente da assinatura foi cancelada. Se esta compra pendente foi de uma assinatura existente, use linkedPurchaseToken para ver o estado atual da assinatura.

PausedStateContext

Informações específicas de uma assinatura em estado pausado.

Representação JSON
{
  "autoResumeTime": string
}
Campos
autoResumeTime

string (Timestamp format)

Horário em que a assinatura será retomada automaticamente.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

CanceledStateContext

Informações específicas de uma assinatura no estado SUBSCRIPTION_STATE_CANCELED ou SUBSCRIPTION_STATE_EXPIRED.

Representação 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ão cancellation_reason. O motivo do cancelamento da assinatura. cancellation_reason só pode ser de um dos seguintes tipos:
userInitiatedCancellation

object (UserInitiatedCancellation)

A assinatura foi cancelada pelo usuário.

systemInitiatedCancellation

object (SystemInitiatedCancellation)

A assinatura foi cancelada pelo sistema, por exemplo, devido a um problema de faturamento.

developerInitiatedCancellation

object (DeveloperInitiatedCancellation)

A assinatura foi cancelada pelo desenvolvedor.

replacementCancellation

object (ReplacementCancellation)

A assinatura foi substituída por uma nova.

UserInitiatedCancellation

Informações específicas sobre cancelamentos iniciados pelos usuários.

Representação JSON
{
  "cancelSurveyResult": {
    object (CancelSurveyResult)
  },
  "cancelTime": string
}
Campos
cancelSurveyResult

object (CancelSurveyResult)

Informações fornecidas pelo usuário quando ele conclui o fluxo de cancelamento da assinatura (pesquisa de motivo do cancelamento).

cancelTime

string (Timestamp format)

A hora em que a assinatura foi cancelada pelo usuário. O usuário ainda pode ter acesso à assinatura depois desse período. Use lineItems.expiry_time para determinar se um usuário ainda tem acesso.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

CancelSurveyResult

Resultado da pesquisa de cancelamento quando a assinatura foi cancelada pelo usuário.

Representação JSON
{
  "reason": enum (CancelSurveyReason),
  "reasonUserInput": string
}
Campos
reason

enum (CancelSurveyReason)

O motivo que o usuário selecionou na pesquisa de cancelamento.

reasonUserInput

string

Definido apenas para CANCEL_SURVEY_REASON_OTHERS. Esta é a resposta livre do usuário à pesquisa.

CancelSurveyReason

O motivo que o usuário selecionou na pesquisa de cancelamento.

Tipos enumerados
CANCEL_SURVEY_REASON_UNSPECIFIED Motivo de cancelamento da pesquisa não especificado.
CANCEL_SURVEY_REASON_NOT_ENOUGH_USAGE Não há uso suficiente da assinatura.
CANCEL_SURVEY_REASON_TECHNICAL_ISSUES Problemas técnicos durante o uso do app.
CANCEL_SURVEY_REASON_FOUND_BETTER_APP O usuário encontrou um app melhor.
CANCEL_SURVEY_REASON_OTHERS Outros motivos.

SystemInitiatedCancellation

Esse tipo não tem campos.

Informações específicas para cancelamentos iniciados pelo sistema do Google.

DeveloperInitiatedCancellation

Esse tipo não tem campos.

Informações específicas sobre cancelamentos iniciados pelos desenvolvedores.

ReplacementCancellation

Esse tipo não tem campos.

Informações específicas sobre cancelamentos causados pela substituição da assinatura.

TestPurchase

Esse tipo não tem campos.

Indica se esta compra de assinatura é um teste.

AcknowledgementState

Os possíveis estados de confirmação de uma assinatura.

Tipos enumerados
ACKNOWLEDGEMENT_STATE_UNSPECIFIED Estado de confirmação não especificado.
ACKNOWLEDGEMENT_STATE_PENDING A assinatura ainda não foi confirmada.
ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED A assinatura foi confirmada.

ExternalAccountIdentifiers

Identificador da conta de usuário no serviço de terceiros.

Representação JSON
{
  "externalAccountId": string,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string
}
Campos
externalAccountId

string

Identificador da conta de usuário no serviço de terceiros. Presente apenas se a vinculação da conta tiver ocorrido como parte do fluxo de compra da assinatura.

obfuscatedExternalAccountId

string

Uma versão ofuscada do código que é exclusivamente associada à conta do usuário no seu app. Presente nas seguintes compras: * Se a vinculação da conta aconteceu como parte do fluxo de compra da assinatura. * Ele foi especificado usando https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid quando a compra foi feita.

obfuscatedExternalProfileId

string

Uma versão ofuscada do ID que é exclusivamente associada ao perfil do usuário no seu app. Presente apenas se especificada usando https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid quando a compra foi feita.

SubscribeWithGoogleInfo

Informações associadas a compras feitas com o "Assine com o Google".

Representação JSON
{
  "profileId": string,
  "profileName": string,
  "emailAddress": string,
  "givenName": string,
  "familyName": string
}
Campos
profileId

string

O ID do perfil do Google do usuário quando a assinatura foi comprada.

profileName

string

É o nome do perfil do usuário quando a assinatura foi comprada.

emailAddress

string

É o endereço de e-mail do usuário quando a assinatura foi comprada.

givenName

string

É o nome do usuário quando a assinatura foi comprada.

familyName

string

O sobrenome do usuário quando a assinatura foi comprada.

SubscriptionPurchaseLineItem

Informações no nível do item para uma compra de assinatura.

Representação 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

O ID do produto comprado (por exemplo, "monthly001").

expiryTime

string (Timestamp format)

Horário em que a assinatura expirou ou vai expirar, a menos que o acesso seja estendido (por exemplo, renovação).

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

Campo de união plan_type. O tipo de plano de assinatura. plan_type só pode ser de um dos seguintes tipos:
autoRenewingPlan

object (AutoRenewingPlan)

O item é renovado automaticamente.

prepaidPlan

object (PrepaidPlan)

O item é pré-pago.

offerDetails

object (OfferDetails)

Detalhes da oferta para este item.

Campo de união deferred_item_change. O campo estará presente quando um item tiver uma alteração adiada. Ele pode ser removido ou substituído. deferred_item_change só pode ser de um dos seguintes tipos:
deferredItemReplacement

object (DeferredItemReplacement)

Informações para substituição de item adiado.

AutoRenewingPlan

Informações relacionadas a um plano com renovação automática.

Representação JSON
{
  "autoRenewEnabled": boolean,
  "priceChangeDetails": {
    object (SubscriptionItemPriceChangeDetails)
  },
  "installmentDetails": {
    object (InstallmentPlan)
  }
}
Campos
autoRenewEnabled

boolean

Se a assinatura estiver configurada para renovação automática, por exemplo, se o usuário não cancelou a assinatura

priceChangeDetails

object (SubscriptionItemPriceChangeDetails)

Informações sobre a última mudança de preço do item desde a inscrição.

installmentDetails

object (InstallmentPlan)

O compromisso do plano de parcelas e as informações relacionadas ao estado do plano com renovação automática.

SubscriptionItemPriceChangeDetails

Informações relacionadas à mudança de preço de um item de assinatura.

Representação JSON
{
  "newPrice": {
    object (Money)
  },
  "priceChangeMode": enum (PriceChangeMode),
  "priceChangeState": enum (PriceChangeState),
  "expectedNewPriceChargeTime": string
}
Campos
newPrice

object (Money)

Novo preço recorrente do item de assinatura.

priceChangeMode

enum (PriceChangeMode)

O modo de alteração de preço especifica como o preço do item de assinatura vai mudar.

priceChangeState

enum (PriceChangeState)

Informe a mudança de preço atual.

expectedNewPriceChargeTime

string (Timestamp format)

A hora da renovação em que a mudança de preço entrará em vigor para o usuário. Isso está sujeito a alterações(em um momento futuro) devido a casos em que o horário de renovação é alterado, como uma pausa. Esse campo só será preenchido se a mudança de preço não tiver entrado em vigor.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

PriceChangeMode

O modo de mudança de preço.

Tipos enumerados
PRICE_CHANGE_MODE_UNSPECIFIED Modo de mudança de preço não especificado. Esse valor nunca deve ser definido.
PRICE_DECREASE Se o preço da assinatura estiver diminuindo.
PRICE_INCREASE Se o preço da assinatura estiver aumentando e o usuário precisar aceitá-la.
OPT_OUT_PRICE_INCREASE Se o preço da assinatura está aumentando com o modo "Desativar".

PriceChangeState

O estado da mudança de preço.

Tipos enumerados
PRICE_CHANGE_STATE_UNSPECIFIED Estado da mudança de preço não especificado. Esse valor não deve ser usado.
OUTSTANDING Aguardando o usuário concordar com a mudança de preço.
CONFIRMED A mudança de preço está confirmada para ocorrer para o usuário.
APPLIED A mudança de preço foi aplicada, ou seja, o usuário começou a receber a cobrança do novo preço.

InstallmentPlan

Informações sobre um plano de parcelamento.

Representação JSON
{
  "initialCommittedPaymentsCount": integer,
  "subsequentCommittedPaymentsCount": integer,
  "remainingCommittedPaymentsCount": integer,
  "pendingCancellation": {
    object (PendingCancellation)
  }
}
Campos
initialCommittedPaymentsCount

integer

Número total de pagamentos com os quais o usuário se compromete inicialmente.

subsequentCommittedPaymentsCount

integer

Número total de pagamentos com os quais o usuário será confirmado após cada período de compromisso. Em branco significa que o plano de parcelas voltará a ser uma assinatura de renovação automática normal após o compromisso inicial.

remainingCommittedPaymentsCount

integer

Número total de pagamentos do compromisso restantes a serem pagos no ciclo de renovação.

pendingCancellation

object (PendingCancellation)

Se presente, este plano de parcelas está pendente para ser cancelado. O cancelamento só vai acontecer depois que o usuário concluir todos os pagamentos confirmados.

PendingCancellation

Esse tipo não tem campos.

Indica se há um cancelamento pendente no plano de parcelamento virtual. O cancelamento só vai acontecer depois que o usuário concluir todos os pagamentos confirmados.

PrepaidPlan

Informações relacionadas a um plano pré-pago.

Representação JSON
{
  "allowExtendAfterTime": string
}
Campos
allowExtendAfterTime

string (Timestamp format)

Depois desse período, as compras de recarga são permitidas para o plano pré-pago. Ela não será exibida em planos pré-pagos expirados.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

OfferDetails

Informações de detalhes da oferta relacionadas a um item de linha de compra.

Representação JSON
{
  "offerTags": [
    string
  ],
  "basePlanId": string,
  "offerId": string
}
Campos
offerTags[]

string

As tags mais recentes associadas à oferta. Ela inclui tags herdadas do plano básico.

basePlanId

string

O ID do plano básico. Presente em todos os planos básicos e ofertas.

offerId

string

O ID da oferta. Presente apenas com ofertas com desconto.

DeferredItemReplacement

Informações relacionadas à substituição de itens adiados.

Representação JSON
{
  "productId": string
}
Campos
productId

string

O productId substituirá o productId existente.

Métodos

get

Receber metadados sobre uma assinatura

revoke

Revogar uma compra de assinatura do usuário.