REST Resource: purchases.subscriptionsv2

Risorsa: SubscriptionPurchaseV2

Indica lo stato dell'acquisto dell'abbonamento da parte di un utente.

Rappresentazione 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)
  }
}
Campi
kind

string

Questo tipo rappresenta un oggetto SubscriptionPurchaseV2 nel servizio androidpublisher.

regionCode

string

Il codice paese/regione di fatturazione ISO 3166-1 alpha-2 dell'utente al momento della concessione dell'abbonamento.

lineItems[]

object (SubscriptionPurchaseLineItem)

Informazioni a livello di articolo per l'acquisto di un abbonamento. Gli articoli dello stesso acquisto devono essere tutti con AutoRenewingPlan o tutti con PaymentPlan.

startTime

string (Timestamp format)

Ora in cui è stato concesso l'abbonamento. Non impostato per gli abbonamenti in attesa (l'abbonamento è stato creato, ma è in attesa di pagamento durante la registrazione).

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

subscriptionState

enum (SubscriptionState)

Lo stato attuale dell'abbonamento.

latestOrderId

string

L'ID dell'ultimo ordine associato all'acquisto dell'abbonamento. Per l'abbonamento con rinnovo automatico, si tratta dell'ID dell'ordine di registrazione (se non è ancora stato rinnovato) oppure dell'ID dell'ultimo ordine ricorrente (ordine riuscito, in attesa o rifiutato). Per l'abbonamento prepagato, si tratta dell'ID ordine associato al token di acquisto per cui è stata eseguita la query.

linkedPurchaseToken

string

Il token di acquisto dell'abbonamento precedente, se questo è uno dei seguenti: * Nuova registrazione di un abbonamento annullato ma non scaduto * Upgrade/downgrade da un abbonamento precedente. * Passa da un abbonamento prepagato a un abbonamento con rinnovo automatico. * Passa da un abbonamento con rinnovo automatico a un abbonamento prepagato. * Ricaricare un abbonamento prepagato.

pausedStateContext

object (PausedStateContext)

Contesto aggiuntivo sugli abbonamenti in pausa. Presente solo se l'abbonamento al momento ha il valore subscriptionState SUBSCRIPTION_STATE_PAused.

canceledStateContext

object (CanceledStateContext)

Contesto aggiuntivo sugli abbonamenti annullati. Presente solo se l'abbonamento al momento ha il valore subscriptionState SUBSCRIPTION_STATE_CANCELED.

testPurchase

object (TestPurchase)

Presente solo se l'acquisto di questo abbonamento è un acquisto di prova.

acknowledgementState

enum (AcknowledgementState)

Lo stato di accettazione dell'abbonamento.

externalAccountIdentifiers

object (ExternalAccountIdentifiers)

Identificatore dell'account utente nel servizio di terze parti.

subscribeWithGoogleInfo

object (SubscribeWithGoogleInfo)

Profilo utente associato agli acquisti effettuati con "Abbonati con Google".

SubscriptionState

I potenziali stati in cui può trovarsi un abbonamento, ad esempio se è attivo o annullato. Gli elementi inclusi nell'acquisto di un abbonamento possono essere tutti i piani con rinnovo automatico o prepagati.

