- Risorsa: SubscriptionPurchase
- IntroductoryPriceInfo
- SubscriptionCancelSurveyResult
- SubscriptionPriceChange
- Metodi
Risorsa: SubscriptionPurchase
Una risorsa SubscriptionPurchase indica lo stato dell'acquisto di un abbonamento da parte di un utente.
Rappresentazione JSON |
---|
{ "kind": string, "startTimeMillis": string, "expiryTimeMillis": string, "autoResumeTimeMillis": string, "autoRenewing": boolean, "priceCurrencyCode": string, "priceAmountMicros": string, "introductoryPriceInfo": { object ( |
Campi | |
---|---|
kind |
Questo tipo rappresenta un oggetto subscriptionPurchase nel servizio androidpublisher. |
startTimeMillis |
Ora in cui è stato concesso l'abbonamento, in millisecondi dall'epoca. |
expiryTimeMillis |
Ora in cui l'abbonamento scadrà, in millisecondi dall'epoca. |
autoResumeTimeMillis |
Ora in cui l'abbonamento verrà ripristinato automaticamente, in millisecondi dall'epoca. Presente solo se l'utente ha richiesto di mettere in pausa l'abbonamento. |
autoRenewing |
Indica se l'abbonamento verrà rinnovato automaticamente al raggiungimento dell'attuale data di scadenza. |
priceCurrencyCode |
Codice valuta ISO 4217 per il prezzo dell'abbonamento. Ad esempio, se il prezzo è specificato in sterline inglesi, priceCurrencyCode è "GBP". |
priceAmountMicros |
Prezzo dell'abbonamento. Per i paesi in cui i prezzi non devono includere le tasse, il prezzo non include le imposte. Per i paesi in cui i prezzi devono essere comprensivi di IVA, il prezzo include le tasse. Il prezzo è espresso in micro-unità, dove 1.000.000 micro-unità rappresentano un'unità della valuta. Ad esempio, se il prezzo dell'abbonamento è 1,99 €, priceAmountMicros è 1990000. |
introductoryPriceInfo |
Informazioni sul prezzo di lancio dell'abbonamento. È presente solo quando l'abbonamento è stato acquistato a un prezzo di lancio. Questo campo non indica che l'abbonamento si trova attualmente nel periodo di prezzo di lancio. |
countryCode |
Codice paese/regione di fatturazione ISO 3166-1 alpha-2 dell'utente al momento della concessione dell'abbonamento. |
developerPayload |
Una stringa specificata dallo sviluppatore che contiene informazioni supplementari su un ordine. |
paymentState |
Lo stato del pagamento dell'abbonamento. I valori possibili sono: 0. Pagamento in attesa 1. Pagamento ricevuto 2. Prova senza costi 3. Upgrade/downgrade posticipato in attesa Non presente per gli abbonamenti annullati o scaduti. |
cancelReason |
Il motivo per cui un abbonamento è stato annullato o non viene rinnovato automaticamente. I valori possibili sono: 0. L'utente ha annullato l'abbonamento 1. L'abbonamento è stato annullato dal sistema, ad esempio a causa di un problema di fatturazione. L'abbonamento è stato sostituito con un nuovo abbonamento 3. L'abbonamento è stato annullato dallo sviluppatore |
userCancellationTimeMillis |
Il momento in cui l'abbonamento è stato annullato dall'utente, in millisecondi dall'epoca. Presente solo se cancelReason è 0. |
cancelSurveyResult |
Informazioni fornite dall'utente quando completa la procedura di annullamento dell'abbonamento (sondaggio sul motivo dell'annullamento). |
orderId |
L'ID ordine dell'ultimo ordine ricorrente associato all'acquisto dell'abbonamento. Se l'abbonamento è stato annullato perché il pagamento è stato rifiutato, questo sarà l'ID ordine dell'ordine con pagamento rifiutato. |
linkedPurchaseToken |
Il token di acquisto dell'acquisto originale se questo abbonamento è uno dei seguenti: 0. Nuova registrazione di un abbonamento annullato ma non scaduto 1. Eseguire l'upgrade/il downgrade da un abbonamento precedente Ad esempio, supponiamo che un utente si registri inizialmente e tu riceva il token di acquisto X, poi l'utente annulla e completa il flusso di nuova registrazione (prima della scadenza dell'abbonamento) e tu riceva il token di acquisto Y e infine l'utente esegue l'upgrade dell'abbonamento e tu riceva il token di acquisto Z. Se chiami questa API con il token di acquisto Z, questo campo verrà impostato su Y. Se chiami questa API con il token di acquisto Y, questo campo verrà impostato su X. Se chiami questa API con il token di acquisto X, questo campo non verrà impostato. |
purchaseType |
Il tipo di acquisto dell'abbonamento. Questo campo viene impostato solo se l'acquisto non è stato effettuato utilizzando il flusso di fatturazione in-app standard. I valori possibili sono: 0. Test (ovvero acquistato da un account di test delle licenze) 1. Promozionale (ovvero acquistato utilizzando un codice promozionale) |
priceChange |
Le informazioni più recenti sulle variazioni di prezzo disponibili. Questo campo è presente solo quando è prevista una variazione di prezzo dell'abbonamento che deve ancora essere applicata. Una volta rinnovato l'abbonamento con il nuovo prezzo o annullato l'abbonamento, non verranno restituite informazioni sulla variazione di prezzo. |
profileName |
Il nome del profilo dell'utente al momento dell'acquisto dell'abbonamento. Presente solo per gli acquisti effettuati con "Abbonati con Google". |
emailAddress |
L'indirizzo email dell'utente al momento dell'acquisto dell'abbonamento. Presente solo per gli acquisti effettuati con "Abbonati con Google". |
givenName |
Il nome specificato dell'utente al momento dell'acquisto dell'abbonamento. Presente solo per gli acquisti effettuati con "Abbonati con Google". |
familyName |
Il cognome dell'utente al momento dell'acquisto dell'abbonamento. Presente solo per gli acquisti effettuati con "Abbonati con Google". |
profileId |
L'ID profilo Google dell'utente al momento dell'acquisto dell'abbonamento. Presente solo per gli acquisti effettuati con "Abbonati con Google". |
acknowledgementState |
Lo stato di conferma del prodotto in abbonamento. I valori possibili sono: 0. Ancora da confermare 1. Confermato |
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. |
promotionType |
Il tipo di promozione applicata a questo acquisto. Questo campo viene impostato solo se è stata applicata una promozione al momento dell'acquisto dell'abbonamento. I valori possibili sono: 0. Codice monouso 1. Codice vanity |
promotionCode |
Il codice promozionale applicato a questo acquisto. Questo campo viene impostato solo se è stata applicata una promozione con codice personalizzato al momento dell'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. |
IntroductoryPriceInfo
Contiene le informazioni sul prezzo di lancio di un abbonamento.
Rappresentazione JSON |
---|
{ "introductoryPriceCurrencyCode": string, "introductoryPriceAmountMicros": string, "introductoryPricePeriod": string, "introductoryPriceCycles": integer } |
Campi | |
---|---|
introductoryPriceCurrencyCode |
Codice valuta ISO 4217 per il prezzo dell'abbonamento introduttivo. Ad esempio, se il prezzo è specificato in sterline inglesi, priceCurrencyCode è "GBP". |
introductoryPriceAmountMicros |
Prezzo di lancio dell'abbonamento, tasse escluse. La valuta corrisponde a priceCurrencyCode. Il prezzo è espresso in micro-unità, dove 1.000.000 micro-unità rappresentano un'unità della valuta. Ad esempio, se il prezzo dell'abbonamento è 1,99 €, priceAmountMicros è 1990000. |
introductoryPricePeriod |
Il periodo di prezzo introduttivo, specificato nel formato ISO 8601. I valori comuni sono (a titolo esemplificativo) "P1W" (una settimana), "P1M" (un mese), "P3M" (tre mesi), "P6M" (sei mesi) e "P1Y" (un anno). |
introductoryPriceCycles |
Il numero di periodi di fatturazione per offrire prezzi di lancio. |
SubscriptionCancelSurveyResult
Informazioni fornite dall'utente quando completa la procedura di annullamento dell'abbonamento (sondaggio sul motivo dell'annullamento).
Rappresentazione JSON |
---|
{ "cancelSurveyReason": integer, "userInputCancelReason": string } |
Campi | |
---|---|
cancelSurveyReason |
Il motivo dell'annullamento scelto dall'utente nel sondaggio. I valori possibili sono: 0. Altro 1. Non uso abbastanza il servizio 2. Problemi tecnici 3. Per motivi di costi 4. Ho trovato un'app migliore |
userInputCancelReason |
Il motivo dell'annullamento dell'input personalizzato da parte dell'utente. Presente solo quando cancelReason è 0. |
SubscriptionPriceChange
Contiene le informazioni sulla variazione di prezzo di un abbonamento che possono essere utilizzate per controllare il percorso dell'utente per la variazione di prezzo nell'app. Ciò può avvenire sotto forma di richiesta di conferma da parte dell'utente o di personalizzazione dell'esperienza per una conversione riuscita.
Rappresentazione JSON |
---|
{
"newPrice": {
object ( |
Campi | |
---|---|
newPrice |
Il nuovo prezzo con cui verrà rinnovato l'abbonamento se la modifica del prezzo viene accettata dall'utente. |
state |
Lo stato attuale della modifica del prezzo. I valori possibili sono: 0. In attesa: stato di una variazione di prezzo in attesa dell'approvazione dell'utente. In questo stato, puoi richiedere facoltativamente la conferma all'utente utilizzando l'API In-App. 1. Accettata: stato di una variazione di prezzo accettata con cui l'abbonamento verrà rinnovato, a meno che non venga annullato. La variazione di prezzo entra in vigore in una data futura, al momento del rinnovo dell'abbonamento. Tieni presente che la modifica potrebbe non essere applicata al successivo rinnovo dell'abbonamento. |
Metodi |
|
---|---|
|
Conferma l'acquisto di un abbonamento. |
|
Annulla l'acquisto di un abbonamento di un utente. |
|
Rimanda l'acquisto dell'abbonamento di un utente fino a una data di scadenza futura specificata. |
(deprecated) |
Deprecato: utilizza purchases.subscriptionsv2.get. |
(deprecated) |
Deprecato: utilizza orders.refund. |
(deprecated) |
Deprecato: utilizza purchases.subscriptionsv2.revoke. |
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 durante l'interrogazione di un abbonamento scaduto da più di 60 giorni. Non devi più eseguire query su questi abbonamenti. |