REST Resource: purchases.subscriptions

Recurso: SubscriptionPurchase

Um recurso SubscriptionPurchase indica o status da compra de assinatura de um usuário.

Representação JSON
{
  "kind": string,
  "startTimeMillis": string,
  "expiryTimeMillis": string,
  "autoResumeTimeMillis": string,
  "autoRenewing": boolean,
  "priceCurrencyCode": string,
  "priceAmountMicros": string,
  "introductoryPriceInfo": {
    object (IntroductoryPriceInfo)
  },
  "countryCode": string,
  "developerPayload": string,
  "paymentState": integer,
  "cancelReason": integer,
  "userCancellationTimeMillis": string,
  "cancelSurveyResult": {
    object (SubscriptionCancelSurveyResult)
  },
  "orderId": string,
  "linkedPurchaseToken": string,
  "purchaseType": integer,
  "priceChange": {
    object (SubscriptionPriceChange)
  },
  "profileName": string,
  "emailAddress": string,
  "givenName": string,
  "familyName": string,
  "profileId": string,
  "acknowledgementState": integer,
  "externalAccountId": string,
  "promotionType": integer,
  "promotionCode": string,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string
}
Campos
kind

string

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

startTimeMillis

string (int64 format)

O momento em que a assinatura foi concedida, em milissegundos desde a época.

expiryTimeMillis

string (int64 format)

O momento em que a assinatura vai expirar, em milissegundos desde a época.

autoResumeTimeMillis

string (int64 format)

O momento em que a assinatura será retomada automaticamente, em milissegundos desde a época. Esse campo só estará presente se o usuário solicitou a pausa da assinatura.

autoRenewing

boolean

Indica se a assinatura será renovada automaticamente quando alcançar o prazo de validade atual.

priceCurrencyCode

string

Código da moeda ISO 4217 para o preço da assinatura. Por exemplo, se o preço for especificado em libras esterlinas, o campo "priceCurrencyCode" será "GBP".

priceAmountMicros

string (int64 format)

É o preço da assinatura. Dependendo do país, ele pode incluir ou não os tributos. Para países que incluem tributos, o preço inclui tributos. O preço é expresso em microunidades, sendo que 1 milhão de microunidades representa uma unidade da moeda. Por exemplo, se o preço da assinatura for € 1,99, o campo "priceAmountMicros" será "1990000".

introductoryPriceInfo

object (IntroductoryPriceInfo)

São as informações de preço inicial da assinatura. Esse campo só estará presente quando a assinatura for comprada com um preço inicial.

Não indica se a assinatura está atualmente no período de preço inicial.

countryCode

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.

developerPayload

string

Uma string especificada pelo desenvolvedor que contém informações complementares sobre um pedido.

paymentState

integer

O estado do pagamento da assinatura. Os valores possíveis são: 0. Pagamento pendente, 1. Pagamento recebido, 2. Teste sem custo financeiro 3. Upgrade/downgrade adiado pendente.

Esse campo não está presente em assinaturas canceladas e expiradas.

cancelReason

integer

O motivo para o cancelamento ou a não renovação automática da assinatura. Os valores possíveis são: 0. O usuário cancelou a assinatura 1. A assinatura foi cancelada pelo sistema, por exemplo, por causa de um problema de faturamento, 2. A assinatura foi substituída por uma nova, 3. A assinatura foi cancelada pelo desenvolvedor.

userCancellationTimeMillis

string (int64 format)

A data e a hora em que a assinatura foi cancelada pelo usuário, em milissegundos, desde o início da época. Só estará presente se o campo "cancelReason" for 0.

cancelSurveyResult

object (SubscriptionCancelSurveyResult)

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

orderId

string

O ID do último pedido recorrente associado à compra da assinatura. Se a assinatura foi cancelada devido a um pagamento recusado, esse campo será o código do pedido correspondente.

linkedPurchaseToken

string

O token da compra original se a assinatura for um dos tipos a seguir: 0. Reinscrição de uma assinatura cancelada, mas ativa, 1. Upgrade/downgrade de uma assinatura anterior.

Por exemplo, um usuário se inscreve originalmente e você recebe o token de compra X. Depois, esse usuário cancela e passa pelo fluxo de reinscrição (antes de a assinatura expirar) e você recebe o token de compra Y. Por fim, o usuário faz upgrade da assinatura e você recebe o token de compra Z. Se você chamar a API com o token de compra Z, esse campo será definido como "Y". Se você chamar a API com o token de compra Y, esse campo será definido como X. Se você chamar a API com o token de compra X, esse campo não será definido.

purchaseType

integer

O tipo de compra da assinatura. Este campo só é definido se a compra não foi feita usando o fluxo de faturamento no app padrão. Os valores possíveis são: 0. Teste (compra feita com uma conta de teste de licença), 1. Promoção (compra feita com um código promocional).

