- 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
- DeferredItemRemoval
- SignupPromotion
- OneTimeCode
- VanityCode
- Metodi
Risorsa: SubscriptionPurchaseV2
Indica lo stato dell'acquisto di un 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 |
Codice paese/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 PrepaidPlan. |
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). Utilizza RFC 3339, in cui l'output generato è sempre normalizzato in base al fuso orario UTC e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
subscriptionState |
Lo stato attuale dell'abbonamento. |
latestOrderId |
Deprecato: utilizza lineItems.latest_successful_order_id. L'ID ordine dell'ultimo ordine associato all'acquisto dell'abbonamento. Per l'abbonamento con rinnovo automatico, questo è l'ID ordine di registrazione se non è ancora stato rinnovato o l'ultimo ID ordine ricorrente (ordine riuscito, in attesa o rifiutato). Per l'abbonamento prepagato, questo è l'ID ordine associato al token di acquisto della query. |
linkedPurchaseToken |
Il token di acquisto del vecchio abbonamento se questo abbonamento è uno dei seguenti: * Registrazione di nuovo di un abbonamento annullato ma non scaduto * Upgrade/downgrade da un abbonamento precedente. * Converti l'abbonamento prepagato in un abbonamento con rinnovo automatico. * Convertire un abbonamento con rinnovo automatico in un abbonamento prepagato. * Ricaricare un abbonamento prepagato. |
pausedStateContext |
Contesto aggiuntivo sugli abbonamenti in pausa. Presente solo se l'abbonamento ha attualmente subscriptionState SUBSCRIPTION_STATE_PAUSED. |
canceledStateContext |
Contesto aggiuntivo sugli abbonamenti annullati. Presente solo se l'abbonamento ha attualmente subscriptionState SUBSCRIPTION_STATE_CANCELED o SUBSCRIPTION_STATE_EXPIRED. |
testPurchase |
Presente solo se l'acquisto dell'abbonamento è un acquisto di test. |
acknowledgementState |
Lo stato di riconoscimento della sottoscrizione. |
externalAccountIdentifiers |
Identificatore dell'account utente nel servizio di terze parti. |
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 all'interno di un acquisto di abbonamento possono essere tutti piani con rinnovo automatico o piani 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 articolo è autoRenewEnabled e non è scaduto. - (2) Se l'abbonamento è un piano prepagato, almeno un elemento non è scaduto. |
SUBSCRIPTION_STATE_PAUSED |
L'abbonamento è in pausa. 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 sono nel periodo di tolleranza. |
SUBSCRIPTION_STATE_ON_HOLD |
L'abbonamento è in attesa (sospeso). Lo stato è disponibile solo quando l'abbonamento è un piano con rinnovo automatico. In questo stato, tutti gli articoli sono in attesa. |
SUBSCRIPTION_STATE_CANCELED |
L'abbonamento è stato annullato, ma non è ancora scaduto. Lo stato è disponibile solo quando l'abbonamento è un piano con rinnovo automatico. Per tutti gli elementi, autoRenewEnabled è impostato su false. |
SUBSCRIPTION_STATE_EXPIRED |
L'abbonamento è scaduto. Tutti gli elementi hanno expiryTime nel passato. |
SUBSCRIPTION_STATE_PENDING_PURCHASE_CANCELED |
La transazione in attesa per l'abbonamento è stata annullata. Se questo acquisto in attesa riguardava un abbonamento esistente, utilizza linkedPurchaseToken per ottenere lo stato attuale dell'abbonamento. |
PausedStateContext
Informazioni specifiche per un abbonamento in stato di pausa.
Rappresentazione JSON |
---|
{ "autoResumeTime": string } |
Campi | |
---|---|
autoResumeTime |
Ora in cui l'abbonamento verrà riattivato automaticamente. Utilizza RFC 3339, in cui l'output generato è sempre normalizzato in base al fuso orario UTC e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
CanceledStateContext
Informazioni specifiche di un abbonamento nello stato SUBSCRIPTION_STATE_CANCELED o SUBSCRIPTION_STATE_EXPIRED.
Rappresentazione JSON |
---|
{ // Union field |
Campi | |
---|---|
Campo 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 sugli annullamenti avviati dagli utenti.
Rappresentazione JSON |
---|
{
"cancelSurveyResult": {
object ( |
Campi | |
---|---|
cancelSurveyResult |
Informazioni fornite dall'utente quando completa la procedura di annullamento dell'abbonamento (sondaggio sul motivo dell'annullamento). |
cancelTime |
L'ora in cui l'abbonamento è stato annullato dall'utente. L'utente potrebbe ancora avere accesso all'abbonamento dopo questo periodo. Utilizza lineItems.expiry_time per determinare se un utente ha ancora accesso. Utilizza RFC 3339, in cui l'output generato è sempre normalizzato in base al fuso orario UTC e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
CancelSurveyResult
Risultato del sondaggio sull'annullamento quando l'abbonamento è stato annullato dall'utente.
Rappresentazione JSON |
---|
{
"reason": enum ( |
Campi | |
---|---|
reason |
Il motivo selezionato dall'utente nel sondaggio sull'annullamento. |
reasonUserInput |
Impostata solo per CANCEL_SURVEY_REASON_OTHERS. Si tratta della risposta libera dell'utente al sondaggio. |
CancelSurveyReason
Il motivo selezionato dall'utente nel sondaggio sull'annullamento.
Enum | |
---|---|
CANCEL_SURVEY_REASON_UNSPECIFIED |
Motivo non specificato per l'annullamento del 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 sugli annullamenti avviati dal sistema Google.
DeveloperInitiatedCancellation
Questo tipo non contiene campi.
Informazioni specifiche sugli annullamenti avviati dagli sviluppatori.
ReplacementCancellation
Questo tipo non contiene campi.
Informazioni specifiche sugli 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 conferma per un abbonamento.
Enum | |
---|---|
ACKNOWLEDGEMENT_STATE_UNSPECIFIED |
Stato di riconoscimento non specificato. |
ACKNOWLEDGEMENT_STATE_PENDING |
L'abbonamento non è ancora stato riconosciuto. |
ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED |
L'abbonamento è stato 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 associato 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 associato in modo univoco al profilo dell'utente nella tua app. Presente solo se specificato utilizzando 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 |
L'ID 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 specificato dell'utente al momento dell'acquisto dell'abbonamento. |
familyName |
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, "latestSuccessfulOrderId": string, // Union field |
Campi | |
---|---|
productId |
L'ID prodotto acquistato (ad esempio "monthly001"). |
expiryTime |
Ora in cui l'abbonamento è scaduto o scadrà, a meno che l'accesso non venga esteso (ad es. rinnovato). Utilizza RFC 3339, in cui l'output generato è sempre normalizzato in base al fuso orario UTC e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
latestSuccessfulOrderId |
L'ID ordine dell'ultimo ordine andato a buon fine associato a questo elemento. Non presente se l'articolo non è ancora di proprietà dell'utente (ad es. l'articolo in sostituzione differita). |
Campo unione plan_type . Il tipo di piano di abbonamento. plan_type può essere solo uno dei seguenti: |
|
autoRenewingPlan |
L'articolo si rinnova automaticamente. |
prepaidPlan |
L'articolo è prepagato. |
offerDetails |
I dettagli dell'offerta per questo articolo. |
Campo unione deferred_item_change . Il campo è presente quando un elemento ha una modifica posticipata. Può essere rimossa o sostituita. deferred_item_change può essere solo uno dei seguenti: |
|
deferredItemReplacement |
Informazioni sulla sostituzione differita degli articoli. |
deferredItemRemoval |
Informazioni sulla rimozione posticipata degli elementi. |
signupPromotion |
Dettagli della promozione relativi a questo articolo. Impostato solo se è stata applicata una promozione durante la registrazione. |
AutoRenewingPlan
Informazioni relative a un piano con rinnovo automatico.
Rappresentazione JSON |
---|
{ "autoRenewEnabled": boolean, "recurringPrice": { object ( |
Campi | |
---|---|
autoRenewEnabled |
Se l'abbonamento è attualmente impostato sul rinnovo automatico, ad esempio l'utente non ha annullato l'abbonamento |
recurringPrice |
Il prezzo ricorrente attuale del piano con rinnovo automatico. Tieni presente che il prezzo non tiene conto degli sconti e non include le imposte per i prezzi non comprensivi di imposte. Chiama invece l'API |
priceChangeDetails |
Le informazioni sull'ultima variazione di prezzo dell'articolo dalla registrazione dell'abbonamento. |
installmentDetails |
Le informazioni relative all'impegno e allo stato del piano a rate per il piano con rinnovo automatico. |
SubscriptionItemPriceChangeDetails
Informazioni relative alla variazione di prezzo di un elemento dell'abbonamento.
Rappresentazione JSON |
---|
{ "newPrice": { object ( |
Campi | |
---|---|
newPrice |
Nuovo prezzo ricorrente per l'articolo dell'abbonamento. |
priceChangeMode |
La modalità di variazione del prezzo specifica come sta cambiando il prezzo dell'articolo dell'abbonamento. |
priceChangeState |
Indica che la modifica del prezzo è attualmente in corso. |
expectedNewPriceChargeTime |
Il momento del rinnovo in cui la variazione di prezzo diventerà effettiva per l'utente. Questa data è soggetta a modifiche(a una data futura) a causa di casi in cui l'ora di rinnovo cambia, ad esempio in caso di pausa. Questo campo viene compilato solo se la modifica del prezzo non è stata applicata. Utilizza RFC 3339, in cui l'output generato è sempre normalizzato in base al fuso orario UTC e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
PriceChangeMode
La modalità di variazione del prezzo.
Enum | |
---|---|
PRICE_CHANGE_MODE_UNSPECIFIED |
Modalità di variazione di 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 è in aumento e l'utente deve accettarlo. |
OPT_OUT_PRICE_INCREASE |
Se il prezzo dell'abbonamento sta per aumentare con la modalità di aumento tacito di prezzo. |
PriceChangeState
Lo stato della modifica del 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 modifica del prezzo è confermata per l'utente. |
APPLIED |
La modifica del prezzo è stata applicata, ovvero all'utente è stato addebitato il nuovo prezzo. |
CANCELED |
La variazione di prezzo è stata annullata. |
InstallmentPlan
Informazioni su un piano rateizzato.
Rappresentazione JSON |
---|
{
"initialCommittedPaymentsCount": integer,
"subsequentCommittedPaymentsCount": integer,
"remainingCommittedPaymentsCount": integer,
"pendingCancellation": {
object ( |
Campi | |
---|---|
initialCommittedPaymentsCount |
Il numero totale di pagamenti per i quali l'utente si impegna inizialmente. |
subsequentCommittedPaymentsCount |
Numero totale di pagamenti per i quali l'utente si impegnerà dopo ogni periodo di impegno. Se il campo è vuoto, il piano rateale tornerà a un normale abbonamento con rinnovo automatico dopo l'impegno iniziale. |
remainingCommittedPaymentsCount |
Il numero totale di pagamenti impegnati rimanenti da pagare in questo ciclo di rinnovo. |
pendingCancellation |
Se presente, questo piano di rateizzazione è in attesa di essere annullato. L'annullamento avverrà solo dopo che l'utente avrà completato tutti i pagamenti impegnati. |
PendingCancellation
Questo tipo non contiene campi.
Questo indicatore mostra se è presente un annullamento in attesa del piano rateale virtuale. L'annullamento avverrà solo dopo che l'utente avrà completato tutti i pagamenti impegnati.
PrepaidPlan
Informazioni relative a un piano prepagato.
Rappresentazione JSON |
---|
{ "allowExtendAfterTime": string } |
Campi | |
---|---|
allowExtendAfterTime |
Se presente, questo è il momento dopo il quale sono consentiti gli acquisti di ricarica per il piano prepagato. Non sarà presente per i piani prepagati scaduti. Utilizza RFC 3339, in cui l'output generato è sempre normalizzato in base al fuso orario UTC e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
OfferDetails
Informazioni sui dettagli dell'offerta relative a una voce dell'acquisto.
Rappresentazione JSON |
---|
{ "offerTags": [ string ], "basePlanId": string, "offerId": string } |
Campi | |
---|---|
offerTags[] |
I tag delle offerte più recenti 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 offerta. Presente solo per le offerte scontate. |
DeferredItemReplacement
Informazioni relative alla sostituzione differita dell'articolo.
Rappresentazione JSON |
---|
{ "productId": string } |
Campi | |
---|---|
productId |
L'ID prodotto che sostituirà l'ID prodotto esistente. |
DeferredItemRemoval
Questo tipo non contiene campi.
Informazioni relative alla sostituzione differita dell'articolo.
SignupPromotion
La promozione applicata a questo articolo al momento dell'acquisto.
Rappresentazione JSON |
---|
{ // Union field |
Campi | |
---|---|
Campo unione promotion_type . Il tipo di promozione applicata all'articolo. promotion_type può essere solo uno dei seguenti: |
|
oneTimeCode |
È stato applicato un codice monouso. |
vanityCode |
È stato applicato un codice personalizzato. |
OneTimeCode
Questo tipo non contiene campi.
Un codice promozionale monouso.
VanityCode
Un codice promozionale predefinito utilizzabile più volte.
Rappresentazione JSON |
---|
{ "promotionCode": string } |
Campi | |
---|---|
promotionCode |
Il codice promozionale. |
Metodi |
|
---|---|
|
Recuperare i metadati di un abbonamento |
|
Revoca l'acquisto di un abbonamento per l'utente. |