REST Resource: purchases.subscriptionsv2

Ressource: SubscriptionPurchaseV2

Indique l'état de l'achat d'un abonnement par l'utilisateur.

Représentation JSON
{
  "kind": string,
  "regionCode": string,
  "lineItems": [
    {
      object (SubscriptionPurchaseLineItem)
    }
  ],
  "startTime": string,
  "subscriptionState": enum (SubscriptionState),
  "latestOrderId": string,
  "linkedPurchaseToken": string,
  "pausedStateContext": {
    object (PausedStateContext)
  },
  "canceledStateContext": {
    object (CanceledStateContext)
  },
  "testPurchase": {
    object (TestPurchase)
  },
  "acknowledgementState": enum (AcknowledgementState),
  "externalAccountIdentifiers": {
    object (ExternalAccountIdentifiers)
  },
  "subscribeWithGoogleInfo": {
    object (SubscribeWithGoogleInfo)
  }
}
Champs
kind

string

Ce genre représente un objet SubscriptionPurchaseV2 dans le service androidpublisher.

regionCode

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é.

lineItems[]

object (SubscriptionPurchaseLineItem)

Informations au niveau de l'article pour la souscription d'un abonnement. Les articles d'un même achat doivent être tous associés à AutoRenewingPlan ou à PrepaidPlan.

startTime

string (Timestamp format)

Heure à laquelle l'abonnement a été accordé. Non défini pour les abonnements en attente (l'abonnement a été créé, mais en attente de paiement lors de l'inscription).

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

subscriptionState

enum (SubscriptionState)

État actuel de l'abonnement.

latestOrderId

string

ID de la dernière commande associée à l'achat de l'abonnement. Pour l'abonnement avec renouvellement automatique, il s'agit de l'ID de la commande d'inscription si celle-ci n'a pas encore été renouvelée ou de l'ID de la dernière commande périodique (commande réussie, en attente ou refusée). Pour un abonnement prépayé, il s'agit de l'ID de commande associé au jeton d'achat interrogé.

linkedPurchaseToken

string

Jeton d'achat de l'ancien abonnement, si cet abonnement est l'un des éléments suivants: * Réinscription d'un abonnement résilié, mais non expiré * Mise à niveau ou rétrogradation d'un abonnement précédent * Passer d'un abonnement prépayé à un abonnement à renouvellement automatique * Passer d'un abonnement à renouvellement automatique à un abonnement prépayé. * Créditer un abonnement prépayé

pausedStateContext

object (PausedStateContext)

Contexte supplémentaire sur la suspension des abonnements. Présent uniquement si l'abonnement présente actuellement subscriptionState SUBSCRIPTION_STATE_PAUSED.

canceledStateContext

object (CanceledStateContext)

Contexte supplémentaire sur les abonnements résiliés. Uniquement présente si l'abonnement a actuellement un état d'abonnement : SUBSCRIPTION_STATE_CANCELED ou SUBSCRIPTION_STATE_EXPIRED.

testPurchase

object (TestPurchase)

Uniquement présente si cet abonnement est un achat test.

acknowledgementState

enum (AcknowledgementState)

État de confirmation de l'abonnement.

externalAccountIdentifiers

object (ExternalAccountIdentifiers)

Identifiant de compte utilisateur dans le service tiers.

subscribeWithGoogleInfo

object (SubscribeWithGoogleInfo)

Profil utilisateur associé aux achats effectués via "S'abonner avec Google".

SubscriptionState

