REST Resource: purchases.subscriptionsv2

  • Méthodes
  • Ressource : SubscriptionPurchaseV2

    Indique l'état de l'achat d'abonnement d'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)
      },
      "outOfAppPurchaseContext": {
        object (OutOfAppPurchaseContext)
      }
    }
    Champs
    kind

    string

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

    regionCode

    string

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

    lineItems[]

    object (SubscriptionPurchaseLineItem)

    Informations au niveau des articles pour un achat d'abonnement. Les articles d'un même achat doivent tous être associés à un AutoRenewingPlan ou à un 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 le paiement est en attente lors de l'inscription).

    Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

    subscriptionState

    enum (SubscriptionState)

    État actuel de l'abonnement.

    latestOrderId
    (deprecated)

    string

    Obsolète : utilisez plutôt lineItems.latest_successful_order_id. ID de la dernière commande associée à l'achat de l'abonnement. Pour un abonnement à renouvellement automatique, il s'agit de l'ID de la commande d'inscription si l'abonnement n'a pas encore été renouvelé, 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 demandé.

    linkedPurchaseToken

    string

    Jeton d'achat de l'ancien abonnement si celui-ci correspond à l'un des cas suivants : * Réinscription à un abonnement résilié, mais non expiré * Passage à un abonnement de niveau supérieur ou inférieur * Passer d'un abonnement prépayé à un abonnement à renouvellement automatique. * Passer d'un abonnement à renouvellement automatique à un forfait prépayé * Créditer un abonnement prépayé.

    pausedStateContext

    object (PausedStateContext)

    Contexte supplémentaire concernant les abonnements suspendus. Présent uniquement si l'abonnement est actuellement à l'état SUBSCRIPTION_STATE_PAUSED.

    canceledStateContext

    object (CanceledStateContext)

    Contexte supplémentaire concernant les abonnements résiliés. Présent uniquement si l'abonnement a actuellement l'état SUBSCRIPTION_STATE_CANCELED ou SUBSCRIPTION_STATE_EXPIRED.

    testPurchase

    object (TestPurchase)

    Présent uniquement si cet achat d'abonnement est un achat test.

    acknowledgementState

    enum (AcknowledgementState)

    État de confirmation de l'abonnement.

    externalAccountIdentifiers

    object (ExternalAccountIdentifiers)

    Identifiant du compte utilisateur dans le service tiers.

    subscribeWithGoogleInfo

    object (SubscribeWithGoogleInfo)

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

    outOfAppPurchaseContext

    object (OutOfAppPurchaseContext)

    Contexte supplémentaire pour les achats hors application. Ces informations ne sont présentes que pour les achats de réabonnement (abonnements souscrits après l'expiration de l'abonnement précédent au même produit) effectués via le centre d'abonnement Google Play. Ce champ sera supprimé une fois que vous aurez confirmé l'abonnement.

    SubscriptionState

    États potentiels d'un abonnement (actif ou résilié, par exemple). Les éléments d'un achat d'abonnement peuvent être des forfaits à renouvellement automatique ou des forfaits prépayés.

    Enums
    SUBSCRIPTION_STATE_UNSPECIFIED État d'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 élément est défini sur autoRenewEnabled et n'a pas expiré. - (2) Si l'abonnement est un forfait prépayé, au moins un élément n'a pas expiré.
    SUBSCRIPTION_STATE_PAUSED L'abonnement est suspendu. Cet é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. Cet état n'est disponible que lorsque l'abonnement est un forfait à renouvellement automatique. Dans cet état, tous les éléments sont en période de grâce.
    SUBSCRIPTION_STATE_ON_HOLD L'abonnement est suspendu. Cet é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é. Cet état n'est disponible que lorsque l'abonnement est un forfait à renouvellement automatique. La valeur de autoRenewEnabled est définie sur "false" pour tous les éléments.
    SUBSCRIPTION_STATE_EXPIRED L'abonnement a expiré. Tous les éléments ont une valeur "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 concernait un abonnement existant, utilisez linkedPurchaseToken pour obtenir l'état actuel de cet abonnement.

    PausedStateContext

    Informations spécifiques à un abonnement mis en veille.

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

    string (Timestamp format)

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

    Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

    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. Raison pour laquelle un abonnement a été résilié. 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, par exemple en raison d'un problème de facturation.

    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 suit la procédure de résiliation de l'abonnement (enquête sur la raison de la résiliation).

    cancelTime

    string (Timestamp format)

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

    Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

    CancelSurveyResult

    Résultat de l'enquête sur la résiliation 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 sur la résiliation.

    reasonUserInput

    string

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

    CancelSurveyReason

    Raison sélectionnée par l'utilisateur dans l'enquête sur la résiliation.

    Enums
    CANCEL_SURVEY_REASON_UNSPECIFIED Motif de résiliation de l'enquête non spécifié.
    CANCEL_SURVEY_REASON_NOT_ENOUGH_USAGE Vous n'utilisez pas assez votre 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 Autre motif.

    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 annulations 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 achat d'abonnement est un achat test.

    AcknowledgementState

    États de confirmation possibles pour un abonnement.

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

    ExternalAccountIdentifiers

    Identifiant du compte utilisateur dans le service tiers.

    Représentation JSON
    {
      "externalAccountId": string,
      "obfuscatedExternalAccountId": string,
      "obfuscatedExternalProfileId": string
    }
    Champs
    externalAccountId

    string

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

    obfuscatedExternalAccountId

    string

    Version obscurcie de l'ID associé de manière unique au compte de l'utilisateur dans votre application. Présent pour les achats suivants : * Si l'association de compte a eu lieu 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 au moment de l'achat.

    obfuscatedExternalProfileId

    string

    Version obscurcie de l'ID associé de manière unique au profil de l'utilisateur dans votre application. N'est présent que s'il a été 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 avec S'abonner avec Google.

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

    string

    ID du profil Google de l'utilisateur lors de la souscription de l'abonnement.

    profileName

    string

    Nom du profil 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

    Pré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 des articles pour un achat d'abonnement.

    Représentation JSON
    {
      "productId": string,
      "expiryTime": string,
      "latestSuccessfulOrderId": 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)
      },
      "deferredItemRemoval": {
        object (DeferredItemRemoval)
      }
      // End of list of possible types for union field deferred_item_change.
      "signupPromotion": {
        object (SignupPromotion)
      },
      "itemReplacement": {
        object (ItemReplacement)
      }
    }
    Champs
    productId

    string

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

    expiryTime

    string (Timestamp format)

    Heure à laquelle l'abonnement a expiré ou expirera, sauf si l'accès est prolongé (par exemple, en cas de renouvellement).

    Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

    latestSuccessfulOrderId

    string

    ID de la dernière commande réussie associée à cet article. Absent si l'utilisateur ne possède pas encore l'élément (par exemple, l'élément différé remplacé).

    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. Ce champ s'affiche lorsqu'un élément a une modification différée. Vous pouvez la supprimer ou la remplacer. deferred_item_change ne peut être qu'un des éléments suivants :
    deferredItemReplacement

    object (DeferredItemReplacement)

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

    deferredItemRemoval

    object (DeferredItemRemoval)

    Informations sur la suppression différée d'éléments.

    signupPromotion

    object (SignupPromotion)

    Détails de la promotion concernant cet article. Défini uniquement si une promotion a été appliquée lors de l'inscription.

    itemReplacement

    object (ItemReplacement)

    Détails de l'article remplacé. Ce champ n'est renseigné que si cet article a remplacé un autre article dans un abonnement précédent. Il n'est disponible que 60 jours après la date d'achat.

    AutoRenewingPlan

    Informations liées à un forfait à renouvellement automatique.

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

    boolean

    Si l'abonnement est actuellement configuré pour le renouvellement automatique (par exemple, si l'utilisateur n'a pas résilié l'abonnement)

    recurringPrice

    object (Money)

    Prix récurrent actuel du forfait à renouvellement automatique. Notez que le prix ne tient pas compte des remises et n'inclut pas les taxes pour les prix hors taxes. Veuillez appeler l'API orders.get si vous avez besoin des détails de la transaction.

    priceChangeDetails

    object (SubscriptionItemPriceChangeDetails)

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

    installmentDetails

    object (InstallmentPlan)

    Informations sur l'engagement et l'état du forfait à renouvellement automatique avec paiement échelonné.

    SubscriptionItemPriceChangeDetails

    Informations sur la modification du prix d'un élément d'abonnement.

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

    object (Money)

    Nouveau prix récurrent de l'article d'abonnement.

    priceChangeMode

    enum (PriceChangeMode)

    Le mode de modification du prix indique comment le prix de l'article d'abonnement change.

    priceChangeState

    enum (PriceChangeState)

    Indiquez l'état actuel de la modification du prix.

    expectedNewPriceChargeTime

    string (Timestamp format)

    Heure de renouvellement à laquelle le changement de prix prendra effet pour l'utilisateur. Cette date est susceptible d'être modifiée(à une date ultérieure) dans les cas où la date de renouvellement est décalée, par exemple en cas de suspension. Ce champ n'est renseigné que si le changement de prix n'a pas pris effet.

    Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

    PriceChangeMode

    Mode de modification du prix.

    Enums
    PRICE_CHANGE_MODE_UNSPECIFIED Le mode de modification du prix n'est pas 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 d'opposition expresse.

    PriceChangeState

    État de la modification du prix.

    Enums
    PRICE_CHANGE_STATE_UNSPECIFIED État de la modification 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 est appliqué, c'est-à-dire que le nouvel abonnement est facturé à l'utilisateur.
    CANCELED La modification du prix a été annulée.

    InstallmentPlan

    Informations sur un paiement échelonné.

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

    integer

    Nombre total de paiements auxquels l'utilisateur s'est initialement engagé.

    subsequentCommittedPaymentsCount

    integer

    Nombre total de paiements auxquels l'utilisateur s'engage après chaque période d'engagement. Si vous ne spécifiez aucune valeur, le forfait échelonné reviendra à un abonnement à renouvellement automatique normal après l'engagement initial.

    remainingCommittedPaymentsCount

    integer

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

    pendingCancellation

    object (PendingCancellation)

    Si ce plan de versements est présent, cela signifie qu'il est en attente d'annulation. La résiliation ne sera effective qu'une fois que l'utilisateur aura effectué tous les paiements dus.

    PendingCancellation

    Ce type ne comporte aucun champ.

    Indique si une résiliation est en attente pour le forfait virtuel à paiements échelonnés. La résiliation ne sera effective qu'une fois que l'utilisateur aura effectué tous les paiements dus.

    PriceStepUpConsentDetails

    Informations concernant une augmentation progressive du prix nécessitant le consentement de l'utilisateur.

    Représentation JSON
    {
      "state": enum (ConsentState),
      "consentDeadlineTime": string,
      "newPrice": {
        object (Money)
      }
    }
    Champs
    state

    enum (ConsentState)

    Uniquement en sortie. État du consentement pour l'augmentation du prix.

    consentDeadlineTime

    string (Timestamp format)

    Date limite à laquelle l'utilisateur doit donner son consentement. Si vous ne donnez pas votre consentement d'ici là, l'abonnement sera résilié.

    Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

    newPrice

    object (Money)

    Le nouveau prix, qui nécessite le consentement de l'utilisateur.

    ConsentState

    État du consentement pour l'augmentation du prix.

    Enums
    CONSENT_STATE_UNSPECIFIED État du consentement non spécifié.
    PENDING L'utilisateur n'a pas encore donné son consentement.
    CONFIRMED L'utilisateur a donné son accord et le nouveau prix est en attente d'application.
    COMPLETED L'utilisateur a donné son consentement et le nouveau prix est entré en vigueur.

    PrepaidPlan

    Informations liées à un forfait prépayé.

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

    string (Timestamp format)

    Si cette valeur est présente, il s'agit du délai après lequel les achats de crédit sont autorisés pour le forfait prépayé. Ne s'affiche pas pour les forfaits prépayés expirés.

    Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

    OfferDetails

    Informations sur les détails de l'offre concernant un élément de ligne d'achat.

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

    string

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

    basePlanId

    string

    ID du forfait de base. Présent pour tous les forfaits de base et toutes les offres.

    offerId

    string

    ID de l'offre. (présent uniquement pour les offres à prix réduit)

    DeferredItemReplacement

    Informations liées au remplacement différé d'un article.

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

    string

    ID du produit qui va remplacer l'ID du produit existant.

    DeferredItemRemoval

    Ce type ne comporte aucun champ.

    Informations liées au remplacement différé d'un article.

    SignupPromotion

    Promotion appliquée à cet article lors de l'achat.

    Représentation JSON
    {
    
      // Union field promotion_type can be only one of the following:
      "oneTimeCode": {
        object (OneTimeCode)
      },
      "vanityCode": {
        object (VanityCode)
      }
      // End of list of possible types for union field promotion_type.
    }
    Champs
    Champ d'union promotion_type. Type de promotion appliqué à l'article. promotion_type ne peut être qu'un des éléments suivants :
    oneTimeCode

    object (OneTimeCode)

    Un code unique a été appliqué.

    vanityCode

    object (VanityCode)

    Un code personnalisé a été appliqué.

    OneTimeCode

    Ce type ne comporte aucun champ.

    Code promotionnel à usage unique.

    VanityCode

    Code promotionnel prédéfini à usages multiples.

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

    string

    Code promotionnel.

    ItemReplacement

    Détails concernant un élément de ligne d'abonnement qui est remplacé.

    Représentation JSON
    {
      "productId": string,
      "replacementMode": enum (ReplacementMode),
      "basePlanId": string,
      "offerId": string
    }
    Champs
    productId

    string

    ID du produit de l'abonnement remplacé.

    replacementMode

    enum (ReplacementMode)

    Mode de remplacement appliqué lors de l'achat.

    basePlanId

    string

    ID du forfait de base de l'élément de ligne d'abonnement remplacé.

    offerId

    string

    ID de l'offre de l'élément de campagne d'abonnement remplacé, le cas échéant.

    ReplacementMode

    Mode de remplacement d'un abonnement.

    Enums
    REPLACEMENT_MODE_UNSPECIFIED Mode de remplacement non spécifié.
    WITH_TIME_PRORATION Le nouveau forfait sera calculé au prorata et crédité à partir de l'ancien forfait.
    CHARGE_PRORATED_PRICE Le prix du nouveau forfait sera facturé au prorata à l'utilisateur.
    WITHOUT_PRORATION Le nouveau forfait remplacera l'ancien sans proratisation du temps.
    CHARGE_FULL_PRICE Le prix total du nouveau forfait sera facturé à l'utilisateur.
    DEFERRED L'ancien forfait sera résilié et le nouveau prendra effet à l'expiration de l'ancien.
    KEEP_EXISTING Le forfait restera inchangé avec ce remplacement.

    OutOfAppPurchaseContext

    Informations spécifiques à un achat hors application.

    Représentation JSON
    {
      "expiredExternalAccountIdentifiers": {
        object (ExternalAccountIdentifiers)
      },
      "expiredPurchaseToken": string
    }
    Champs
    expiredExternalAccountIdentifiers

    object (ExternalAccountIdentifiers)

    Identifiant du compte utilisateur du dernier abonnement expiré pour ce SKU.

    expiredPurchaseToken

    string

    Jeton d'achat du dernier abonnement expiré. Ce jeton d'achat ne doit être utilisé que pour identifier l'utilisateur si le lien entre le purchaseToken et l'utilisateur est stocké dans votre base de données. Il ne peut pas être utilisé pour appeler l'API Google Developer s'il a expiré depuis plus de 60 jours.

    Méthodes

    cancel

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

    get

    Obtenir les métadonnées d'un abonnement

    revoke

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

    Codes d'erreur

    Les opérations de cette ressource renvoient les codes d'erreur HTTP suivants :

    Code d'erreur Motif Solution
    5xx Erreur générique sur le serveur Google Play. Réessayez d'envoyer votre demande.

    Si le problème persiste, contactez votre responsable de compte Google Play ou envoyez une demande d'assistance. Pensez à consulter le tableau de bord d'état Play pour connaître les éventuelles interruptions de service connues.

    409 Erreur de mise à jour simultanée.

    Une tentative de mise à jour d'un objet en cours de mise à jour a été effectuée. Par exemple, un achat est confirmé en appelant la méthode acknowledgePurchase() de la bibliothèque Play Billing et la méthode purchases.products.acknowledge de l'API Play Developer en même temps.

    Réessayez d'envoyer votre demande.
    410 L'achat d'abonnement n'est plus disponible pour la requête, car il a expiré depuis trop longtemps. Générée lors de l'interrogation d'un abonnement expiré depuis plus de 60 jours. Vous ne devez plus interroger ces abonnements.