Enum
SUBSCRIPTION_STATE_UNSPECIFIED Stato della sottoscrizione non specificato.
SUBSCRIPTION_STATE_PENDING L'abbonamento è stato creato, ma è in attesa di pagamento durante la registrazione. In questo stato, tutti gli articoli sono in attesa di pagamento.
SUBSCRIPTION_STATE_ACTIVE L'abbonamento è attivo. - (1) Se l'abbonamento è un piano con rinnovo automatico, almeno un elemento è autoRenewEnabled e non è scaduto. - (2) Se l'abbonamento è un piano prepagato, almeno un articolo non è scaduto.
SUBSCRIPTION_STATE_PAUSED Abbonamento in pausa. Lo stato è disponibile solo se l'abbonamento è un piano con rinnovo automatico. In questo stato, tutti gli elementi sono in pausa.
SUBSCRIPTION_STATE_IN_GRACE_PERIOD L'abbonamento è in periodo di tolleranza. Lo stato è disponibile solo se l'abbonamento è un piano con rinnovo automatico. In questo stato, tutti gli elementi si trovano in un periodo di tolleranza.
SUBSCRIPTION_STATE_ON_HOLD L'abbonamento è in sospeso (sospeso). Lo stato è disponibile solo se l'abbonamento è un piano con rinnovo automatico. In questo stato, tutti gli elementi sono sospesi.
SUBSCRIPTION_STATE_CANCELED L'abbonamento è stato annullato, ma non è ancora scaduto. Lo stato è disponibile solo se l'abbonamento è un piano con rinnovo automatico. AutoRenewEnabled è impostato su false per tutti gli elementi.
SUBSCRIPTION_STATE_EXPIRED Abbonamento scaduto. Tutti gli articoli hanno una data di scadenza nel passato.

PausedStateContext

Informazioni specifiche su un abbonamento in pausa.

Rappresentazione JSON
{
  "autoResumeTime": string
}
Campi
autoResumeTime

string (Timestamp format)

Ora in cui l'abbonamento verrà ripristinato automaticamente.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

CanceledStateContext

Informazioni specifiche per un abbonamento in stato annullato.

Rappresentazione 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.
}
Campi
Campo di unione cancellation_reason. Il motivo per cui un abbonamento è stato annullato. cancellation_reason può essere solo uno dei seguenti:
userInitiatedCancellation

object (UserInitiatedCancellation)

L'abbonamento è stato annullato dall'utente.

systemInitiatedCancellation

object (SystemInitiatedCancellation)

L'abbonamento è stato annullato dal sistema, ad esempio a causa di un problema di fatturazione.

developerInitiatedCancellation

object (DeveloperInitiatedCancellation)

L'abbonamento è stato annullato dallo sviluppatore.

replacementCancellation

object (ReplacementCancellation)

L'abbonamento è stato sostituito da un nuovo abbonamento.

UserInitiatedCancellation

Informazioni specifiche per gli annullamenti avviati dagli utenti.

Rappresentazione JSON
{
  "cancelSurveyResult": {
    object (CancelSurveyResult)
  },
  "cancelTime": string
}
Campi
cancelSurveyResult

object (CancelSurveyResult)

