REST Resource: purchases.subscriptions

Risorsa: Subscriptionpurchase

Una risorsa Subscriptionpurchase indica lo stato dell'acquisto dell'abbonamento di un utente.

Rappresentazione JSON
{
  "kind": string,
  "startTimeMillis": string,
  "expiryTimeMillis": string,
  "autoResumeTimeMillis": string,
  "autoRenewing": boolean,
  "priceCurrencyCode": string,
  "priceAmountMicros": string,
  "introductoryPriceInfo": {
    object (IntroductoryPriceInfo)
  },
  "countryCode": string,
  "developerPayload": string,
  "paymentState": integer,
  "cancelReason": integer,
  "userCancellationTimeMillis": string,
  "cancelSurveyResult": {
    object (SubscriptionCancelSurveyResult)
  },
  "orderId": string,
  "linkedPurchaseToken": string,
  "purchaseType": integer,
  "priceChange": {
    object (SubscriptionPriceChange)
  },
  "profileName": string,
  "emailAddress": string,
  "givenName": string,
  "familyName": string,
  "profileId": string,
  "acknowledgementState": integer,
  "externalAccountId": string,
  "promotionType": integer,
  "promotionCode": string,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string
}
Campi
kind

string

Questo tipo rappresenta un oggetto subscriptionpurchase nel servizio androidpublisher.

startTimeMillis

string (int64 format)

L'ora in cui è stato concesso l'abbonamento, in millisecondi dal periodo.

expiryTimeMillis

string (int64 format)

Data e ora di scadenza dell'abbonamento, in millisecondi a partire dal periodo.

autoResumeTimeMillis

string (int64 format)

Il periodo in cui l'abbonamento verrà ripristinato automaticamente, in millisecondi dal periodo. Presente solo se l'utente ha richiesto di mettere in pausa l'abbonamento.

autoRenewing

boolean

Indica se l'abbonamento verrà rinnovato automaticamente quando raggiunge la data di scadenza attuale.

priceCurrencyCode

string

Codice valuta ISO 4217 per il prezzo dell'abbonamento. Ad esempio, se il prezzo è specificato in sterline britanniche, priceCurrencyCode è "GBP".

priceAmountMicros

string (int64 format)

Prezzo dell'abbonamento, per i paesi al netto delle imposte, il prezzo non include le tasse. Per i paesi che includono le imposte, il prezzo include le tasse. Il prezzo è espresso in micro-unità, dove 1.000.000 di micro-unità rappresentano un'unità della valuta. Ad esempio, se il prezzo dell'abbonamento è pari a € 1,99, il valore di priceAmountMicros è 1990000.

introductoryPriceInfo

object (IntroductoryPriceInfo)

Informazioni sui prezzi di lancio dell'abbonamento. Questo messaggio è presente soltanto se l'abbonamento è stato acquistato a un prezzo di lancio.

Questo campo non indica che l'abbonamento è attualmente nel periodo di prezzo di lancio.

countryCode

string

Codice paese/area geografica di fatturazione ISO 3166-1 alfa-2 dell'utente al momento della concessione dell'abbonamento.

developerPayload

string

Una stringa specificata dallo sviluppatore che contiene informazioni supplementari su un ordine.

paymentState

integer

Lo stato del pagamento dell'abbonamento. I valori possibili sono: 0. Pagamento in attesa 1. Pagamento ricevuto 2. Prova senza costi 3. In attesa di upgrade/downgrade differito

Non presente per abbonamenti annullati scaduti.

cancelReason

integer

Il motivo per cui un abbonamento è stato annullato o non è in fase di rinnovo automatico. 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 2. L'abbonamento è stato sostituito con un nuovo abbonamento 3. L'abbonamento è stato annullato dallo sviluppatore

userCancellationTimeMillis

string (int64 format)

Il momento in cui l'abbonamento è stato annullato dall'utente, in millisecondi a partire dal periodo. Presente solo se cancelMotivo è 0.

cancelSurveyResult

object (SubscriptionCancelSurveyResult)

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

orderId

string

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 di pagamento rifiutato.

linkedPurchaseToken

string

Il token di acquisto dell'acquisto originario se questo abbonamento è uno dei seguenti: 0. Nuova registrazione a un abbonamento annullato ma non scaduto 1. Eseguire l'upgrade o il downgrade da un abbonamento precedente

Ad esempio, supponiamo che un utente abbia eseguito la registrazione e tu abbia ricevuto il token di acquisto X, quindi l'utente lo abbia annullato e seguito dal flusso di nuova registrazione (prima che scada il tuo abbonamento) e tu abbia ricevuto il token di acquisto Y. Infine, l'utente ha eseguito l'upgrade dell'abbonamento e tu hai ricevuto 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

integer

Il tipo di acquisto dell'abbonamento. Questo campo è impostato solo se questo acquisto non è stato effettuato utilizzando il flusso di fatturazione in-app standard. I valori possibili sono: 0. Test (ovvero acquistato da un account di verifica delle licenze) 1. Promo (ovvero acquistato utilizzando un codice promozionale)

priceChange

object (SubscriptionPriceChange)

Le informazioni più recenti sulla variazione di prezzo disponibili. Questo valore è presente soltanto se è prevista un'imminente variazione di prezzo per l'abbonamento.

Dopo il rinnovo dell'abbonamento con il nuovo prezzo o l'annullamento dell'abbonamento, non verranno restituite informazioni sulla variazione di prezzo.

profileName

string

Il nome del profilo dell'utente al momento dell'acquisto dell'abbonamento. Presente solo per gli acquisti effettuati con 'Abbonati con Google'.

