- Recurso: SubscriptionPurchase
 - IntroductoryPriceInfo
 - SubscriptionCancelSurveyResult
 - SubscriptionPriceChange
 - Métodos
 
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 (  | 
              
| Campos | |
|---|---|
kind | 
                
                   
 Esse tipo representa um objeto subscriptionPurchase no serviço androidpublisher.  | 
              
startTimeMillis | 
                
                   
 O momento em que a assinatura foi concedida, em milissegundos desde a época.  | 
              
expiryTimeMillis | 
                
                   
 O momento em que a assinatura vai expirar, em milissegundos desde a época.  | 
              
autoResumeTimeMillis | 
                
                   
 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 | 
                
                   
 Indica se a assinatura será renovada automaticamente quando alcançar o prazo de validade atual.  | 
              
priceCurrencyCode | 
                
                   
 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 | 
                
                   
 É o preço da assinatura. Ele não inclui os tributos dependendo do país. Ele inclui os tributos dependendo do país. 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 | 
                
                   
 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 | 
                
                   
 País de faturamento ou código regional do usuário no formato ISO 3166-1 alpha-2, no momento em que a assinatura foi concedida.  | 
              
developerPayload | 
                
                   
 Uma string especificada pelo desenvolvedor que contém informações complementares sobre um pedido.  | 
              
paymentState | 
                
                   
 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 estará presente para assinaturas canceladas e expiradas.  | 
              
cancelReason | 
                
                   
 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 | 
                
                   
 Quando 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 | 
                
                   
 São as informações enviadas pelo usuário ao completar o fluxo de cancelamento de assinatura (a pesquisa sobre o motivo do cancelamento).  | 
              
orderId | 
                
                   
 O ID do último pedido recorrente associado à compra da assinatura. Se a assinatura foi cancelada devido a um pagamento recusado, esse campo será o ID do pedido correspondente.  | 
              
linkedPurchaseToken | 
                
                   
 O token da compra original se a assinatura for um dos tipos a seguir: 0. Reinscrição de uma assinatura cancelada, mas ativa, 1. Fazer 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 | 
                
                   
 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 | 
                
                   
 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 | 
                
                   
 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 | 
                
                   
 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 | 
                
                   
 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 | 
                
                   
 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 | 
                
                   
 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 | 
                
                   
 O estado de confirmação do produto por assinatura. Os valores possíveis são: 0. Ainda não foi confirmado; 1. Reconhecido  | 
              
externalAccountId | 
                
                   
 Identificador da conta de usuário no serviço de terceiros. Esse campo só está presente se a vinculação de contas tiver ocorrido em um fluxo de compra da assinatura.  | 
              
promotionType | 
                
                   
 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 | 
                
                   
 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 | 
                
                   
 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 | 
                
                   
 Uma versão ofuscada do ID que é exclusivamente associado 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.  | 
              
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 | 
                
                   
 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 | 
                
                   
 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 | 
                
                   
 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 | 
                
                   
 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 completar o fluxo de cancelamento de assinatura (a pesquisa sobre o motivo do cancelamento).
| Representação JSON | 
|---|
{ "cancelSurveyReason": integer, "userInputCancelReason": string }  | 
              
| Campos | |
|---|---|
cancelSurveyReason | 
                
                   
 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 | 
                
                   
 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 ( | 
              
| Campos | |
|---|---|
newPrice | 
                
                   
 O novo preço da assinatura na renovação se a mudança for aceita pelo usuário.  | 
              
state | 
                
                   
 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 | 
            |
|---|---|
                
 | 
              Confirma a compra de uma assinatura. | 
                
 | 
              Cancela a compra de assinatura de um usuário. | 
                
 | 
              Adia a compra de assinatura feita por um usuário até um prazo de validade futuro especificado. | 
                
(deprecated)  | 
              Descontinuado: use purchases.subscriptionsv2.get. | 
                
(deprecated)  | 
              Descontinuado: use "orders.refund". | 
                
(deprecated)  | 
              Descontinuado: use purchases.subscriptionsv2.revoke. | 
Códigos de erro
As operações desse recurso retornam os seguintes códigos de erro HTTP:
| Código do erro | Motivo | Resolução | 
|---|---|---|
5xx | 
  Erro genérico no servidor do Google Play. | Tente fazer a solicitação novamente.
     Se o problema persistir, entre em contato com seu gerente de contas do Google Play ou envie uma solicitação de suporte. Verifique o Painel de status do Google Play para conferir se há interrupções conhecidas.  | 
409 | 
  Erro de atualização de simultaneidade.
     Houve uma tentativa de atualizar um objeto que já estava sendo atualizado. Por exemplo, uma compra
      está sendo confirmada ao chamar o método   | 
  Tente fazer a solicitação novamente. | 
410 | 
  A compra da assinatura não está mais disponível para consulta porque expirou há muito tempo. | Gerado ao consultar uma assinatura expirada há mais de 60 dias. Não consulte mais essas assinaturas. |