REST Resource: purchases.subscriptions

Ressource: SubscriptionPurchase

Une ressource SubscriptionPurchase indique l'état de l'achat d'un 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 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'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 réactivé, en millisecondes depuis l'epoch. Présent uniquement si l'utilisateur a demandé à suspendre l'abonnement.

autoRenewing

boolean

Ce paramètre indique si l'abonnement est automatiquement renouvelé lorsqu'il atteint sa date d'expiration actuelle.

priceCurrencyCode

string

Code de devise ISO 4217 pour le prix de l'abonnement. Par exemple, si le prix est exprimé en livres sterling, priceCurrencyCode est défini sur "GBP".

priceAmountMicros

string (int64 format)

Prix de l'abonnement. Pour les pays hors taxes, le prix n'inclut pas les taxes. Pour les pays où les taxes sont comprises, le prix inclut les taxes. Le prix est exprimé en micro-unités, où 1 000 000 de micro-unités représente une unité de la monnaie. Par exemple, si le prix de l'abonnement est de 1,99 €, priceAmountMicros est égal à 1990 000.

introductoryPriceInfo

object (IntroductoryPriceInfo)

Informations sur le prix découverte de l'abonnement. Cette information n'est indiquée que si l'abonnement a été acheté 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 de l'octroi 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/retour à une version antérieure en attente

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

cancelReason

integer

La raison pour laquelle un abonnement a été résilié ou n'est pas renouvelé 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 écoulées depuis l'epoch. Présent uniquement si cancelReason est égale à 0.

cancelSurveyResult

object (SubscriptionCancelSurveyResult)

Informations fournies par l'utilisateur lorsqu'il termine la procédure de résiliation de l'abonnement (enquête sur le motif de l'annulation).

orderId

string

ID de la commande de la dernière commande périodique associée à l'achat de l'abonnement. Si l'abonnement a été annulé à cause d'un refus de paiement, il s'agit de l'identifiant de la commande associée au paiement refusé.

linkedPurchaseToken

string

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

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

priceChange

object (SubscriptionPriceChange)

Dernières informations disponibles sur le changement de prix. Cette option n'est disponible que lorsqu'un changement de prix à venir pour l'abonnement n'a pas encore été appliqué.

Une fois l'abonnement renouvelé ou résilié, au nouveau prix, aucune information sur le changement de prix n'est envoyée.

profileName

string

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

emailAddress

string

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

givenName

string

Nom de l'utilisateur au moment de l'achat de l'abonnement. Disponible uniquement pour les achats effectués via S'abonner avec Google.

familyName

string

Nom de famille de l'utilisateur au moment de la souscription de l'abonnement. Disponible uniquement pour les achats effectués via S'abonner avec Google.

profileId

string

ID de profil Google de l'utilisateur au moment de l'achat de l'abonnement. Disponible uniquement 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. Confirmées

externalAccountId

string

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

promotionType

integer

Type de promotion appliqué à 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 à 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 lors 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. Disponible pour les achats suivants: * Si l'association de compte a eu lieu dans le cadre du parcours d'achat de l'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é à l'aide de https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid lorsque l'achat a été effectué.

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 découverte de l'abonnement. Par exemple, si le prix est exprimé en livres sterling, priceCurrencyCode est défini sur "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 monnaie. Par exemple, si le prix de l'abonnement est de 1,99 €, priceAmountMicros est égal à 1990 000.

introductoryPricePeriod

string

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

introductoryPriceCycles

integer

Nombre de périodes de facturation pendant lesquelles nous proposons un prix découverte.

SubscriptionCancelSurveyResult

Informations fournies par l'utilisateur lorsqu'il termine la procédure de résiliation de l'abonnement (enquête sur le motif de l'annulation).

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

integer

Motif d'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. Pour des raisons de coût 4. J'ai trouvé une meilleure application

userInputCancelReason

string

Motif d'annulation de l'entrée personnalisée de l'utilisateur. Présent uniquement lorsque "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 en fonction du changement de prix dans l'application. Il peut s'agir de demander la confirmation de l'utilisateur ou d'adapter l'expérience à une conversion réussie.

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

object (Price)

Nouveau prix de l'abonnement si celui-ci est accepté par l'utilisateur.

state

integer

État actuel du changement de prix. Les valeurs possibles sont: 0. Exceptionnelle: état d'un changement de prix en attente en attente de l'accord de l'utilisateur. Dans cet état, vous pouvez éventuellement demander la confirmation de l'utilisateur à l'aide de l'API In-App. 1. "Accepté" : état indiquant l'acceptation d'un changement de prix pour l'abonnement, sauf s'il est résilié. Le changement de prix prendra effet à une date ultérieure du renouvellement de l'abonnement. Notez que le changement peut ne pas se produire 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 jusqu'à une date d'expiration future spécifiée.

get

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

refund

Rembourse l'achat d'un abonnement, mais l'abonnement reste valide jusqu'à sa date d'expiration et continue de se répéter.

revoke

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