- Risorsa: SubscriptionPurchaseV2
- SubscriptionState
- PausedStateContext
- CanceledStateContext
- UserInitiatedCancellation
- CancelSurveyResult
- CancelSurveyReason
- SystemInitiatedCancellation
- DeveloperInitiatedCancellation
- ReplacementCancellation
- TestPurchase
- AcknowledgementState
- ExternalAccountIdentifiers
- SubscribeWithGoogleInfo
- SubscriptionPurchaseLineItem
- AutoRenewingPlan
- SubscriptionItemPriceChangeDetails
- PriceChangeMode
- PriceChangeState
- InstallmentPlan
- PendingCancellation
- PrepaidPlan
- OfferDetails
- DeferredItemReplacement
- Metodi
Risorsa: SubscriptionPurchaseV2
Indica lo stato dell'acquisto dell'abbonamento da parte di un utente.
Rappresentazione JSON |
---|
{ "kind": string, "regionCode": string, "lineItems": [ { object ( |
Campi | |
---|---|
kind |
Questo tipo rappresenta un oggetto SubscriptionPurchaseV2 nel servizio androidpublisher. |
regionCode |
Il codice del paese/della regione di fatturazione ISO 3166-1 alpha-2 dell'utente al momento della concessione dell'abbonamento. |
lineItems[] |
Informazioni a livello di articolo per l'acquisto di un abbonamento. Gli articoli dello stesso acquisto devono essere tutti con AutoRenewingPlan o tutti con PrepagPlan. |
startTime |
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" RFC3339 UTC, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: |
subscriptionState |
Lo stato attuale dell'abbonamento. |
latestOrderId |
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 è stato ancora rinnovato) o 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 oggetto della query. |
linkedPurchaseToken |
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 |
Contesto aggiuntivo sugli abbonamenti in pausa. Presente solo se al momento l'abbonamento ha il valore subscriptionState SUBSCRIPTION_STATE_PAUSED. |
canceledStateContext |
Contesto aggiuntivo sugli abbonamenti annullati. Presente solo se al momento l'abbonamento ha lo stato subscriptionState SUBSCRIPTION_STATE_CANCELED o SUBSCRIPTION_STATE_EXPIRED. |
testPurchase |
Presente solo se l'acquisto dell'abbonamento è un acquisto di prova. |
acknowledgementState |
Lo stato di accettazione dell'abbonamento. |
externalAccountIdentifiers |
Identificatore dell'account utente nel servizio di terze parti. |
subscribeWithGoogleInfo |
Profilo utente associato ad 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 piani con rinnovo automatico o prepagati.
Enum | |
---|---|
SUBSCRIPTION_STATE_UNSPECIFIED |
Stato dell'abbonamento 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 sospeso. Lo stato è disponibile solo quando 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 quando 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 quando l'abbonamento è un piano con rinnovo automatico. In questo stato, tutti gli elementi sono in sospeso. |
SUBSCRIPTION_STATE_CANCELED |
L'abbonamento è stato annullato, ma non è ancora scaduto. Lo stato è disponibile solo quando 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. |
SUBSCRIPTION_STATE_PENDING_PURCHASE_CANCELED |
La transazione in attesa relativa all'abbonamento è stata annullata. Se l'acquisto in attesa riguardava un abbonamento esistente, utilizzalinkedPurchaseToken per ottenere lo stato corrente dell'abbonamento. |
PausedStateContext
Informazioni specifiche su un abbonamento in pausa.
Rappresentazione JSON |
---|
{ "autoResumeTime": string } |
Campi | |
---|---|
autoResumeTime |
Ora in cui l'abbonamento verrà ripristinato automaticamente. Un timestamp in formato "Zulu" RFC3339 UTC, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: |
CanceledStateContext
Informazioni specifiche di un abbonamento in stato SUBSCRIPTION_STATE_CANCELED o SUBSCRIPTION_STATE_EXPIRED.
Rappresentazione JSON |
---|
{ // Union field |
Campi | |
---|---|
Campo di unione cancellation_reason . Il motivo per cui un abbonamento è stato annullato. cancellation_reason può essere solo uno dei seguenti: |
|
userInitiatedCancellation |
L'abbonamento è stato annullato dall'utente. |
systemInitiatedCancellation |
L'abbonamento è stato annullato dal sistema, ad esempio a causa di un problema di fatturazione. |
developerInitiatedCancellation |
L'abbonamento è stato annullato dallo sviluppatore. |
replacementCancellation |
L'abbonamento è stato sostituito da un nuovo abbonamento. |
UserInitiatedCancellation
Informazioni specifiche per gli annullamenti avviati dagli utenti.
Rappresentazione JSON |
---|
{
"cancelSurveyResult": {
object ( |
Campi | |
---|---|
cancelSurveyResult |
Informazioni fornite dall'utente quando completa il flusso di annullamento dell'abbonamento (sondaggio sui motivi dell'annullamento). |
cancelTime |
L'ora 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" RFC3339 UTC, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: |
CancelSurveyResult
Risultato del sondaggio sull'annullamento quando l'abbonamento è stato annullato dall'utente.
Rappresentazione JSON |
---|
{
"reason": enum ( |
Campi | |
---|---|
reason |
Il motivo per cui l'utente ha selezionato nel sondaggio per l'annullamento. |
reasonUserInput |
Impostato 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 nel sondaggio per l'annullamento.
Enum | |
---|---|
CANCEL_SURVEY_REASON_UNSPECIFIED |
Motivo dell'annullamento non specificato per il sondaggio. |
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_COST_RELATED |
Problemi relativi ai costi. |
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 gli annullamenti avviati dal sistema di 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 dell'abbonamento.
TestPurchase
Questo tipo non contiene campi.
Indica se l'acquisto dell'abbonamento è un acquisto di prova.
AcknowledgementState
I possibili stati di accettazione di una sottoscrizione.
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 |
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 |
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 |
Una versione offuscata dell'ID associata in modo univoco al profilo dell'utente nella tua app. Presente solo se specificato tramite https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid al momento dell'acquisto. |
SubscribeWithGoogleInfo
Informazioni associate agli acquisti effettuati tramite "Abbonati con Google".
Rappresentazione JSON |
---|
{ "profileId": string, "profileName": string, "emailAddress": string, "givenName": string, "familyName": string } |
Campi | |
---|---|
profileId |
L'ID del profilo Google dell'utente al momento dell'acquisto dell'abbonamento. |
profileName |
Il nome del profilo dell'utente al momento dell'acquisto dell'abbonamento. |
emailAddress |
L'indirizzo email dell'utente al momento dell'acquisto dell'abbonamento. |
givenName |
Il nome dell'utente al momento dell'acquisto dell'abbonamento. |
familyName |
Il nome della famiglia 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 |
Campi | |
---|---|
productId |
L'ID prodotto acquistato (ad es. "monthly001"). |
expiryTime |
Il momento in cui l'abbonamento è scaduto o scadrà a meno che l'accesso non venga esteso (ad esempio, il rinnovo). Un timestamp in formato "Zulu" RFC3339 UTC, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: |
Campo di unione plan_type . Il tipo di piano di abbonamento. plan_type può essere solo uno dei seguenti: |
|
autoRenewingPlan |
L'elemento si rinnova automaticamente. |
prepaidPlan |
L'articolo è prepagato. |
offerDetails |
I dettagli dell'offerta per questo articolo. |
Campo di unione deferred_item_change . Il campo è presente quando un elemento presenta una modifica differita. Può essere rimosso o sostituito. deferred_item_change può essere solo uno dei seguenti: |
|
deferredItemReplacement |
Informazioni per la sostituzione degli articoli differita. |
AutoRenewingPlan
Informazioni relative a un piano con rinnovo automatico.
Rappresentazione JSON |
---|
{ "autoRenewEnabled": boolean, "priceChangeDetails": { object ( |
Campi | |
---|---|
autoRenewEnabled |
Se l'abbonamento è attualmente impostato sul rinnovo automatico, ad esempio se l'utente non ha annullato l'abbonamento |
priceChangeDetails |
Le informazioni dell'ultima variazione di prezzo dell'articolo dalla registrazione dell'abbonamento. |
installmentDetails |
L'impegno del piano di rateizzazione e le informazioni relative allo stato per il piano con rinnovo automatico. |
SubscriptionItemPriceChangeDetails
Informazioni relative alla variazione di prezzo di un abbonamento.
Rappresentazione JSON |
---|
{ "newPrice": { object ( |
Campi | |
---|---|
newPrice |
Nuovo prezzo ricorrente per l'abbonamento. |
priceChangeMode |
La modalità di variazione di prezzo specifica come cambia il prezzo dell'abbonamento. |
priceChangeState |
Indica dove si trova attualmente la variazione di prezzo. |
expectedNewPriceChargeTime |
La data di rinnovo in cui la variazione di prezzo entrerà in vigore per l'utente. Questo è soggetto a variazioni(in futuro) a causa dei casi in cui l'orario di rinnovo cambia, ad esempio la pausa. Questo campo viene compilato solo se la variazione di prezzo non è stata applicata. Un timestamp in formato "Zulu" RFC3339 UTC, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: |
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 sta diminuendo. |
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 è stata confermata per l'utente. |
APPLIED |
La variazione di prezzo viene applicata, ovvero all'utente è iniziato l'addebito del nuovo prezzo. |
InstallmentPlan
Informazioni relative a un piano di rateizzazione.
Rappresentazione JSON |
---|
{
"initialCommittedPaymentsCount": integer,
"subsequentCommittedPaymentsCount": integer,
"remainingCommittedPaymentsCount": integer,
"pendingCancellation": {
object ( |
Campi | |
---|---|
initialCommittedPaymentsCount |
Numero totale di pagamenti per i quali l'utente si è inizialmente impegnato. |
subsequentCommittedPaymentsCount |
Numero totale di pagamenti per i quali l'utente si impegnerà dopo ogni periodo di impegno. Vuoto significa che il piano di rateizzazione torna a un normale abbonamento con rinnovo automatico dopo l'impegno iniziale. |
remainingCommittedPaymentsCount |
Numero totale di pagamenti impegnati rimanenti da pagare in questo ciclo di rinnovo. |
pendingCancellation |
Se presente, questo piano di rateizzazione è in attesa di annullamento. L'annullamento avverrà solo dopo che l'utente ha completato tutti i pagamenti impegnati. |
PendingCancellation
Questo tipo non contiene campi.
Questo valore indica se è presente un annullamento in attesa per il piano di rateizzazione virtuale. L'annullamento avverrà solo dopo che l'utente ha completato tutti i pagamenti impegnati.
PrepaidPlan
Informazioni relative a un piano prepagato.
Rappresentazione JSON |
---|
{ "allowExtendAfterTime": string } |
Campi | |
---|---|
allowExtendAfterTime |
Se presente, è il periodo di tempo dopo il quale sono consentiti gli acquisti di ricarica per il piano prepagato. Non sarà presente per i piani prepagati scaduti. Un timestamp in formato "Zulu" RFC3339 UTC, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: |
OfferDetails
Dettagli dell'offerta relativi a un elemento pubblicitario di acquisto.
Rappresentazione JSON |
---|
{ "offerTags": [ string ], "basePlanId": string, "offerId": string } |
Campi | |
---|---|
offerTags[] |
I tag più recenti dell'offerta associati all'offerta. Include i tag ereditati dal piano base. |
basePlanId |
L'ID piano base. Presente per tutti i piani base e le offerte. |
offerId |
L'ID dell'offerta. Presente solo per le offerte scontate. |
DeferredItemReplacement
Informazioni relative alla sostituzione degli articoli differita.
Rappresentazione JSON |
---|
{ "productId": string } |
Campi | |
---|---|
productId |
Il valore productId sostituirà il productId esistente. |
Metodi |
|
---|---|
|
Recuperare i metadati relativi a una sottoscrizione |
|
Revocare l'acquisto di un abbonamento per l'utente. |