priceChange

object (SubscriptionPriceChange)

São as últimas informações de mudança de preço disponíveis. Esse campo só está presente quando uma mudança de preço da assinatura ainda será aplicada.

Depois que a assinatura for renovada com o novo preço ou for cancelada, não será retornada nenhuma informação de mudança de preço.

profileName

string

O nome do perfil do usuário quando a assinatura foi comprada. Esse campo só está presente para compras feitas com o recurso Assine com o Google.

emailAddress

string

O endereço de e-mail do usuário quando a assinatura foi comprada. Esse campo só está presente para compras feitas com o recurso Assine com o Google.

givenName

string

O nome do usuário quando a assinatura foi comprada. Esse campo só está presente para compras feitas com o recurso Assine com o Google.

familyName

string

O sobrenome do usuário quando a assinatura foi comprada. Esse campo só está presente para compras feitas com o recurso Assine com o Google.

profileId

string

O ID do perfil do Google do usuário quando a assinatura foi comprada. Esse campo só está presente para compras feitas com o recurso Assine com o Google.

acknowledgementState

integer

O estado de confirmação do produto por assinatura. Os valores possíveis são: 0. Ainda não foi confirmado; 1. Reconhecido

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.

promotionType

integer

O tipo de promoção aplicado a essa compra. Esse campo só é definido se uma promoção é usada durante a compra da assinatura. Os valores possíveis são: 0. Código único, 1. Código personalizado

promotionCode

string

O código promocional aplicado a essa compra. Esse campo só é definido se uma promoção de código personalizado é usada durante a 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.

IntroductoryPriceInfo

Contém as informações de preço inicial para uma assinatura.

Representação JSON
{
  "introductoryPriceCurrencyCode": string,
  "introductoryPriceAmountMicros": string,
  "introductoryPricePeriod": string,
  "introductoryPriceCycles": integer
}
Campos
introductoryPriceCurrencyCode

string

Código da moeda ISO 4217 para o preço inicial da assinatura. Por exemplo, se o preço for especificado em libras esterlinas, o campo "priceCurrencyCode" será "GBP".

introductoryPriceAmountMicros

string (int64 format)

Preço inicial da assinatura, sem os tributos. A moeda é igual a priceCurrencyCode. O preço é expresso em microunidades, sendo que 1 milhão de microunidades representa uma unidade da moeda. Por exemplo, se o preço da assinatura for € 1,99, o campo "priceAmountMicros" será "1990000".

introductoryPricePeriod

string

Período do preço inicial, especificado no formato ISO 8601. Os valores comuns são, sem limitação, "P1W" (uma semana), "P1M" (um mês), "P3M" (três meses), "P6M" (seis meses) e "P1Y" (um ano).

introductoryPriceCycles

integer

O número de períodos de faturamento para oferecer o preço inicial.

SubscriptionCancelSurveyResult

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

Representação JSON
{
  "cancelSurveyReason": integer,
  "userInputCancelReason": string
}
Campos
cancelSurveyReason

integer

O motivo de cancelamento que o usuário escolheu na pesquisa. Os valores possíveis são: 0. Outro 1. Não uso o serviço com frequência, 2. Problemas técnicos, 3. Razões financeiras, 4. Descobri um app melhor

userInputCancelReason

string

O motivo do cancelamento personalizado inserido pelo usuário. Só estará presente se o campo "cancelReason" for 0.

SubscriptionPriceChange

Contém as informações de mudança de preço na assinatura que podem ser usadas para controlar a jornada do usuário no app. Isso pode ser feito, por exemplo, buscando a confirmação do usuário ou personalizando a experiência para uma conversão bem-sucedida.

Representação JSON
{
  "newPrice": {
    object (Price)
  },
  "state": integer
}
Campos
newPrice

object (Price)

O novo preço da assinatura na renovação se a mudança for aceita pelo usuário.

state

integer

O estado atual da mudança de preço. Os valores possíveis são: 0. Pendente: aguardando o usuário confirmar a mudança de preço. Nesse estado, você pode buscar a confirmação do usuário usando a API no app. 1. Aceito: a mudança de preço foi aceita para a renovação da assinatura, a menos que seja cancelada. Ela vai entrar em vigor em uma data futura quando a assinatura for renovada. Essa mudança pode não ocorrer na próxima renovação.

Métodos

acknowledge

Confirma a compra de uma assinatura.

cancel

Cancela a compra de assinatura de um usuário.

defer

Adia a compra de assinatura feita por um usuário até um prazo de validade futuro especificado.

get

Verifica se a compra de assinatura feita por um usuário é válida e retorna o prazo de validade.

refund

Reembolsa a compra de assinatura feita por um usuário, mas a assinatura permanece válida até o prazo de validade e continua sendo recorrente.

revoke

Reembolsa e imediatamente revoga a compra de assinatura feita por um usuário.