- Ressource : SubscriptionPurchase
- IntroductoryPriceInfo
- SubscriptionCancelSurveyResult
- SubscriptionPriceChange
- Méthodes
Ressource : SubscriptionPurchase
Une ressource SubscriptionPurchase indique l'état de l'achat d'abonnement d'un utilisateur.
Représentation JSON |
---|
{ "kind": string, "startTimeMillis": string, "expiryTimeMillis": string, "autoResumeTimeMillis": string, "autoRenewing": boolean, "priceCurrencyCode": string, "priceAmountMicros": string, "introductoryPriceInfo": { object ( |
Champs | |
---|---|
kind |
Ce type représente un objet subscriptionPurchase dans le service androidpublisher. |
startTimeMillis |
Heure à laquelle l'abonnement a été accordé, en millisecondes depuis l'epoch. |
expiryTimeMillis |
Heure à laquelle l'abonnement expirera, en millisecondes depuis l'epoch. |
autoResumeTimeMillis |
Heure à laquelle l'abonnement sera automatiquement réactivé, en millisecondes depuis l'epoch. Présent uniquement si l'utilisateur a demandé à suspendre l'abonnement. |
autoRenewing |
Indique si l'abonnement sera automatiquement renouvelé à son échéance actuelle. |
priceCurrencyCode |
Code de devise ISO 4217 pour le prix de l'abonnement. Par exemple, si le prix est exprimé en livres sterling, priceCurrencyCode est "GBP". |
priceAmountMicros |
Prix de l'abonnement. Pour les pays où les taxes sont exclues, le prix ne comprend pas les taxes. Pour les pays où les taxes sont incluses dans le prix, le prix inclut les taxes. Le prix est exprimé en micro-unités, où 1 000 000 de micro-unités représente une unité de la devise. Par exemple, si le prix de l'abonnement est de 1,99 €, priceAmountMicros est défini sur 1990000. |
introductoryPriceInfo |
Informations sur le prix découverte de l'abonnement. Cette mention n'apparaît que si l'abonnement a été souscrit à un prix de lancement. Ce champ n'indique pas si l'abonnement est actuellement associé à un prix découverte. |
countryCode |
Code pays/région de facturation ISO 3166-1 alpha-2 de l'utilisateur au moment où l'abonnement a été accordé. |
developerPayload |
Une chaîne spécifiée par le développeur contenant des informations supplémentaires sur une commande. |
paymentState |
État du paiement de l'abonnement. Les valeurs possibles sont : 0. Paiement en attente 1. Paiement reçu 2. Essai sans frais 3. Mise à niveau/rétrogradation différée en attente Non présent pour les abonnements annulés ou expirés. |
cancelReason |
La raison pour laquelle un abonnement a été résilié ou n'est pas renouvelé automatiquement. Les valeurs possibles sont : 0. L'utilisateur a résilié l'abonnement 1. L'abonnement a été résilié par le système, par exemple en raison d'un problème de facturation. L'abonnement a été remplacé par un nouvel abonnement 3. L'abonnement a été résilié par le développeur |
userCancellationTimeMillis |
Heure à laquelle l'abonnement a été résilié par l'utilisateur, en millisecondes depuis l'epoch. Présent uniquement si cancelReason est défini sur 0. |
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). |
orderId |
ID de la dernière commande récurrente associée à l'achat de l'abonnement. Si l'abonnement a été résilié parce que le paiement a été refusé, il s'agit de l'ID de commande du paiement refusé. |
linkedPurchaseToken |
Jeton d'achat de l'achat d'origine si cet abonnement est l'un des suivants : 0. Se réabonner à un abonnement résilié, mais non expiré 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. Ensuite, l'utilisateur résilie son abonnement et suit la procédure de réinscription (avant l'expiration de son abonnement), et vous recevez le jeton d'achat Y. Enfin, l'utilisateur passe à un abonnement supérieur 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 |
Type d'achat de l'abonnement. Ce champ n'est défini que si cet achat n'a pas été effectué à l'aide du flux de facturation standard des achats via les applications. Les valeurs possibles sont : 0. Test (c'est-à-dire acheté à partir d'un compte de test de licence) 1. Promotionnel (c'est-à-dire acheté à l'aide d'un code promotionnel) |
priceChange |
Les dernières informations disponibles sur les changements de prix. Cette ligne ne s'affiche que lorsqu'un changement de prix est prévu pour l'abonnement, mais n'a pas encore été appliqué. Une fois l'abonnement renouvelé au nouveau prix ou résilié, aucune information sur le changement de prix ne sera renvoyée. |
profileName |
Nom du profil utilisateur au moment de la souscription de l'abonnement. N 'est présent que pour les achats effectués avec S'abonner avec Google. |
emailAddress |
Adresse e-mail de l'utilisateur au moment de la souscription de l'abonnement. N 'est présent que pour les achats effectués avec S'abonner avec Google. |
givenName |
Prénom de l'utilisateur lors de la souscription de l'abonnement. N 'est présent que pour les achats effectués avec S'abonner avec Google. |
familyName |
Nom de famille de l'utilisateur au moment de la souscription de l'abonnement. N 'est présent que pour les achats effectués avec S'abonner avec Google. |
profileId |
ID du profil Google de l'utilisateur lors de la souscription de l'abonnement. N 'est présent que pour les achats effectués avec S'abonner avec Google. |
acknowledgementState |
État de confirmation de réception du produit d'abonnement. Les valeurs possibles sont : 0. 1 à confirmer Confirmé |
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. |
promotionType |
Type de promotion appliquée à cet achat. Ce champ n'est défini que si une promotion a été appliquée lors de l'achat de l'abonnement. Les valeurs possibles sont : 0. Code à usage unique 1. Code personnalisé |
promotionCode |
Code promotionnel appliqué à cet achat. Ce champ n'est défini que si une promotion avec code personnalisé est appliquée lors de la souscription. |
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. |
IntroductoryPriceInfo
Contient les informations sur le prix de lancement d'un abonnement.
Représentation JSON |
---|
{ "introductoryPriceCurrencyCode": string, "introductoryPriceAmountMicros": string, "introductoryPricePeriod": string, "introductoryPriceCycles": integer } |
Champs | |
---|---|
introductoryPriceCurrencyCode |
Code de devise ISO 4217 pour le prix de l'abonnement de lancement. Par exemple, si le prix est exprimé en livres sterling, priceCurrencyCode est "GBP". |
introductoryPriceAmountMicros |
Prix découverte de l'abonnement, hors taxes. La devise est identique à priceCurrencyCode. Le prix est exprimé en micro-unités, où 1 000 000 de micro-unités représente une unité de la devise. Par exemple, si le prix de l'abonnement est de 1,99 €, priceAmountMicros est défini sur 1990000. |
introductoryPricePeriod |
Période du prix découverte, spécifiée au format ISO 8601. Les valeurs courantes sont (sans s'y limiter) "P1W" (une semaine), "P1M" (un mois), "P3M" (trois mois), "P6M" (six mois) et "P1Y" (un an). |
introductoryPriceCycles |
Nombre de périodes de facturation pour lesquelles le prix de lancement est proposé. |
SubscriptionCancelSurveyResult
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).
Représentation JSON |
---|
{ "cancelSurveyReason": integer, "userInputCancelReason": string } |
Champs | |
---|---|
cancelSurveyReason |
Motif de résiliation choisi par l'utilisateur dans l'enquête. Les valeurs possibles sont : 0. Autre 1. Je n'utilise pas suffisamment ce service 2. Problèmes techniques 3. Ma décision est liée au coût de l'abonnement 4. J'ai trouvé une meilleure application |
userInputCancelReason |
Motif d'annulation de la saisie personnalisé indiqué par l'utilisateur. N'est présent que lorsque cancelReason est défini sur 0. |
SubscriptionPriceChange
Contient les informations sur le changement de prix d'un abonnement, qui peuvent être utilisées pour contrôler le parcours utilisateur lors du changement de prix dans l'application. Il peut s'agir de demander une confirmation à l'utilisateur ou d'adapter l'expérience pour une conversion réussie.
Représentation JSON |
---|
{
"newPrice": {
object ( |
Champs | |
---|---|
newPrice |
Nouveau prix de renouvellement de l'abonnement si le changement de prix est accepté par l'utilisateur. |
state |
État actuel du changement de prix. Les valeurs possibles sont : 0. En attente : état d'un changement de prix 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é : état d'un changement de prix accepté. L'abonnement sera renouvelé avec le nouveau prix, sauf s'il est résilié. La modification du prix prendra effet à une date ultérieure, lors du renouvellement de l'abonnement. Notez que la modification peut ne pas être appliquée lors du prochain renouvellement de l'abonnement. |
Méthodes |
|
---|---|
|
Confirme un achat d'abonnement. |
|
Annule l'achat d'un abonnement par un utilisateur. |
|
Reporte l'achat d'un abonnement par un utilisateur jusqu'à une date d'expiration future spécifiée. |
(deprecated) |
Obsolète : utilisez plutôt purchases.subscriptionsv2.get. |
(deprecated) |
Obsolète : utilisez plutôt orders.refund. |
(deprecated) |
Obsolète : utilisez plutôt purchases.subscriptionsv2.revoke. |
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 |
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. |