REST Resource: purchases.subscriptionsv2

Recurso: SubscriptionPurchaseV2

Indica o status da compra de 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 do país/região de faturamento ISO 3166-1 alfa-2 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 da mesma compra devem ser todos com AutoRenewingPlan ou todos com PrepaidPlan.

startTime

string (Timestamp format)

Hora em que a assinatura foi concedida. Não definido para inscrições pendentes (assinatura 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 renovação automática de assinaturas, é o código do pedido de inscrição, caso ele ainda não tenha sido renovado, ou o último ID do pedido recorrente (pedido bem-sucedido, pendente ou recusado). Para assinaturas pré-pagas, é 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 prescrita. * Upgrade/downgrade de uma assinatura anterior. * Converter de pré-paga para uma assinatura com renovação automática. * Converter de uma assinatura com renovação automática para pré-paga. * Recarregar uma assinatura pré-paga.

pausedStateContext

object (PausedStateContext)

Mais contexto sobre assinaturas pausadas. Presente apenas se a assinatura tiver o subscriptionState SUBSCRIPTION_STATE_PAUSADO no momento.

canceledStateContext

object (CanceledStateContext)

Mais contexto sobre assinaturas canceladas. Só estará presente se a assinatura tiver atualmente subscriptionState SUBSCRIPTION_STATE_CANCELED ou SUBSCRIPTION_STATE_EXPIRED.

testPurchase

object (TestPurchase)

Presente apenas se a compra da assinatura for de teste.

acknowledgementState

enum (AcknowledgementState)

O estado de confirmação da assinatura.

externalAccountIdentifiers

object (ExternalAccountIdentifiers)

Identificador de 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 em uma compra de assinatura podem ser planos pré-pagos ou de renovação automática.

Enums
SUBSCRIPTION_STATE_UNSPECIFIED Estado de assinatura não especificado.
SUBSCRIPTION_STATE_PENDING A assinatura foi criada, mas aguardando pagamento durante a inscrição. Neste estado, todos os itens estão aguardando pagamento.
SUBSCRIPTION_STATE_ACTIVE A assinatura está ativa. - (1) Se a assinatura for um plano de renovação automática, pelo menos um item é 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 é um plano com renovação automática. Neste caso, todos os itens ficam em estado pausado.
SUBSCRIPTION_STATE_IN_GRACE_PERIOD A assinatura está no período de carência. O estado só fica disponível quando a assinatura é 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á suspensa (suspensa). O estado só fica disponível quando a assinatura é um plano com renovação automática. Neste caso, todos os itens são guardados.
SUBSCRIPTION_STATE_CANCELED A assinatura foi cancelada, mas ainda não expirou. O estado só fica disponível quando a assinatura é 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 essa compra pendente foi de uma assinatura existente, use linkedPurchaseToken para ver o estado atual dessa assinatura.

PausedStateContext

Informações específicas sobre 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 de uma assinatura. cancellation_reason pode ser apenas de um dos tipos a seguir:
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 sobre o motivo do cancelamento).

cancelTime

string (Timestamp format)

O horário em que a assinatura foi cancelada pelo usuário. Talvez o usuário ainda tenha acesso à assinatura após esse 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)

Motivo pelo qual 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

Motivo pelo qual o usuário selecionou na pesquisa de cancelamento.

Enums
CANCEL_SURVEY_REASON_UNSPECIFIED Motivo da pesquisa de cancelamento não especificado.
CANCEL_SURVEY_REASON_NOT_ENOUGH_USAGE Não há uso suficiente da assinatura.
CANCEL_SURVEY_REASON_TECHNICAL_ISSUES Problemas técnicos ao usar o 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 dos 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 de assinaturas.

TestPurchase

Esse tipo não tem campos.

Indica se esta compra de assinatura é de teste.

AcknowledgementState

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

Enums
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 de conta de usuário no serviço de terceiros.

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

string

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

obfuscatedExternalAccountId

string

Uma versão ofuscada do ID exclusivamente associada à conta do usuário no app. Presente com as seguintes compras: * Se a vinculação de contas tiver ocorrido como parte do fluxo de compra de 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 somente se especificado 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 pode ser apenas de um dos tipos a seguir:
autoRenewingPlan

object (AutoRenewingPlan)

O item está sendo renovado automaticamente.

prepaidPlan

object (PrepaidPlan)

O item é pré-pago.

offerDetails

object (OfferDetails)

Os detalhes da oferta deste item.

Campo de união deferred_item_change. O campo está presente quando um item tem uma alteração adiada. Ele pode ser removido ou substituído. deferred_item_change pode ser apenas de um dos tipos a seguir:
deferredItemReplacement

object (DeferredItemReplacement)

Informações sobre a substituição de itens adiados.

AutoRenewingPlan

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

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

boolean

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

priceChangeDetails

object (SubscriptionItemPriceChangeDetails)

As informações sobre a última mudança de preço do item desde a inscrição da assinatura.

installmentDetails

object (InstallmentPlan)

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

SubscriptionItemPriceChangeDetails

Informações relacionadas à mudança de preço de um item da 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 da assinatura.

priceChangeMode

enum (PriceChangeMode)

O modo de mudança de preço especifica como o preço do item de assinatura vai mudar.

priceChangeState

enum (PriceChangeState)

Indique a mudança de preço no momento.

expectedNewPriceChargeTime

string (Timestamp format)

O horário de renovação em que a mudança de preço entrará em vigor para o usuário. Isso está sujeito a alterações(futuramente) devido a casos em que o horário de renovação muda, 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 da mudança de preço.

Enums
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 Quando o preço da assinatura aumentar e o usuário precisar aceitá-lo.
OPT_OUT_PRICE_INCREASE Se o preço da assinatura aumentar com o modo de desativação.

PriceChangeState

O estado da mudança de preço.

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

InstallmentPlan

Informações para 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 o compromisso inicial do usuário.

subsequentCommittedPaymentsCount

integer

Número total de pagamentos que o usuário vai receber após cada período de compromisso. Vazio significa que o plano de parcelamento voltará a uma assinatura normal de renovação automática após o compromisso inicial.

remainingCommittedPaymentsCount

integer

Número total de pagamentos por compromisso a serem pagos neste ciclo de renovação.

pendingCancellation

object (PendingCancellation)

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

PendingCancellation

Esse tipo não tem campos.

Esse indicador indica se há um cancelamento pendente no plano de parcelamento virtual. O cancelamento acontecerá somente 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)

Se presente, esse é o momento em que as compras de recarga são permitidas para o plano pré-pago. Não vai estar disponível para 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 de oferta mais recentes associadas à oferta. Ele inclui tags herdadas do plano básico.

basePlanId

string

O ID do plano básico. Disponível para todos os planos básicos e ofertas.

offerId

string

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

DeferredItemReplacement

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

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

string

O productId vai substituir o productId existente.

Métodos

get

Receber metadados sobre uma assinatura

revoke

Revoga a compra de uma assinatura para o usuário.