REST Resource: purchases.subscriptions

Ressource: SubscriptionPurchase

Une ressource SubscriptionPurchase indique l'état de l'achat d'un abonnement par 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 genre représente un objet subscriptionPurchase dans le service androidpublisher.

startTimeMillis

string (int64 format)

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

expiryTimeMillis

string (int64 format)

Heure d'expiration de l'abonnement, en millisecondes depuis l'epoch.

autoResumeTimeMillis

string (int64 format)

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

autoRenewing

boolean

Indique si l'abonnement sera automatiquement renouvelé lorsqu'il atteindra sa date d'expiration actuelle.

priceCurrencyCode

string

Code de devise ISO 4217 pour le prix de l'abonnement. Par exemple, si le prix est indiqué en livres sterling, la valeur de priceCurrencyCode est "GBP".

priceAmountMicros

string (int64 format)

Prix de l'abonnement hors taxes, pour les pays concernés. Pour les pays où les taxes sont incluses dans le prix de vente, le prix inclut toutes les taxes applicables. Le prix est exprimé en micro-unités, où 1 000 000 de micro-unités représente une unité de la devise. Par exemple, si le prix de l'abonnement est de 1,99 €, priceAmountMicros est de 1 990 000.

introductoryPriceInfo

object (IntroductoryPriceInfo)

Informations sur le prix découverte de l'abonnement. Il n'est présent que lorsque l'abonnement a été souscrit avec un prix découverte.

Ce champ n'indique pas que l'abonnement est actuellement en période de prix découverte.

countryCode

string

Code ISO 3166-1 alpha-2 du pays/de la région de facturation de l'utilisateur au moment où l'abonnement a été accordé.

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/rétrogradation différée en attente

Non présent pour les abonnements résiliés et arrivés à expiration.

cancelReason

integer

Raison pour laquelle un abonnement a été résilié ou ne se renouvelle pas automatiquement. 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 2. 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 0.

cancelSurveyResult

object (SubscriptionCancelSurveyResult)

Informations fournies par l'utilisateur lorsqu'il suit le processus de résiliation d'abonnement (enquête sur le motif de résiliation).

orderId

string

Identifiant de la dernière commande périodique associée à l'achat de l'abonnement. Si l'abonnement a été résilié parce que le paiement a été refusé, il s'agit de l'ID de la commande de paiement refusée.

linkedPurchaseToken

string

Jeton d'achat de l'achat initial si cet abonnement correspond à l'un des éléments suivants: 0. Réinscription d'un abonnement résilié, mais non expiré 1. Passer à un abonnement supérieur ou inférieur

Par exemple, supposons qu'un utilisateur s'est initialement inscrit et que vous receviez le jeton d'achat X. Ensuite, l'utilisateur annule son abonnement et suit le processus de réinscription (avant l'expiration de son abonnement) et vous recevez le jeton d'achat Y. Enfin, l'utilisateur met à niveau 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é via le flux standard de facturation des achats in-app. Les valeurs possibles sont: 0. Test (achat via un compte de test de licence) 1. Promotion (achetée à l'aide d'un code promotionnel)

priceChange

object (SubscriptionPriceChange)

Dernières informations sur les changements de prix disponibles. Il n'est visible que si un changement de prix est prévu pour l'abonnement qui n'a pas encore été appliqué.

Une fois l'abonnement renouvelé au nouveau prix ou annulé, aucune information sur le changement de prix ne sera renvoyée.

profileName

string

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

emailAddress

string

Adresse e-mail de l'utilisateur lors de l'achat de l'abonnement. Uniquement disponible pour les achats effectués via "S'abonner avec Google".

givenName

string

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

familyName

string

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

profileId

string

Identifiant du profil Google de l'utilisateur lors de l'achat de l'abonnement. Uniquement disponible pour les achats effectués via "S'abonner avec Google".

acknowledgementState

integer

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

externalAccountId

string

Identifiant de compte utilisateur dans le service tiers. Uniquement présente si l'association de comptes a été effectuée lors du parcours d'achat d'un abonnement.

promotionType

integer

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

promotionCode

string

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

obfuscatedExternalAccountId

string

Version obscurcie de l'ID associée de manière unique au compte de l'utilisateur dans votre application. À présenter pour les achats suivants: * si l'association de comptes a été effectuée dans le cadre du parcours d'achat d'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 de manière unique au profil de l'utilisateur dans votre application. Présent uniquement s'il est spécifié avec https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid lors de l'achat.

IntroductoryPriceInfo

Contient les informations sur le prix découverte 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 lancement de l'abonnement. Par exemple, si le prix est indiqué en livres sterling, la valeur de priceCurrencyCode 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ésente une unité de la devise. Par exemple, si le prix de l'abonnement est de 1,99 €, priceAmountMicros est de 1 990 000.

introductoryPricePeriod

string

Période du prix de lancement, spécifiée au format ISO 8601. Les valeurs courantes sont, 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 proposer le prix découverte.

SubscriptionCancelSurveyResult

Informations fournies par l'utilisateur lorsqu'il suit le processus de résiliation d'abonnement (enquête sur le motif de résiliation).

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

integer

Motif de l'annulation choisi par l'utilisateur dans l'enquête. Les valeurs possibles sont: 0. Autre 1. Je n'utilise pas assez ce service 2. Problèmes techniques 3. Raisons liées au coût 4. J'ai trouvé une meilleure application

userInputCancelReason

string

Motif d'annulation de l'entrée personnalisée fourni par l'utilisateur. Présent uniquement si cancelReason est 0.

SubscriptionPriceChange

Contient des informations sur le changement de prix d'un abonnement, qui peuvent être utilisées pour contrôler le parcours utilisateur lors du 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 est renouvelé si le changement de prix est accepté par l'utilisateur.

state

integer

État actuel du changement de prix. Les valeurs possibles sont: 0. En attente: état d'un changement de prix en attente de l'accord de l'utilisateur. Dans cet état, vous pouvez éventuellement demander confirmation à l'utilisateur à l'aide de l'API intégrée à l'application. 1. Accepté: état pour un changement de prix accepté qui entraînera le renouvellement de l'abonnement, sauf s'il est résilié. Le changement de prix prendra effet à une date ultérieure lors du renouvellement de l'abonnement. Notez que la modification peut ne pas avoir lieu lors du prochain renouvellement de l'abonnement.

Méthodes

acknowledge

Prend en compte l'achat d'un abonnement.

cancel

Annule l'abonnement d'un utilisateur.

defer

Reporte l'achat d'un abonnement par un utilisateur jusqu'à un délai d'expiration futur spécifié.

get

Vérifie si l'abonnement d'un utilisateur est valide et renvoie son délai d'expiration.

refund

Rembourse l'abonnement d'un utilisateur, mais l'abonnement reste valide jusqu'à sa date d'expiration et se répète.

revoke

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