- Risorsa: SubscriptionPurchaseV2
- SubscriptionState
- PausedStateContext
- CanceledStateContext
- UserInitiatedCancellation
- CancelSurveyResult
- CancelSurveyReason
- SystemInitiatedCancellation
- DeveloperInitiatedCancellation
- ReplacementCancellation
- TestPurchase
- AcknowledgementState
- ExternalAccountIdentifiers
- SubscribeWithGoogleInfo
- SubscriptionPurchaseLineItem
- AutoRenewingPlan
- SubscriptionItemPriceChangeDetails
- PriceChangeMode
- PriceChangeState
- InstallmentPlan
- PendingCancellation
- PriceStepUpConsentDetails
- ConsentState
- PrepaidPlan
- OfferDetails
- DeferredItemReplacement
- DeferredItemRemoval
- SignupPromotion
- OneTimeCode
- VanityCode
- ItemReplacement
- ReplacementMode
- OutOfAppPurchaseContext
- 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 un acquisto di 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 lo stato 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". |
outOfAppPurchaseContext |
Contesto aggiuntivo per gli acquisti al di fuori dell'app. Queste informazioni sono presenti solo per gli acquisti di riabbonamento (acquisti di abbonamento effettuati dopo la scadenza dell'abbonamento precedente dello stesso prodotto) effettuati tramite il centro abbonamenti Google Play. Questo campo verrà rimosso dopo la conferma dell'abbonamento. |
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. Tutti gli elementi hanno 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 comunque 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. Questa è la 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 per gli 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 un acquisto di 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 riuscito 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 rimosso o sostituito. 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. |
itemReplacement |
Dettagli dell'articolo sostituito. Questo campo viene compilato solo se questo articolo ha sostituito un altro articolo in un abbonamento precedente ed è disponibile solo per 60 giorni dopo l'ora di acquisto. |
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 sottoscrizione dell'abbonamento. |
installmentDetails |
Le informazioni relative all'impegno e allo stato del piano a rate per il piano con rinnovo automatico. |
priceStepUpConsentDetails |
Le informazioni relative al consenso all'aumento graduale del prezzo più recente. |
SubscriptionItemPriceChangeDetails
Informazioni relative alla variazione di prezzo di un elemento di 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 sta aumentando 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 cui 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.
Indica se è presente un annullamento in attesa del piano rateale virtuale. L'annullamento avverrà solo dopo che l'utente avrà completato tutti i pagamenti impegnati.
PriceStepUpConsentDetails
Informazioni relative a un aumento di prezzo che richiede il consenso dell'utente.
| Rappresentazione JSON |
|---|
{ "state": enum ( |
| Campi | |
|---|---|
state |
Solo output. Lo stato del consenso all'aumento graduale del prezzo. |
consentDeadlineTime |
La scadenza entro la quale l'utente deve fornire il consenso. Se il consenso non viene fornito entro questo periodo di tempo, l'abbonamento verrà annullato. 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: |
newPrice |
Il nuovo prezzo che richiede il consenso dell'utente. |
ConsentState
Lo stato del consenso all'aumento graduale del prezzo.
| Enum | |
|---|---|
CONSENT_STATE_UNSPECIFIED |
Stato del consenso non specificato. |
PENDING |
L'utente non ha ancora fornito il consenso. |
CONFIRMED |
L'utente ha dato il consenso e il nuovo prezzo è in attesa di essere applicato. |
COMPLETED |
L'utente ha dato il consenso e il nuovo prezzo è stato applicato. |
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. |
ItemReplacement
Dettagli di un elemento pubblicitario dell'abbonamento che viene sostituito.
| Rappresentazione JSON |
|---|
{
"productId": string,
"replacementMode": enum ( |
| Campi | |
|---|---|
productId |
L'ID prodotto dell'elemento pubblicitario in abbonamento che viene sostituito. |
replacementMode |
La modalità di sostituzione applicata durante l'acquisto. |
basePlanId |
L'ID piano base dell'elemento pubblicitario dell'abbonamento da sostituire. |
offerId |
L'ID offerta dell'elemento pubblicitario dell'abbonamento che viene sostituito, se applicabile. |
ReplacementMode
La modalità di sostituzione di un abbonamento.
| Enum | |
|---|---|
REPLACEMENT_MODE_UNSPECIFIED |
Modalità di sostituzione non specificata. |
WITH_TIME_PRORATION |
Il nuovo piano verrà ripartito proporzionalmente e accreditato dal vecchio piano. |
CHARGE_PRORATED_PRICE |
All'utente verrà addebitato un prezzo proporzionale per il nuovo piano. |
WITHOUT_PRORATION |
Il nuovo piano sostituirà quello precedente senza ripartire il tempo. |
CHARGE_FULL_PRICE |
All'utente verrà addebitato l'intero prezzo del nuovo piano. |
DEFERRED |
Il vecchio piano verrà annullato e il nuovo piano entrerà in vigore dopo la scadenza del precedente. |
KEEP_EXISTING |
Il piano rimarrà invariato con questa sostituzione. |
OutOfAppPurchaseContext
Informazioni specifiche per un acquisto al di fuori dell'app.
| Rappresentazione JSON |
|---|
{
"expiredExternalAccountIdentifiers": {
object ( |
| Campi | |
|---|---|
expiredExternalAccountIdentifiers |
Identificatore dell'account utente dell'ultimo abbonamento scaduto per questo SKU. |
expiredPurchaseToken |
Il token di acquisto dell'ultimo abbonamento scaduto. Questo token di acquisto deve essere utilizzato solo per identificare l'utente se il collegamento tra il token di acquisto e l'utente è memorizzato nel tuo database. Non può essere utilizzato per chiamare l'API Google Developer se sono trascorsi più di 60 giorni dalla scadenza. |
Metodi |
|
|---|---|
|
Annulla l'acquisto di un abbonamento per l'utente. |
|
Recuperare i metadati di un abbonamento |
|
Revoca l'acquisto di un abbonamento per l'utente. |
Codici di errore
Le operazioni di questa risorsa restituiscono i seguenti codici di errore HTTP:
| Codice di errore | Motivo | Risoluzione |
|---|---|---|
5xx |
Errore generico nel server Google Play. | Riprova a inviare la richiesta.
Se il problema persiste, contatta il tuo Account Manager Google Play o invia una richiesta di assistenza. Ti consigliamo di controllare la dashboard dello stato di Play per eventuali interruzioni note. |
409 |
Errore di aggiornamento della concorrenza.
È stato effettuato un tentativo di aggiornamento di un oggetto in fase di aggiornamento. Ad esempio, un acquisto
viene confermato chiamando il metodo |
Riprova a inviare la richiesta. |
410 |
L'acquisto dell'abbonamento non è più disponibile per la query perché è scaduto da troppo tempo. | Generata quando viene eseguita una query su un abbonamento scaduto da più di 60 giorni. Non devi più eseguire query su questi abbonamenti. |