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

País de faturamento ou código regional do usuário no formato ISO 3166-1 alfa-2, no momento em que a assinatura foi concedida.

lineItems[]

object (SubscriptionPurchaseLineItem)

Informações no nível do item sobre a compra de uma assinatura. Os itens na mesma compra precisam estar todos com "AutoRenewingPlan" ou com "PrepaidPlan".

startTime

string (Timestamp format)

Data e hora em que a assinatura foi concedida. Este campo não é definido para assinaturas pendentes (a assinatura foi criada, mas aguarda 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 ID do último pedido associado à compra da assinatura. Para assinaturas "autoRenewing", é o código do pedido de inscrição, caso ela ainda não tenha sido renovada, ou o código do último pedido recorrente (pedido bem-sucedido, pendente ou recusado). Para assinaturas pré-pagas, é o código do pedido associado ao token de compra consultado.

linkedPurchaseToken

string

O token de compra da assinatura antiga, caso ela seja de algum dos tipos a seguir: * Reinscrição de uma assinatura cancelada, mas ativa * Upgrade/downgrade de uma assinatura prévia. * Conversão de assinatura pré-paga para renovação automática. * Conversão de assinatura com renovação automática para pré-paga. * Recarregar uma assinatura pré-paga.

pausedStateContext

object (PausedStateContext)

Contexto adicional sobre assinaturas pausadas. Presente apenas se o "subscriptionState" da assinatura for SUBSCRIPTION_STATE_PAUSED.

canceledStateContext

object (CanceledStateContext)

Contexto adicional sobre assinaturas canceladas. Presente apenas se o subscriptionState da assinatura for SUBSCRIPTION_STATE_CANCELED ou SUBSCRIPTION_STATE_EXPIRED.

testPurchase

object (TestPurchase)

Presente apenas se esta 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 às compras feitas com o "Assine com o Google".

SubscriptionState

Os potenciais estados de uma assinatura. Por exemplo, ativa ou cancelada. Os itens de uma compra de assinatura podem ser todos planos com renovação automática ou planos pré-pagos.

Enums
SUBSCRIPTION_STATE_UNSPECIFIED Estado de assinatura não especificado.
SUBSCRIPTION_STATE_PENDING A assinatura foi criada, mas aguarda pagamento durante a inscrição. Neste estado, todos os itens aguardam pagamento.
SUBSCRIPTION_STATE_ACTIVE A assinatura está ativa. — (1) Se a assinatura for um plano com renovação automática, pelo menos um item será "autoRenewEnabled" e válido. — (2) Se a assinatura for um plano pré-pago, pelo menos um item será válido.
SUBSCRIPTION_STATE_PAUSED A assinatura está pausada. Este estado só fica disponível quando a assinatura é um plano com renovação automática. Neste estado, todos os itens também estão pausados.
SUBSCRIPTION_STATE_IN_GRACE_PERIOD A assinatura está no período de carência. Este estado só fica disponível quando a assinatura é um plano com renovação automática. Neste estado, todos os itens também estão no período de carência.
SUBSCRIPTION_STATE_ON_HOLD A assinatura está pausada (suspensa). Este estado só fica disponível quando a assinatura é um plano com renovação automática. Neste estado, todos os itens também estão pausados.
SUBSCRIPTION_STATE_CANCELED A assinatura foi cancelada, mas ainda não expirou. Este estado só fica disponível quando a assinatura é um plano com renovação automática. Todos os itens têm "autoRenewEnabled" definido como "false".
SUBSCRIPTION_STATE_EXPIRED A assinatura expirou. O "expiryTime" de todos os itens está no passado.
SUBSCRIPTION_STATE_PENDING_PURCHASE_CANCELED Uma transação pendente para a assinatura foi cancelada. Se essa compra pendente era para uma assinatura existente, use "linkedPurchaseToken" para receber o estado atual da assinatura.

PausedStateContext

Informações específicas sobre uma assinatura no estado pausado.

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

string (Timestamp format)

Data e hora em que a assinatura será automaticamente retomada.

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 sobre 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, por causa de 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 feitos por usuários.

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

object (CancelSurveyResult)

São as informações enviadas pelo usuário ao concluir o fluxo de cancelamento de assinatura (a pesquisa sobre o motivo do cancelamento).

cancelTime

string (Timestamp format)

A data e a hora em que a assinatura foi cancelada pelo usuário. Talvez o usuário ainda tenha acesso à assinatura após esse momento. 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 quando a assinatura foi cancelada pelo usuário.

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

enum (CancelSurveyReason)

O motivo selecionado pelo usuário na pesquisa de cancelamento.

reasonUserInput

string

Definido apenas para CANCEL_SURVEY_REASON_OTHERS. Esta é a resposta livre dada pelo usuário na pesquisa.

CancelSurveyReason

O motivo selecionado pelo usuário na pesquisa de cancelamento.

Enums
CANCEL_SURVEY_REASON_UNSPECIFIED Motivo não especificado.
CANCEL_SURVEY_REASON_NOT_ENOUGH_USAGE O usuário não usou muito a 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 sobre cancelamentos iniciados pelo sistema do Google.

DeveloperInitiatedCancellation

Esse tipo não tem campos.

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

ReplacementCancellation

Esse tipo não tem campos.

Informações específicas sobre cancelamentos causados por substituição de assinatura.

TestPurchase

Esse tipo não tem campos.

Indica se esta compra de assinatura foi um 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 reconhecida.
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 de contas tiver ocorrido como parte de um fluxo de compra da assinatura.

obfuscatedExternalAccountId

string

Uma versão ofuscada do ID que é exclusivamente associado com a conta do usuário no seu app. Presente nas seguintes compras: * Se a vinculação de contas tiver ocorrido no fluxo de compra da assinatura. * Foi especificada 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 associado com o 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 sobre a compra de uma 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.
  "signupPromotion": {
    object (SignupPromotion)
  }
}
Campos
productId

