- Ressource : SubscriptionPurchaseV2
- SubscriptionState
- PausedStateContext
- CanceledStateContext
- UserInitiatedCancellation
- CancelSurveyResult
- CancelSurveyReason
- SystemInitiatedCancellation
- DeveloperInitiatedCancellation
- ReplacementCancellation
- TestPurchase
- AcknowledgementState
- ExternalAccountIdentifiers
- SubscribeWithGoogleInfo
- SubscriptionPurchaseLineItem
- AutoRenewingPlan
- SubscriptionItemPriceChangeDetails
- PriceChangeMode
- PriceChangeState
- InstallmentPlan
- PendingCancellation
- PrepaidPlan
- OfferDetails
- DeferredItemReplacement
- DeferredItemRemoval
- SignupPromotion
- OneTimeCode
- VanityCode
- Méthodes
Ressource : SubscriptionPurchaseV2
Indique l'état de l'achat d'abonnement d'un utilisateur.
Représentation JSON |
---|
{ "kind": string, "regionCode": string, "lineItems": [ { object ( |
Champs | |
---|---|
kind |
Ce type représente un objet SubscriptionPurchaseV2 dans le service androidpublisher. |
regionCode |
Code pays/région de facturation ISO 3166-1 alpha-2 de l'utilisateur au moment où l'abonnement a été accordé. |
lineItems[] |
Informations au niveau de l'article pour un achat d'abonnement. Les articles d'un même achat doivent tous être associés à un AutoRenewingPlan ou à un PrepaidPlan. |
startTime |
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 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 : |
subscriptionState |
État actuel de l'abonnement. |
latestOrderId |
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 commande d'inscription s'il 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 |
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 |
Contexte supplémentaire concernant les abonnements suspendus. Présent uniquement si l'abonnement est actuellement à l'état SUBSCRIPTION_STATE_PAUSED. |
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 |
Présent uniquement si cet achat d'abonnement est un achat test. |
acknowledgementState |
État de confirmation de l'abonnement. |
externalAccountIdentifiers |
Identifiant du compte utilisateur dans le service tiers. |
subscribeWithGoogleInfo |
Profil utilisateur associé aux achats effectués avec S'abonner avec Google. |
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. 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 éléments sont en période de grâce. |
SUBSCRIPTION_STATE_ON_HOLD |
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 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. 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 |
Heure à laquelle l'abonnement sera automatiquement réactivé. Utilise la norme RFC 3339, où la sortie générée utilise 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 : |
CanceledStateContext
Informations spécifiques à un abonnement à l'état SUBSCRIPTION_STATE_CANCELED ou SUBSCRIPTION_STATE_EXPIRED.
Représentation JSON |
---|
{ // Union field |
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 |
L'abonnement a été résilié par l'utilisateur. |
systemInitiatedCancellation |
L'abonnement a été résilié par le système, par exemple en raison d'un problème de facturation. |
developerInitiatedCancellation |
L'abonnement a été résilié par le développeur. |
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 ( |
Champs | |
---|---|
cancelSurveyResult |
Informations fournies par l'utilisateur lorsqu'il termine la procédure de résiliation de l'abonnement (enquête sur la raison de la résiliation). |
cancelTime |
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 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 : |
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 ( |
Champs | |
---|---|
reason |
Raison sélectionnée par l'utilisateur dans l'enquête sur la résiliation. |
reasonUserInput |
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 |
L'abonnement n'est pas assez utilisé. |
CANCEL_SURVEY_REASON_TECHNICAL_ISSUES |
Problèmes techniques lors de l'utilisation de l'application |
CANCEL_SURVEY_REASON_COST_RELATED |
Problèmes liés aux coûts. |
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 |
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 |
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 lors de l'achat. |
obfuscatedExternalProfileId |
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 |
ID du profil Google de l'utilisateur lors de la souscription de l'abonnement. |
profileName |
Nom du profil utilisateur au moment de la souscription de l'abonnement. |
emailAddress |
Adresse e-mail de l'utilisateur au moment de la souscription de l'abonnement. |
givenName |
Prénom de l'utilisateur lors de la souscription de l'abonnement. |
familyName |
Nom de famille de l'utilisateur au moment de la souscription de l'abonnement. |
SubscriptionPurchaseLineItem
Informations au niveau de l'article pour un achat d'abonnement.
Représentation JSON |
---|
{ "productId": string, "expiryTime": string, "latestSuccessfulOrderId": string, // Union field |
Champs | |
---|---|
productId |
ID du produit acheté (par exemple, "mensuel001"). |
expiryTime |
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 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 : |
latestSuccessfulOrderId |
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 remplacé par l'élément différé). |
Champ d'union plan_type . Type d'abonnement. plan_type ne peut être qu'un des éléments suivants : |
|
autoRenewingPlan |
L'article est renouvelé automatiquement. |
prepaidPlan |
L'article est prépayé. |
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 |
Informations sur le remplacement différé d'un article. |
deferredItemRemoval |
Informations sur la suppression différée d'éléments. |
signupPromotion |
Détails de la promotion concernant cet article. Défini uniquement si une promotion a été appliquée lors de l'inscription. |
AutoRenewingPlan
Informations liées à un forfait à renouvellement automatique.
Représentation JSON |
---|
{ "autoRenewEnabled": boolean, "recurringPrice": { object ( |
Champs | |
---|---|
autoRenewEnabled |
Si l'abonnement est actuellement configuré pour le renouvellement automatique (par exemple, si l'utilisateur n'a pas résilié l'abonnement) |
recurringPrice |
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 |
priceChangeDetails |
Informations sur la dernière modification du prix de l'article depuis l'inscription à l'abonnement. |
installmentDetails |
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 ( |
Champs | |
---|---|
newPrice |
Nouveau prix récurrent de l'article d'abonnement. |
priceChangeMode |
Le mode de modification du prix indique comment le prix de l'article d'abonnement change. |
priceChangeState |
Indiquez l'état actuel de la modification du prix. |
expectedNewPriceChargeTime |
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) en cas de décalage de la date de renouvellement, 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 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 : |
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 ( |
Champs | |
---|---|
initialCommittedPaymentsCount |
Nombre total de paiements auxquels l'utilisateur s'est initialement engagé. |
subsequentCommittedPaymentsCount |
Nombre total de paiements auxquels l'utilisateur s'engage après chaque période d'engagement. Si la valeur est vide, le forfait échelonné reviendra à un abonnement à renouvellement automatique normal après l'engagement initial. |
remainingCommittedPaymentsCount |
Nombre total de paiements engagés restant à payer pour ce cycle de renouvellement. |
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 plan de paiement échelonné virtuel. La résiliation ne sera effective qu'une fois que l'utilisateur aura effectué tous les paiements dus.
PrepaidPlan
Informations liées à un forfait prépayé.
Représentation JSON |
---|
{ "allowExtendAfterTime": string } |
Champs | |
---|---|
allowExtendAfterTime |
Si elle est présente, il s'agit de la durée au terme de laquelle 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 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 : |
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[] |
Les derniers tags d'offre associés à l'offre. Il inclut les tags hérités du forfait de base. |
basePlanId |
ID du forfait de base. Présent pour tous les forfaits de base et toutes les offres. |
offerId |
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 |
ID du produit qui va remplacer l'ID 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 |
Champs | |
---|---|
Champ d'union promotion_type . Type de promotion appliqué à l'article. promotion_type ne peut être qu'un des éléments suivants : |
|
oneTimeCode |
Un code unique a été appliqué. |
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 |
Code promotionnel. |
Méthodes |
|
---|---|
|
Obtenir les métadonnées d'un abonnement |
|
Révoquez l'achat d'un abonnement pour l'utilisateur. |