Informazioni fornite dall'utente quando completa il flusso di annullamento dell'abbonamento (sondaggio sul motivo dell'annullamento).

cancelTime

string (Timestamp format)

Il momento in cui l'abbonamento è stato annullato dall'utente. Trascorso questo periodo, l'utente potrebbe avere ancora accesso all'abbonamento. Utilizza lineItems.expiry_time per determinare se un utente ha ancora accesso.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

CancelSurveyResult

Risultato del sondaggio sull'annullamento dell'abbonamento da parte dell'utente.

Rappresentazione JSON
{
  "reason": enum (CancelSurveyReason),
  "reasonUserInput": string
}
Campi
reason

enum (CancelSurveyReason)

Il motivo per cui l'utente ha selezionato il sondaggio per l'annullamento.

reasonUserInput

string

Impostata solo per CANCEL_SURVEY_REASON_OTHERS. Si tratta della risposta in formato libero dell'utente al sondaggio.

CancelSurveyReason

Il motivo per cui l'utente ha selezionato il sondaggio per l'annullamento.

Enum
CANCEL_SURVEY_REASON_UNSPECIFIED Motivo dell'annullamento del sondaggio non specificato.
CANCEL_SURVEY_REASON_NOT_ENOUGH_USAGE Utilizzo insufficiente dell'abbonamento.
CANCEL_SURVEY_REASON_TECHNICAL_ISSUES Problemi tecnici durante l'utilizzo dell'app.
CANCEL_SURVEY_REASON_FOUND_BETTER_APP L'utente ha trovato un'app migliore.
CANCEL_SURVEY_REASON_OTHERS Altri motivi.

SystemInitiatedCancellation

Questo tipo non contiene campi.

Informazioni specifiche per le cancellazioni avviate dal sistema Google.

DeveloperInitiatedCancellation

Questo tipo non contiene campi.

Informazioni specifiche per gli annullamenti avviati dagli sviluppatori.

ReplacementCancellation

Questo tipo non contiene campi.

Informazioni specifiche per gli annullamenti causati dalla sostituzione di un abbonamento.

TestPurchase

Questo tipo non contiene campi.

Indica se l'acquisto di questo abbonamento è un acquisto di prova.

AcknowledgementState

I possibili stati di accettazione per un abbonamento.

Enum
ACKNOWLEDGEMENT_STATE_UNSPECIFIED Stato di accettazione non specificato.
ACKNOWLEDGEMENT_STATE_PENDING L'abbonamento non è stato ancora confermato.
ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED L'abbonamento viene confermato.

ExternalAccountIdentifiers

Identificatore dell'account utente nel servizio di terze parti.

Rappresentazione JSON
{
  "externalAccountId": string,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string
}
Campi
externalAccountId

string

Identificatore dell'account utente nel servizio di terze parti. Presente solo se il collegamento dell'account è avvenuto nell'ambito del flusso di acquisto dell'abbonamento.

obfuscatedExternalAccountId

string

Una versione offuscata dell'ID associata in modo univoco all'account dell'utente nella tua app. Presente per i seguenti acquisti: * se il collegamento dell'account è avvenuto nell'ambito del flusso di acquisto dell'abbonamento. * È stato specificato utilizzando https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid al momento dell'acquisto.

obfuscatedExternalProfileId

string

Una versione offuscata dell'ID associata in modo univoco al profilo dell'utente nella tua app. È presente solo se specificato mediante https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid al momento dell'acquisto.

SubscribeWithGoogleInfo

Informazioni associate agli acquisti effettuati con "Abbonati con Google".

Rappresentazione JSON
{
  "profileId": string,
  "profileName": string,
  "emailAddress": string,
  "givenName": string,
  "familyName": string
}
Campi
profileId

string

L'ID del profilo Google dell'utente al momento dell'acquisto dell'abbonamento.

profileName

string

Il nome del profilo dell'utente al momento dell'acquisto dell'abbonamento.

emailAddress

string

L'indirizzo email dell'utente al momento dell'acquisto dell'abbonamento.

givenName

string

Il nome dell'utente al momento dell'acquisto dell'abbonamento.

familyName

string

Il cognome dell'utente al momento dell'acquisto dell'abbonamento.

SubscriptionPurchaseLineItem

Informazioni a livello di articolo per l'acquisto di un abbonamento.

Rappresentazione 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.
}
Campi
productId

string

L'ID prodotto acquistato (ad es. 'monthly001').

expiryTime

string (Timestamp format)

L'ora in cui l'abbonamento è scaduto o scadrà a meno che l'accesso non venga esteso (ad esempio, il rinnovo).

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

Campo di unione plan_type. Il tipo di piano di abbonamento. plan_type può essere solo uno dei seguenti:
autoRenewingPlan

object (AutoRenewingPlan)

L'elemento si rinnoverà automaticamente.

prepaidPlan

object (PrepaidPlan)

L'articolo è prepagato.

offerDetails

object (OfferDetails)

I dettagli dell'offerta per questo articolo.

Campo di unione deferred_item_change. Il campo è presente quando una modifica differita di un elemento è stata differita. Può essere rimosso o sostituito. deferred_item_change può essere solo uno dei seguenti:
deferredItemReplacement

object (DeferredItemReplacement)

Informazioni per la sostituzione differita degli articoli.

AutoRenewingPlan

Informazioni relative a un piano con rinnovo automatico.