États potentiels dans lesquels un abonnement peut se trouver (par exemple, s'il est actif ou résilié). Les abonnements peuvent être tous des forfaits à renouvellement automatique ou des forfaits prépayés.

Enums
SUBSCRIPTION_STATE_UNSPECIFIED État de l'abonnement non spécifié.
SUBSCRIPTION_STATE_PENDING L'abonnement a été créé, mais le paiement est en attente de paiement lors de l'inscription. Avec cet état, tous les articles sont en attente de paiement.
SUBSCRIPTION_STATE_ACTIVE L'abonnement est actif. - (1) Si l'abonnement est un forfait à renouvellement automatique, au moins un article est défini sur autoRenewEnabled et n'a pas expiré. - (2) Si l'abonnement est un forfait prépayé, au moins un article n'est pas arrivé à expiration.
SUBSCRIPTION_STATE_PAUSED L'abonnement est suspendu. L'état n'est disponible que lorsque l'abonnement est un forfait à renouvellement automatique. Dans cet état, tous les éléments sont mis en veille.
SUBSCRIPTION_STATE_IN_GRACE_PERIOD L'abonnement est en délai de grâce. L'état n'est disponible que lorsque l'abonnement est un forfait à renouvellement automatique. Dans cet état, tous les articles sont soumis à un délai de grâce.
SUBSCRIPTION_STATE_ON_HOLD L'abonnement est en attente (suspendu). L'état n'est disponible que lorsque l'abonnement est un forfait à renouvellement automatique. Dans cet état, tous les éléments sont en attente.
SUBSCRIPTION_STATE_CANCELED L'abonnement a été résilié, mais n'a pas encore expiré. L'état n'est disponible que lorsque l'abonnement est un forfait à renouvellement automatique. Le paramètre autoRenewEnabled est défini sur "false" pour tous les éléments.
SUBSCRIPTION_STATE_EXPIRED L'abonnement a expiré. La valeur expiryTime pour tous les éléments est située dans le passé.
SUBSCRIPTION_STATE_PENDING_PURCHASE_CANCELED La transaction en attente pour l'abonnement a été annulée. Si cet achat en attente concernait un abonnement existant, utilisez linkedPurchaseToken pour obtenir l'état actuel de cet abonnement.

PausedStateContext

Informations spécifiques à un abonnement suspendu.

Représentation JSON
{
  "autoResumeTime": string
}
Champs
autoResumeTime

string (Timestamp format)

Heure à laquelle l'abonnement sera automatiquement réactivé.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

CanceledStateContext

Informations spécifiques à un abonnement dont l'état est SUBSCRIPTION_STATE_CANCELED ou SUBSCRIPTION_STATE_EXPIRED.

Représentation JSON
{

  // Union field cancellation_reason can be only one of the following:
  "userInitiatedCancellation": {
    object (UserInitiatedCancellation)
  },
  "systemInitiatedCancellation": {
    object (SystemInitiatedCancellation)
  },
  "developerInitiatedCancellation": {
    object (DeveloperInitiatedCancellation)
  },
  "replacementCancellation": {
    object (ReplacementCancellation)
  }
  // End of list of possible types for union field cancellation_reason.
}
Champs
Champ d'union cancellation_reason. Motif de l'annulation d'un abonnement. cancellation_reason ne peut être qu'un des éléments suivants :
userInitiatedCancellation

object (UserInitiatedCancellation)

L'abonnement a été résilié par l'utilisateur.

systemInitiatedCancellation

object (SystemInitiatedCancellation)

L'abonnement a été résilié par le système (en raison d'un problème de facturation, par exemple).

developerInitiatedCancellation

object (DeveloperInitiatedCancellation)

L'abonnement a été résilié par le développeur.

replacementCancellation

object (ReplacementCancellation)

L'abonnement a été remplacé par un nouvel abonnement.

UserInitiatedCancellation

Informations spécifiques aux résiliations à l'initiative des utilisateurs.

Représentation JSON
{
  "cancelSurveyResult": {
    object (CancelSurveyResult)
  },
  "cancelTime": string
}
Champs
cancelSurveyResult

object (CancelSurveyResult)

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

cancelTime

string (Timestamp format)

Heure à laquelle l'abonnement a été résilié par l'utilisateur. Il est possible que l'utilisateur ait toujours accès à l'abonnement après cette période. Utilisez lineItems.expiry_time pour déterminer si un utilisateur y a toujours accès.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

CancelSurveyResult

Résultat de l'enquête d'annulation lorsque l'abonnement a été résilié par l'utilisateur.

Représentation JSON
{
  "reason": enum (CancelSurveyReason),
  "reasonUserInput": string
}
Champs
reason

enum (CancelSurveyReason)

Raison sélectionnée par l'utilisateur dans l'enquête d'annulation.

reasonUserInput

string

Défini uniquement pour CANCEL_SURVEY_REASON_OTHERS. Il s'agit de la réponse libre de l'utilisateur à l'enquête.

CancelSurveyReason

Raison sélectionnée par l'utilisateur dans l'enquête d'annulation.

Enums
CANCEL_SURVEY_REASON_UNSPECIFIED Motif d'annulation de l'enquête non spécifié.
CANCEL_SURVEY_REASON_NOT_ENOUGH_USAGE Utilisation insuffisante de l'abonnement.
CANCEL_SURVEY_REASON_TECHNICAL_ISSUES Problèmes techniques lors de l'utilisation de l'application.
CANCEL_SURVEY_REASON_FOUND_BETTER_APP L'utilisateur a trouvé une meilleure application.
CANCEL_SURVEY_REASON_OTHERS Autres raisons.

