REST Resource: purchases.subscriptions

Ressource: SubscriptionPurchase

Une ressource SubscriptionPurchase indique l'état d'un abonnement d'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'époque.

autoResumeTimeMillis

string (int64 format)

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

autoRenewing

boolean

Indique si l'abonnement sera renouvelé automatiquement lorsqu'il aura 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, la valeur de l'attribut "priceCurrencyCode" est "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 incluses, le prix inclut les taxes. Le prix est exprimé en micro-unités, où 1 000 000 micro-unités représentent 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. Elle n'est disponible que lorsque l'abonnement a été souscrit à un prix découverte.

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

countryCode

string

Code pays/région de facturation ISO 3166-1 alpha-2 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 offert n° 3 Mise à niveau ou retour à une version antérieure en attente

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

cancelReason

integer

Motif de l'annulation ou du renouvellement automatique d'un abonnement. Les valeurs possibles sont: 0. L'utilisateur a résilié l'abonnement 1. Le système a résilié l'abonnement, 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'utilisateur a annulé l'abonnement, en millisecondes depuis l'époque. Uniquement présente si la valeur de reasonReason est 0.

cancelSurveyResult

object (SubscriptionCancelSurveyResult)

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

orderId

string

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

linkedPurchaseToken

string

Jeton d'achat de l'achat d'origine si l'un des abonnements suivants est disponible: 0. Réinscription d'un abonnement annulé, mais non arrivé à expiration. 1. Passer à un abonnement supérieur ou inférieur

Par exemple, supposons qu'un utilisateur s'inscrive et que vous receviez le jeton d'achat X. L'utilisateur annule le processus et suit la procédure de réinscription (avant l'expiration de son abonnement), vous recevez le jeton d'achat Y, et enfin, il met son abonnement à niveau 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é avec le flux de facturation des achats in-app standard. Les valeurs possibles sont: 0. Test (c'est-à-dire acheté depuis un compte de test de licence) 1. Promo (achat à l'aide d'un code promotionnel)

priceChange

object (SubscriptionPriceChange)

Dernières informations sur les changements de prix disponibles. Cette information n'est disponible que lorsque le prix de l'abonnement doit encore être modifié.

Une fois l'abonnement renouvelé avec le nouveau prix ou l'abonnement résilié, aucune information sur les changements de prix ne sera renvoyée.

profileName

string

Nom de profil de l'utilisateur lors de la souscription de l'abonnement. Disponible uniquement pour les achats effectués avec l'option "S'abonner avec Google".

emailAddress

string

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

givenName

string

Nom donné de l'utilisateur lors de la souscription de l'abonnement. Disponible uniquement pour les achats effectués avec l'option "S'abonner avec Google".

familyName

string

Nom de famille de l'utilisateur lors de la souscription de l'abonnement. Disponible uniquement pour les achats effectués avec l'option "S'abonner avec Google".

profileId

string

ID du profil Google de l'utilisateur lors de la souscription de l'abonnement. Disponible uniquement pour les achats effectués avec l'option "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. Uniquement si l'association de comptes a eu lieu dans le cadre du parcours d'achat d'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 la souscription de l'abonnement. Les valeurs possibles sont: 0. Code unique 1. Code personnalisé

promotionCode

string

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

obfuscatedExternalAccountId

string

Version obscurcie de l'ID qui est associée de manière unique au compte de l'utilisateur dans votre application. Effectuez la présentation pour les achats suivants: * Si l'association de compte a eu lieu 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 qui est associée de manière unique 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.

Introprix

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 Par exemple, si le prix est exprimé en livres sterling, la valeur de l'attribut "priceCurrencyCode" est "GBP".

introductoryPriceAmountMicros

string (int64 format)

Prix de lancement de l'abonnement, hors taxes. La devise est identique à celle de priceCurrencyCode. Le prix est exprimé en micro-unités, où 1 000 000 micro-unités représentent 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 de prix découverte, au format ISO 8601. Les valeurs courantes sont (mais pas uniquement) "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 un prix découverte est proposé.

SubscriptionCancelSurveyResult

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

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. Motifs liés aux coûts 4. J'ai trouvé une meilleure application

userInputCancelReason

string

Motif d'annulation de la saisie personnalisé par l'utilisateur. Présent uniquement lorsque la valeur "cancelReason" est égale à 0.

Modification du prix de l'abonnement

Contient les informations sur le changement de prix d'un abonnement qui peut être utilisé pour contrôler le parcours utilisateur du changement de prix dans l'application. Cela peut prendre la forme 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 avec lequel l'abonnement sera renouvelé si l'utilisateur accepte le changement de prix.

state

integer

État actuel du changement de prix. Les valeurs possibles sont: 0. En cours: indiquez qu'une modification de prix est en attente de l'accord de l'utilisateur. Dans cet état, vous pouvez éventuellement demander une confirmation à l'utilisateur à l'aide de l'API In-App. 1. Acceptée: indiquez un changement de prix accepté avec renouvellement de l'abonnement, sauf s'il est résilié. Le changement de tarif prend effet à la date de renouvellement de l'abonnement. Notez que la modification peut ne pas avoir lieu lors du renouvellement de l'abonnement.

Méthodes

acknowledge

Confirmer la souscription d'un abonnement

cancel

Annulation de l'abonnement d'un utilisateur.

defer

Diffère l'abonnement d'un utilisateur jusqu'à une date d'expiration ultérieure spécifiée.

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 il continue à se produire.

revoke

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