REST Resource: purchases.subscriptionsv2

Ressource: SubscriptionPurchaseV2

Indique l'état de l'achat d'un abonnement par un 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 de l'octroi de l'abonnement.

lineItems[]

object (SubscriptionPurchaseLineItem)

Informations au niveau de l'article pour un abonnement. Les articles faisant l'objet 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éfinie pour les abonnements en attente (l'abonnement a été créé, mais le paiement est en attente 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. Dans le cas d'un abonnement à renouvellement automatique, il s'agit de l'ID de la commande d'inscription si elle n'a pas encore été renouvelée, ou de l'ID de la dernière commande récurrente (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 celui-ci est l'un des suivants: * Réinscription d'un abonnement résilié, mais non arrivé à expiration * Passer à un abonnement supérieur ou inférieur * Passer d'un abonnement prépayé à un abonnement à renouvellement automatique * Passer d'un abonnement à renouvellement automatique à un abonnement prépayé * Créditez un abonnement prépayé.

pausedStateContext

object (PausedStateContext)

Contexte supplémentaire sur les abonnements suspendus Présent uniquement si l'abonnement possède actuellement l'état subscriptionState SUBSCRIPTION_STATE_PAUSE.

canceledStateContext

object (CanceledStateContext)

Contexte supplémentaire sur les abonnements résiliés Présent uniquement si l'abonnement présente actuellement l'état subscriptionState SUBSCRIPTION_STATE_CANCELED ou SUBSCRIPTION_STATE_EXPIRED.

testPurchase

object (TestPurchase)

Présent uniquement s'il s'agit d'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é. Lors de l'achat d'un abonnement, il peut s'agir de forfaits à renouvellement automatique ou de 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 lors de l'inscription. Dans 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 autoRenewEnabled et n'a pas expiré. - (2) S'il s'agit d'un abonnement prépayé, au moins un article n'est pas arrivé à expiration.
SUBSCRIPTION_STATE_PAUSED L'abonnement est suspendu. L'état n'est disponible que si 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 si 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 suspendu (suspendu). L'état n'est disponible que si l'abonnement est un forfait à renouvellement automatique. Dans cet état, tous les éléments sont mis en attente.
SUBSCRIPTION_STATE_CANCELED L'abonnement a été résilié, mais n'a pas encore expiré. L'état n'est disponible que si l'abonnement est un forfait à renouvellement automatique. Le paramètre autoRenewEnabled de tous les éléments est défini sur "false".
SUBSCRIPTION_STATE_EXPIRED L'abonnement est arrivé à expiration. Tous les éléments ont un expiryTime dans le passé.
SUBSCRIPTION_STATE_PENDING_PURCHASE_CANCELED La transaction en attente pour l'abonnement a été annulée. Si cet achat en attente concerne 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 à l'état 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é annulé 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 initiées par les utilisateurs.

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

object (CancelSurveyResult)

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

cancelTime

string (Timestamp format)

Heure à laquelle l'abonnement a été résilié par l'utilisateur. Passé ce délai, il est possible que l'utilisateur ait encore accès à l'abonnement. Utilisez lineItems.expiry_time pour déterminer si un utilisateur dispose encore d'un 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'utilisateur a résilié son abonnement.

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

enum (CancelSurveyReason)

Raison pour laquelle l'utilisateur a sélectionné l'enquête 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 pour laquelle l'utilisateur a sélectionné l'enquête 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 la 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. Présent uniquement si l'association de compte s'est produite lors du parcours d'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 du compte s'est produite lors 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 lors de l'achat.

SubscribeWithGoogleInfo

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

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

string

ID de profil Google de l'utilisateur au moment de la souscription de l'abonnement.

profileName

string

Nom de profil de l'utilisateur au moment de la souscription de l'abonnement.

emailAddress

string

Adresse e-mail de l'utilisateur au moment de la souscription de l'abonnement.

givenName

string

Nom de l'utilisateur lors de la souscription de l'abonnement.

familyName

string

Nom de famille de l'utilisateur au moment de la souscription de l'abonnement.

SubscriptionPurchaseLineItem

Informations au niveau de l'article pour 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 à laquelle l'abonnement a expiré ou expirera, sauf s'il est prolongé (par exemple, en cas de renouvellement).

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

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 la supprimer, soit la remplacer. deferred_item_change ne peut être qu'un des éléments suivants :
deferredItemReplacement

object (DeferredItemReplacement)

Informations concernant 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 actuellement configuré pour se renouveler automatiquement (par exemple, si l'utilisateur n'a pas résilié l'abonnement)

priceChangeDetails

object (SubscriptionItemPriceChangeDetails)

Informations sur la dernière modification du prix de l'article depuis la souscription de l'abonnement.

installmentDetails

object (InstallmentPlan)

L'engagement du plan de versement et les informations sur l'état du forfait à 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'abonnement.

priceChangeMode

enum (PriceChangeMode)

Le mode de changement de prix indique l'évolution du prix de l'élément de l'abonnement.

priceChangeState

enum (PriceChangeState)

Indiquez que le changement de prix a eu lieu.

expectedNewPriceChargeTime

string (Timestamp format)

Date de renouvellement à laquelle le changement de prix entrera en vigueur pour l'utilisateur. Ce délai est susceptible d'être modifié(dans le futur) en cas de décalage horaire de renouvellement, par exemple en cas de mise en veille. Ce champ n'est renseigné que si le changement de prix n'a pas encore pris effet.

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 de changement du 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 baisse.
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 de prix non spécifié. Cette valeur ne doit pas être utilisée.
OUTSTANDING En attente de l'acceptation par l'utilisateur du changement de prix.
CONFIRMED Le changement de prix est confirmé pour l'utilisateur.
APPLIED Le changement de prix est appliqué, c'est-à-dire que le nouveau prix a été facturé à l'utilisateur.

InstallmentPlan

Informations pour un plan de financement.

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

integer

Nombre total de paiements pour lesquels l'utilisateur s'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 revient à un abonnement normal à renouvellement automatique après l'engagement initial.

remainingCommittedPaymentsCount

integer

Nombre total de paiements engagés restant à payer au cours de ce cycle de renouvellement.

pendingCancellation

object (PendingCancellation)

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

PendingCancellation

Ce type ne comporte aucun champ.

Cela indique si le plan de versement virtuel comporte une résiliation en attente. L'annulation n'aura lieu qu'une fois que l'utilisateur aura finalisé tous les paiements engagés.

PrepaidPlan

Informations concernant un forfait prépayé.

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

string (Timestamp format)

S'il est indiqué, il s'agit du délai après lequel les recharges sont autorisées pour le forfait prépayé. Indisponible 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 un élément de campagne 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 toutes les offres et tous les forfaits de base.

offerId

string

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

DeferredItemReplacement

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

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

string

productId va remplacer le productId existant.

Méthodes

get

Obtenir les métadonnées d'un abonnement

revoke

Révoquez l'achat d'un abonnement pour l'utilisateur.