SystemInitiatedCancellation

Ce type ne comporte aucun champ.

Informations spécifiques aux résiliations initiées par le système Google.

DeveloperInitiatedCancellation

Ce type ne comporte aucun champ.

Informations spécifiques aux résiliations initiées par les développeurs.

ReplacementCancellation

Ce type ne comporte aucun champ.

Informations spécifiques aux résiliations causées par le remplacement d'un abonnement.

TestPurchase

Ce type ne comporte aucun champ.

Indique si cet abonnement est un achat test.

AcknowledgementState

États de confirmation possibles pour un abonnement.

Enums
ACKNOWLEDGEMENT_STATE_UNSPECIFIED État de confirmation non spécifié.
ACKNOWLEDGEMENT_STATE_PENDING L'abonnement n'a pas encore été confirmé.
ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED L'abonnement est confirmé.

ExternalAccountIdentifiers

Identifiant de compte utilisateur dans le service tiers.

Représentation JSON
{
  "externalAccountId": string,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string
}
Champs
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.

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.

SubscribeWithGoogleInfo

Informations associées aux achats effectués via la fonctionnalité S'abonner avec Google.

Représentation JSON
{
  "profileId": string,
  "profileName": string,
  "emailAddress": string,
  "givenName": string,
  "familyName": string
}
Champs
profileId

string

Identifiant du profil Google de l'utilisateur lors de l'achat de l'abonnement.

profileName

string

Nom de profil de l'utilisateur au moment de l'achat de l'abonnement.

emailAddress

string

Adresse e-mail de l'utilisateur lors de l'achat de l'abonnement.

givenName

string

Nom de l'utilisateur lors de l'achat de l'abonnement.

familyName

string

Nom de famille de l'utilisateur lors de l'achat de l'abonnement.

SubscriptionPurchaseLineItem

Informations au niveau de l'article pour la souscription d'un abonnement.

Représentation JSON
{
  "productId": string,
  "expiryTime": string,

  // Union field plan_type can be only one of the following:
  "autoRenewingPlan": {
    object (AutoRenewingPlan)
  },
  "prepaidPlan": {
    object (PrepaidPlan)
  }
  // End of list of possible types for union field plan_type.
  "offerDetails": {
    object (OfferDetails)
  },

  // Union field deferred_item_change can be only one of the following:
  "deferredItemReplacement": {
    object (DeferredItemReplacement)
  }
  // End of list of possible types for union field deferred_item_change.
}
Champs
productId

string

ID du produit acheté (par exemple, "mensuel001").

expiryTime

string (Timestamp format)

Heure d'expiration ou d'expiration de l'abonnement, sauf si l'accès est prolongé (renouvellement, par exemple).

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

Champ d'union plan_type. Type d'abonnement. plan_type ne peut être qu'un des éléments suivants :
autoRenewingPlan

object (AutoRenewingPlan)

L'article est en cours de renouvellement automatique.

prepaidPlan

object (PrepaidPlan)

L'article est prépayé.

offerDetails

object (OfferDetails)

Détails de l'offre pour cet article.

Champ d'union deferred_item_change. Le champ est présent lorsqu'un élément comporte une modification différée. Vous pouvez soit le retirer, soit le remplacer. deferred_item_change ne peut être qu'un des éléments suivants :
deferredItemReplacement

object (DeferredItemReplacement)

Informations sur le remplacement d'article différé.

AutoRenewingPlan

Informations concernant un forfait à renouvellement automatique.

Représentation JSON
{
  "autoRenewEnabled": boolean,
  "priceChangeDetails": {
    object (SubscriptionItemPriceChangeDetails)
  },
  "installmentDetails": {
    object (InstallmentPlan)
  }
}
Champs
autoRenewEnabled

boolean

Si l'abonnement est configuré pour se renouveler automatiquement (par exemple, l'utilisateur n'a pas résilié l'abonnement.

priceChangeDetails

object (SubscriptionItemPriceChangeDetails)

Informations sur le dernier changement de prix de l'article depuis l'inscription à l'abonnement.

installmentDetails

object (InstallmentPlan)

Engagement du plan de versement et informations sur l'État du plan de renouvellement automatique.

SubscriptionItemPriceChangeDetails