emailAddress

string

L'indirizzo email dell'utente al momento dell'acquisto dell'abbonamento. Presente solo per gli acquisti effettuati con 'Abbonati con Google'.

givenName

string

Il nome dell'utente specificato al momento dell'acquisto dell'abbonamento. Presente solo per gli acquisti effettuati con 'Abbonati con Google'.

familyName

string

Il cognome dell'utente al momento dell'acquisto dell'abbonamento. Presente solo per gli acquisti effettuati con 'Abbonati con Google'.

profileId

string

L'ID profilo Google dell'utente al momento dell'acquisto dell'abbonamento. Presente solo per gli acquisti effettuati con 'Abbonati con Google'.

acknowledgementState

integer

Lo stato di accettazione del prodotto in abbonamento. I valori possibili sono: 0. Ancora da confermare 1. Confermato

externalAccountId

string

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

promotionType

integer

Il tipo di promozione applicata a questo acquisto. Questo campo è impostato solo se viene applicata una promozione quando è stato acquistato l'abbonamento. I valori possibili sono: 0. Codice monouso 1. Codice personale

promotionCode

string

Il codice promozionale applicato a questo acquisto. Questo campo è impostato solo se viene applicata una promozione con codice vanity al momento dell'acquisto dell'abbonamento.

obfuscatedExternalAccountId

string

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 si è verificato durante il flusso di acquisto dell'abbonamento. * È stato specificato utilizzando https://developer.android.com/reference/com/android/billingclient/api/billingFlowParams.Builder#setoboffuscatedaccountid al momento dell'acquisto.

obfuscatedExternalProfileId

string

Una versione offuscata dell'ID associata in modo univoco al profilo dell'utente nella tua app. Presenta soltanto se viene specificato usando https://developer.android.com/reference/com/android/billingclient/api/FatturazioneFlowParams.Builder#setoboffuscatedprofileid quando è stato effettuato l'acquisto.

Informazioni introduttive sui prezzi

Contiene le informazioni sul prezzo di lancio per un abbonamento.

Rappresentazione JSON
{
  "introductoryPriceCurrencyCode": string,
  "introductoryPriceAmountMicros": string,
  "introductoryPricePeriod": string,
  "introductoryPriceCycles": integer
}
Campi
introductoryPriceCurrencyCode

string

Codice valuta ISO 4217 per il prezzo di abbonamento di lancio. Ad esempio, se il prezzo è specificato in sterline britanniche, priceCurrencyCode è "GBP".

introductoryPriceAmountMicros

string (int64 format)

Prezzo di lancio dell'abbonamento, imposte escluse. La valuta corrisponde a priceCurrencyCode. Il prezzo è espresso in micro-unità, dove 1.000.000 di micro-unità rappresentano un'unità della valuta. Ad esempio, se il prezzo dell'abbonamento è pari a € 1,99, il valore di priceAmountMicros è 1990000.

introductoryPricePeriod

string

Periodo di prezzo di lancio, specificato nel formato ISO 8601. I valori comuni sono (a titolo esemplificativo) "P1W" (una settimana), "P1M" (un mese), "P3M" (tre mesi), "P6M" (6 mesi) e "P1Y" (un anno).

introductoryPriceCycles

integer

Il numero di periodi di fatturazione in cui offrire il prezzo di lancio.

SottoscrizioneAnnullamentoSondaggio

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

Rappresentazione JSON
{
  "cancelSurveyReason": integer,
  "userInputCancelReason": string
}
Campi
cancelSurveyReason

integer

Il motivo dell'annullamento scelto dall'utente nel sondaggio. I valori possibili sono: 0. Altro 1. Non uso abbastanza servizio 2. Problemi tecnici 3. Per motivi di costi 4. Ho trovato un'app migliore

userInputCancelReason

string

Il motivo dell'annullamento di un input personalizzato da parte dell'utente. Presente solo quando cancelMotivo è 0.

ModificaPrezzoAbbonamento

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, ad esempio per chiedere conferma all'utente o per personalizzare l'esperienza per una conversione riuscita.

Rappresentazione JSON
{
  "newPrice": {
    object (Price)
  },
  "state": integer
}
Campi
newPrice

object (Price)

Il nuovo prezzo con cui verrà rinnovato l'abbonamento, se la variazione di prezzo viene accettata dall'utente.

state

integer

Lo stato attuale della variazione di prezzo. I valori possibili sono: 0. In sospeso: stato indicato per una variazione di prezzo in attesa che l'utente accetta. In questo stato, se vuoi, puoi chiedere conferma all'utente utilizzando l'API In-App. 1. Accettati: stato relativo a una variazione di prezzo accettata con cui l'abbonamento verrà rinnovato, a meno che non venga annullato. La variazione di prezzo entrerà in vigore in una data futura al momento del rinnovo dell'abbonamento. Tieni presente che la modifica potrebbe non avere luogo al momento del rinnovo dell'abbonamento.

Metodi

acknowledge

Conferma l'acquisto di un abbonamento.

cancel

Annulla l'acquisto di un abbonamento di un utente.

defer

Rimanda l'acquisto dell'abbonamento di un utente fino a una data di scadenza futura specificata.

get

Verifica se l'acquisto dell'abbonamento di un utente è valido e restituisce la data di scadenza.

refund

Rimborsa l'acquisto di un abbonamento dell'utente, ma l'abbonamento rimane valido fino alla scadenza e continuerà a essere ricorrente.

revoke

Rimborsi e revoca immediata dell'acquisto dell'abbonamento di un utente.