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)

Ora in cui è stato concesso l'abbonamento, in millisecondi dall'epoca.

expiryTimeMillis

string (int64 format)

L'ora di scadenza dell'abbonamento, in millisecondi dall'epoca.

autoResumeTimeMillis

string (int64 format)

L'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

boolean

Indica se l'abbonamento verrà rinnovato automaticamente alla 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 imposte. Per i paesi in cui i prezzi devono essere comprensivi di imposte, il prezzo è comprensivo di imposte. Il prezzo è espresso in micro-unità, dove 1.000.000 di micro-unità rappresentano una unità della valuta. Ad esempio, se il prezzo dell'abbonamento è € 1,99, priceAmountMicros è 1990000.

introductoryPriceInfo

object (IntroductoryPriceInfo)

Informazioni sul prezzo di lancio dell'abbonamento. Questa informazione è disponibile solo se l'abbonamento è stato acquistato a un prezzo di lancio.

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

countryCode

string

Il codice paese/regione di fatturazione ISO 3166-1 alpha-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. Upgrade/downgrade differiti in attesa

Non presente per gli abbonamenti annullati e scaduti.

cancelReason

integer

Il motivo per cui un abbonamento è stato annullato o non si rinnova 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 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 dall'epoca. Presente solo se cancelReason è 0.

cancelSurveyResult

object (SubscriptionCancelSurveyResult)

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

linkedPurchaseToken

string

Il token di acquisto dell'acquisto originario, se l'abbonamento in questione è 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, quindi che l'utente annulli l'abbonamento e segua il flusso di nuova registrazione (prima che l'abbonamento scada), tu ricevi il token di acquisto Y. Infine, l'utente esegue l'upgrade dell'abbonamento e tu ricevi 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 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 prova delle licenze) 1. Promozione (ad es. acquistata con un codice promozionale)

priceChange

object (SubscriptionPriceChange)

Informazioni disponibili sulle variazioni di prezzo più recenti. Questa opzione è presente solo quando è prevista una variazione di prezzo imminente per l'abbonamento ancora da applicare.

Una volta che l'abbonamento viene rinnovato con il nuovo prezzo o viene annullato, non verrà restituita alcuna informazione 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 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 del 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 nell'ambito del flusso di acquisto dell'abbonamento.

promotionType

integer

Il tipo di promozione applicata all'acquisto. Questo campo viene impostato solo se viene applicata una promozione al momento dell'acquisto dell'abbonamento. I valori possibili sono: 0. Codice monouso 1. Codice vanity

promotionCode

string

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

obfuscatedExternalAccountId

string

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

string

Una versione offuscata dell'ID associata in modo univoco al profilo dell'utente nella tua app. È presente solo se specificato mediante https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid al momento dell'acquisto.

IntroductoryPriceInfo

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 lancio dell'abbonamento. Ad esempio, se il prezzo è specificato in sterline britanniche, priceCurrencyCode è "GBP".

introductoryPriceAmountMicros

string (int64 format)

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

introductoryPricePeriod

string

Periodo del prezzo di lancio specificato nel formato ISO 8601. I valori comuni sono, tra gli altri, "P1W" (una settimana), "P1M" (un mese), "P3M" (tre mesi), "P6M" (sei mesi) e "P1Y" (un anno).

introductoryPriceCycles

integer

Il numero di periodo di fatturazione per offrire un prezzo di lancio.

SubscriptionCancelSurveyResult

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 il servizio 2. Problemi tecnici 3. Motivi legati ai costi 4. Ho trovato un'app migliore

userInputCancelReason

string

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. Ad esempio, potresti chiedere una conferma all'utente o 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: lo stato di una variazione di prezzo in attesa in attesa che l'utente accetti. In questo stato, puoi richiedere la conferma all'utente utilizzando l'API in-app. 1. Accettato: stato di una variazione di prezzo accettata con cui verrà rinnovato l'abbonamento a meno che non venga annullato. La variazione di prezzo entrerà in vigore in una data futura, quando l'abbonamento verrà rinnovato. Tieni presente che la modifica potrebbe non avvenire al successivo rinnovo dell'abbonamento.

Metodi

acknowledge

Conferma l'acquisto di un abbonamento.

cancel

Annulla l'acquisto dell'abbonamento da parte 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

Consente di rimborsare l'acquisto dell'abbonamento da parte di un utente, ma l'abbonamento rimane valido fino alla data di scadenza e si ripete.

revoke

Consente di rimborsare e revocare immediatamente l'acquisto dell'abbonamento da parte di un utente.