Informations liées au changement de prix d'un abonnement.

Représentation JSON
{
  "newPrice": {
    object (Money)
  },
  "priceChangeMode": enum (PriceChangeMode),
  "priceChangeState": enum (PriceChangeState),
  "expectedNewPriceChargeTime": string
}
Champs
newPrice

object (Money)

Nouveau prix récurrent pour l'élément d'abonnement.

priceChangeMode

enum (PriceChangeMode)

Le mode de changement de prix définit les modifications apportées au prix de l'abonnement.

priceChangeState

enum (PriceChangeState)

Indiquez que le changement de prix est en cours.

expectedNewPriceChargeTime

string (Timestamp format)

Date et heure du renouvellement à partir desquelles le changement de prix prendra effet pour l'utilisateur. Ce délai est susceptible d'être modifié (à une date ultérieure) en raison de cas où l'heure de renouvellement est décalée (par exemple, la suspension). Ce champ n'est renseigné que si le changement de prix n'a pas été pris en compte.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

PriceChangeMode

Mode du changement de prix.

Enums
PRICE_CHANGE_MODE_UNSPECIFIED Mode de changement de prix non spécifié. Cette valeur ne doit jamais être définie.
PRICE_DECREASE Si le prix de l'abonnement diminue.
PRICE_INCREASE Si le prix de l'abonnement augmente et que l'utilisateur doit l'accepter.
OPT_OUT_PRICE_INCREASE Si le prix de l'abonnement augmente avec le mode de désactivation.

PriceChangeState

État du changement de prix.

Enums
PRICE_CHANGE_STATE_UNSPECIFIED État du changement du prix non spécifié. Cette valeur ne doit pas être utilisée.
OUTSTANDING En attente de l'accord de l'utilisateur pour le changement de prix.
CONFIRMED Le changement de prix est confirmé pour l'utilisateur.
APPLIED Le changement de prix s'applique, c'est-à-dire que le nouveau prix a été facturé à l'utilisateur.

InstallmentPlan

Informations sur un plan de versement.

Représentation JSON
{
  "initialCommittedPaymentsCount": integer,
  "subsequentCommittedPaymentsCount": integer,
  "remainingCommittedPaymentsCount": integer,
  "pendingCancellation": {
    object (PendingCancellation)
  }
}
Champs
initialCommittedPaymentsCount

integer

Nombre total de paiements pour lesquels l'utilisateur est initialement engagé.

subsequentCommittedPaymentsCount

integer

Nombre total de paiements pour lesquels l'utilisateur sera engagé après chaque période d'engagement. Vide signifie que le plan de versement repassera à un abonnement à renouvellement automatique normal après l'engagement initial.

remainingCommittedPaymentsCount

integer

Nombre total de paiements encore engagés à régler pour ce cycle de renouvellement.

pendingCancellation

object (PendingCancellation)

S'il est présent, ce plan de versement est en attente d'annulation. L'annulation ne se produira qu'une fois que l'utilisateur aura terminé tous les paiements engagés.

PendingCancellation

Ce type ne comporte aucun champ.

Indique si une annulation est en attente sur le plan de versement virtuel. L'annulation ne se produira qu'une fois que l'utilisateur aura terminé tous les paiements engagés.

PrepaidPlan

Informations sur un forfait prépayé.

Représentation JSON
{
  "allowExtendAfterTime": string
}
Champs
allowExtendAfterTime

string (Timestamp format)

S'il est présent, il s'agit du délai après lequel les achats de recharge de crédit sont autorisés pour le forfait prépayé. Ne sera pas disponible pour les forfaits prépayés arrivés à expiration.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

OfferDetails

Détails de l'offre concernant une ligne d'achat.

Représentation JSON
{
  "offerTags": [
    string
  ],
  "basePlanId": string,
  "offerId": string
}
Champs
offerTags[]

string

Derniers tags associés à l'offre. Il inclut les tags hérités du forfait de base.

basePlanId

string

ID du forfait de base. Disponible pour tous les forfaits de base et toutes les offres.

offerId

string

ID de l'offre. Uniquement disponible pour les offres à prix réduit.

DeferredItemReplacement

Informations concernant le remplacement différé d'un article.

Représentation JSON
{
  "productId": string
}
Champs
productId

string

productId qui va remplacer le productId existant.

Méthodes

get

Obtenir des métadonnées sur un abonnement

revoke

Annulez l'achat d'un abonnement pour l'utilisateur.