Rappresentazione JSON
{
  "autoRenewEnabled": boolean,
  "priceChangeDetails": {
    object (SubscriptionItemPriceChangeDetails)
  }
}
Campi
autoRenewEnabled

boolean

Se al momento l'abbonamento è impostato sul rinnovo automatico, ad esempio l'utente non ha annullato l'abbonamento

priceChangeDetails

object (SubscriptionItemPriceChangeDetails)

Le informazioni dell'ultima variazione di prezzo dell'articolo dalla registrazione dell'abbonamento.

SubscriptionItemPriceChangeDetails

Informazioni relative alla variazione di prezzo di un abbonamento.

Rappresentazione JSON
{
  "newPrice": {
    object (Money)
  },
  "priceChangeMode": enum (PriceChangeMode),
  "priceChangeState": enum (PriceChangeState),
  "expectedNewPriceChargeTime": string
}
Campi
newPrice

object (Money)

Nuovo prezzo ricorrente per l'abbonamento.

priceChangeMode

enum (PriceChangeMode)

La modalità di variazione del prezzo specifica come cambia il prezzo dell'articolo in abbonamento.

priceChangeState

enum (PriceChangeState)

Stato in cui si trova attualmente la variazione di prezzo.

expectedNewPriceChargeTime

string (Timestamp format)

L'ora di rinnovo alla quale la variazione di prezzo entrerà in vigore per l'utente. Questo stato è soggetto a variazioni(ad un orario futuro) a causa di casi in cui l'orario di rinnovo cambia, ad esempio quando viene messo in pausa. Questo campo viene compilato solo se la modifica del prezzo non è stata applicata.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

PriceChangeMode

La modalità della variazione di prezzo.

Enum
PRICE_CHANGE_MODE_UNSPECIFIED Modalità di modifica del prezzo non specificata. Questo valore non deve mai essere impostato.
PRICE_DECREASE Se il prezzo dell'abbonamento scende.
PRICE_INCREASE Se il prezzo dell'abbonamento aumenta e l'utente deve accettarlo.
OPT_OUT_PRICE_INCREASE Se il prezzo dell'abbonamento aumenta con la modalità di disattivazione.

PriceChangeState

Lo stato della variazione di prezzo.

Enum
PRICE_CHANGE_STATE_UNSPECIFIED Stato della variazione di prezzo non specificato. Questo valore non deve essere utilizzato.
OUTSTANDING In attesa che l'utente accetti la variazione di prezzo.
CONFIRMED La variazione di prezzo è confermata per l'utente.
APPLIED La variazione di prezzo viene applicata, ovvero all'utente è iniziato l'addebito del nuovo prezzo.

PrepaidPlan

Informazioni relative a un piano prepagato.

Rappresentazione JSON
{
  "allowExtendAfterTime": string
}
Campi
allowExtendAfterTime

string (Timestamp format)

Se presente, questo è il periodo di tempo dopo il quale sono consentiti gli acquisti di ricariche per il piano prepagato. Non è presente per i piani prepagati scaduti.

Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

OfferDetails

Dettagli dell'offerta relativi a un elemento pubblicitario di acquisto.

Rappresentazione JSON
{
  "offerTags": [
    string
  ],
  "basePlanId": string,
  "offerId": string
}
Campi
offerTags[]

string

I tag delle offerte più recenti associati all'offerta. Include i tag ereditati dal piano base.

basePlanId

string

L'ID piano base. Presente per tutti i piani base e tutte le offerte.

offerId

string

L'ID offerta. Presente solo per le offerte scontate.

DeferredItemReplacement

Informazioni relative alla sostituzione differita degli articoli.

Rappresentazione JSON
{
  "productId": string
}
Campi
productId

string

L'ID prodotto che sostituirà l'ID prodotto esistente.

Metodi

get

Recuperare i metadati relativi a una sottoscrizione

revoke

Revocare l'acquisto di un abbonamento per l'utente.