string

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

expiryTime

string (Timestamp format)

Data e hora em que a assinatura expirou ou vai expirar, a não ser que o acesso seja estendido (por exemplo, renovações).

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 tem renovação automática.

prepaidPlan

object (PrepaidPlan)

O item é pré-pago.

offerDetails

object (OfferDetails)

Os detalhes da oferta para esse item.

Campo de união deferred_item_change. O campo está presente quando um item tem uma mudança 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 para a substituição do item adiado.

signupPromotion

object (SignupPromotion)

Detalhes da promoção sobre o item. Só é definido se uma promoção foi aplicada durante a inscrição.

AutoRenewingPlan

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

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

boolean

Se a assinatura está definida para renovação automática.Por exemplo, o usuário não cancelou a assinatura.

recurringPrice

object (Money)

O preço recorrente atual do plano com renovação automática.

priceChangeDetails

object (SubscriptionItemPriceChangeDetails)

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

installmentDetails

object (InstallmentPlan)

A fidelidade do plano de parcelas e informações sobre o estado do plano com renovação automática.

SubscriptionItemPriceChangeDetails

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

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

object (Money)

Novo preço recorrente para o item de 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)

Estado atual da mudança de preço.

expectedNewPriceChargeTime

string (Timestamp format)

A data e a hora em que a mudança de preço vai entrar em vigor para o usuário. Sujeito a mudanças(para um momento futuro) devido a casos em que o horário da renovação é alterado, como em pausas. Esse campo só é preenchido se a mudança de preço ainda 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 pode ser definido.
PRICE_DECREASE Se o preço da assinatura está diminuindo.
PRICE_INCREASE Se o preço da assinatura está aumentando e o usuário precisa aceitar.
OPT_OUT_PRICE_INCREASE Se o preço da assinatura está aumentando com o modo "recusar".

PriceChangeState

O estado da mudança de preço.

Enums
PRICE_CHANGE_STATE_UNSPECIFIED Estado da mudança de preço não especificado. Este valor não deve ser usado.
OUTSTANDING Esperando o usuário aceitar a mudança de preço.
CONFIRMED A mudança de preço está confirmada e vai acontecer para o usuário.
APPLIED A mudança de preço foi aplicada. Por exemplo, o novo preço já está sendo cobrado do usuário.

InstallmentPlan

Informações sobre um plano parcelado.

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

integer

O número total de parcelas que o usuário se comprometeu a pagar inicialmente.

subsequentCommittedPaymentsCount

integer

O número total de parcelas que o usuário vai precisar pagar depois de cada período de fidelidade. Um campo vazio significa que o plano parcelado vai voltar a ser uma assinatura normal com renovação automática depois da fidelidade inicial.

remainingCommittedPaymentsCount

integer

O número total de parcelas que ainda precisam ser pagas neste ciclo de renovação.

pendingCancellation

object (PendingCancellation)

Se estiver presente, o cancelamento deste plano parcelado está pendente. O cancelamento vai acontecer apenas depois de o usuário terminar de pagar todas as parcelas.

PendingCancellation

Esse tipo não tem campos.

Indica se há um cancelamento pendente no plano parcelado virtual. O cancelamento vai acontecer apenas depois de o usuário terminar de pagar todas as parcelas.

PrepaidPlan

Informações sobre um plano pré-pago.

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

string (Timestamp format)

Se presente, é o momento em que recargas são permitidas para o plano pré-pago. Não estará presente 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 sobre detalhes de ofertas relacionadas a um item de linha de compra.

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

string

As últimas tags associadas à oferta. 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 em ofertas com desconto.

DeferredItemReplacement

Informações relacionadas à substituição de item adiada.

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

string

O "productId" que vai substituir o "productId" atual.

SignupPromotion

A promoção aplicada a esse item quando ele foi comprado.

Representação JSON
{

  // Union field promotion_type can be only one of the following:
  "oneTimeCode": {
    object (OneTimeCode)
  },
  "vanityCode": {
    object (VanityCode)
  }
  // End of list of possible types for union field promotion_type.
}
Campos
Campo de união promotion_type. O tipo de promoção aplicada ao item. promotion_type pode ser apenas de um dos tipos a seguir:
oneTimeCode

object (OneTimeCode)

Um código único foi aplicado.

vanityCode

object (VanityCode)

Um código de vaidade foi aplicado.

OneTimeCode

Esse tipo não tem campos.

Um código promocional de uso único.

VanityCode

Um código promocional predefinido para vários usos.

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

string

O código promocional.

Métodos

get

Receber metadados sobre uma assinatura

revoke

Revoga a compra de assinatura do usuário.