REST Resource: purchases.subscriptions

Ressource: SubscriptionPurchase

Une ressource SubscriptionPurchase indique l'état de l'achat d'abonnement d'un utilisateur.

Représentation 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
}
Champs
kind

string

Ce type représente un objet subscriptionPurchase dans le service androidpublisher.

startTimeMillis

string (int64 format)

Heure à laquelle l'abonnement a été accordé, en millisecondes depuis l'epoch.

expiryTimeMillis

string (int64 format)

Heure à laquelle l'abonnement expire, en millisecondes depuis l'epoch.

autoResumeTimeMillis

string (int64 format)

Heure à laquelle l'abonnement sera automatiquement repris, en millisecondes depuis l'epoch. Présent uniquement si l'utilisateur a demandé à suspendre l'abonnement.

autoRenewing

boolean

Indique si l'abonnement sera renouvelé automatiquement à son expiration actuelle.

priceCurrencyCode

string

Code de devise ISO 4217 du prix de l'abonnement. Par exemple, si le prix est spécifié en livres sterling, le code de devise du prix est "GBP".

priceAmountMicros

string (int64 format)

Prix de l'abonnement. Pour les pays où les taxes ne sont pas incluses, le prix n'inclut pas les taxes. Dans les pays où les prix sont TTC, le prix inclut les taxes. Le prix est exprimé en micro-unités, où 1 000 000 de micro-unités représentent une unité de la devise. Par exemple, si le prix de l'abonnement est de 1,99 €, la valeur priceAmountMicros est 1990000.

introductoryPriceInfo

object (IntroductoryPriceInfo)

Informations sur le prix découverte de l'abonnement. Cette information n'est affichée que si l'abonnement a été souscrit à un prix de lancement.

Ce champ n'indique pas si l'abonnement est actuellement soumis à un prix découverte.

countryCode

string

Code pays/région ISO 3166-1 alpha-2 de l'utilisateur au moment de l'attribution de l'abonnement.

developerPayload

string

Chaîne spécifiée par le développeur contenant des informations supplémentaires sur une commande.

paymentState

integer

État du paiement de l'abonnement. Les valeurs possibles sont: 0. Paiement en attente 1. Paiement reçu 2. Essai sans frais 3. Mise à niveau ou rétrogradation différée en attente

Non présent pour les abonnements annulés ou arrivés à expiration.

cancelReason

integer

Motif de la résiliation d'un abonnement ou de son non-renouvellement automatique. Les valeurs possibles sont: 0. L'utilisateur a résilié l'abonnement 1. L'abonnement a été résilié par le système, par exemple en raison d'un problème de facturation. L'abonnement a été remplacé par un nouvel abonnement 3. L'abonnement a été résilié par le développeur

userCancellationTimeMillis

string (int64 format)

Heure à laquelle l'abonnement a été résilié par l'utilisateur, en millisecondes depuis l'epoch. Présent uniquement si cancelReason est défini sur 0.

cancelSurveyResult

object (SubscriptionCancelSurveyResult)

Informations fournies par l'utilisateur lorsqu'il termine le parcours de résiliation d'un abonnement (enquête sur la raison de la résiliation).

orderId

string

ID de la dernière commande récurrente associée à l'achat de l'abonnement. Si l'abonnement a été résilié en raison d'un refus de paiement, il s'agit de l'ID de la commande pour laquelle le paiement a été refusé.

linkedPurchaseToken

string

Le jeton d'achat de l'achat d'origine si cet abonnement est l'un des suivants: 0. Réinscription à un abonnement résilié, mais non expiré 1. Passer à un abonnement supérieur ou inférieur à partir d'un abonnement précédent

Par exemple, supposons qu'un utilisateur s'inscrive à l'origine et que vous receviez le jeton d'achat X. L'utilisateur résilie ensuite son abonnement et suit la procédure de réinscription (avant que son abonnement n'expire). Vous recevez alors le jeton d'achat Y. Enfin, l'utilisateur effectue une mise à niveau de son abonnement et vous recevez le jeton d'achat Z. Si vous appelez cette API avec le jeton d'achat Z, ce champ sera défini sur Y. Si vous appelez cette API avec le jeton d'achat Y, ce champ sera défini sur X. Si vous appelez cette API avec le jeton d'achat X, ce champ ne sera pas défini.

purchaseType

integer

Type d'achat de l'abonnement. Ce champ n'est défini que si cet achat n'a pas été effectué à l'aide du flux de facturation standard dans l'application. Les valeurs possibles sont: 0. Test (c'est-à-dire acheté auprès d'un compte de test de licence) 1. Promotion (par exemple, acheté avec un code promotionnel)

priceChange

object (SubscriptionPriceChange)

Les dernières informations sur les changements de prix disponibles. Cette option n'est disponible que lorsqu'un changement de prix est prévu pour l'abonnement et qu'il n'a pas encore été appliqué.

Une fois l'abonnement renouvelé avec le nouveau prix ou annulé, aucune information sur la modification du prix ne sera renvoyée.

profileName

string

Nom du profil de l'utilisateur au moment de l'achat de l'abonnement. Uniquement disponible pour les achats effectués avec "S'abonner avec Google".

emailAddress

string

Adresse e-mail de l'utilisateur au moment de la souscription de l'abonnement. Uniquement disponible pour les achats effectués avec "S'abonner avec Google".

givenName

string

Prénom de l'utilisateur lors de l'achat de l'abonnement. Uniquement disponible pour les achats effectués avec "S'abonner avec Google".

familyName

string

Nom de famille de l'utilisateur au moment de l'achat de l'abonnement. Uniquement disponible pour les achats effectués avec "S'abonner avec Google".

profileId

string

ID de profil Google de l'utilisateur au moment de l'achat de l'abonnement. Uniquement disponible pour les achats effectués avec "S'abonner avec Google".

acknowledgementState

integer

État de la confirmation du produit d'abonnement. Les valeurs possibles sont: 0. À confirmer 1. Confirmation

externalAccountId

string

Identifiant du compte utilisateur dans le service tiers. Présent uniquement si l'association de compte a eu lieu dans le cadre du parcours d'achat de l'abonnement.

promotionType

integer

Type de promotion appliquée à cet achat. Ce champ n'est défini que si une promotion est appliquée lors de l'achat de l'abonnement. Les valeurs possibles sont: 0. Code unique 1. Code vanity

promotionCode

string

Code promotionnel appliqué à cet achat. Ce champ n'est défini que si une promotion avec un code personnalisé est appliquée lors de l'achat de l'abonnement.

obfuscatedExternalAccountId

string

Version obscurcie de l'ID associé uniquement au compte de l'utilisateur dans votre application. Présent pour les achats suivants: * Si l'association de compte a eu lieu lors du parcours d'achat d'un abonnement. * Il a été spécifié à l'aide de https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid lors de l'achat.

obfuscatedExternalProfileId

string

Version obscurcie de l'ID associée uniquement au profil de l'utilisateur dans votre application. Ne s'affiche que si elle est spécifiée à l'aide de https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid lors de l'achat.

IntroductoryPriceInfo

Inclut les informations sur le prix de lancement d'un abonnement.

Représentation JSON
{
  "introductoryPriceCurrencyCode": string,
  "introductoryPriceAmountMicros": string,
  "introductoryPricePeriod": string,
  "introductoryPriceCycles": integer
}
Champs
introductoryPriceCurrencyCode

string

Code de devise ISO 4217 pour le prix de l'abonnement de lancement. Par exemple, si le prix est spécifié en livres sterling, le code de devise du prix est "GBP".

introductoryPriceAmountMicros

string (int64 format)

Prix découverte de l'abonnement, hors taxes. La devise est identique à priceCurrencyCode. Le prix est exprimé en micro-unités, où 1 000 000 de micro-unités représentent une unité de la devise. Par exemple, si le prix de l'abonnement est de 1,99 €, la valeur priceAmountMicros est 1990000.

introductoryPricePeriod

string

Période du prix découverte, spécifiée au format ISO 8601. Les valeurs courantes sont (mais sans s'y limiter) "P1W" (une semaine), "P1M" (un mois), "P3M" (trois mois), "P6M" (six mois) et "P1Y" (un an).

introductoryPriceCycles

integer

Nombre de périodes de facturation pour lesquelles vous proposez un prix de lancement.

SubscriptionCancelSurveyResult

Informations fournies par l'utilisateur lorsqu'il termine le parcours de résiliation d'un abonnement (enquête sur la raison de la résiliation).

Représentation JSON
{
  "cancelSurveyReason": integer,
  "userInputCancelReason": string
}
Champs
cancelSurveyReason

integer

Motif de résiliation choisi par l'utilisateur dans l'enquête. Les valeurs possibles sont: 0. Autre 1. Je n'utilise pas suffisamment ce service 2. Problèmes techniques 3. Ma décision est liée au coût de l'abonnement 4. J'ai trouvé une meilleure application

userInputCancelReason

string

Motif d'annulation de l'entrée personnalisée par l'utilisateur. N'est présent que si cancelReason est défini sur 0.

SubscriptionPriceChange

Contient les informations sur le changement de prix d'un abonnement qui peuvent être utilisées pour contrôler le parcours utilisateur pour le changement de prix dans l'application. Il peut s'agir de demander la confirmation de l'utilisateur ou d'adapter l'expérience pour une conversion réussie.

Représentation JSON
{
  "newPrice": {
    object (Price)
  },
  "state": integer
}
Champs
newPrice

object (Price)

Nouveau prix auquel l'abonnement sera renouvelé si l'utilisateur accepte le changement de prix.

state

integer

État actuel de la modification de prix. Les valeurs possibles sont: 0. En attente: état d'un changement de prix en attente de l'acceptation de l'utilisateur. Dans cet état, vous pouvez demander à l'utilisateur de confirmer l'opération à l'aide de l'API In-App. 1. Accepté: état d'un changement de prix accepté avec lequel l'abonnement sera renouvelé, sauf s'il est résilié. Le changement de prix prend effet à une date ultérieure, lors du renouvellement de l'abonnement. Notez que le changement ne sera peut-être pas appliqué lors du prochain renouvellement de l'abonnement.

Méthodes

acknowledge

Confirme l'achat d'un abonnement.

cancel

Annule l'achat d'un abonnement par un utilisateur.

defer

Reporte l'achat d'un abonnement d'un utilisateur jusqu'à une date d'expiration ultérieure spécifiée.

get

Vérifie si l'achat d'abonnement d'un utilisateur est valide et renvoie la date d'expiration.

refund

Rembourse l'achat d'un abonnement par un utilisateur, mais l'abonnement reste valide jusqu'à sa date d'expiration et continuera de se renouveler.

revoke

Rembourse et révoque immédiatement l'abonnement d'un utilisateur.