Gérer les abonnements et les achats uniques

Vous devrez peut-être effectuer des actions de gestion sur les abonnements ou les achats uniques dans le cadre des activités quotidiennes. Par exemple, votre service client peut avoir besoin effectuer des remboursements totaux ou partiels pour les utilisateurs, ou vous devrez peut-être révoquer des droits d'accès dans certains cas. Vous pouvez gérer les commandes depuis la Play Console ou, depuis votre propre système, vous pouvez utiliser API Google Play Developer :

Annuler les abonnements

Les utilisateurs peuvent résilier un abonnement Google Play à tout moment sur le Play Store, mais vous devez aussi leur donner la possibilité de résilier leur abonnement dans votre application et sur votre site Web, le cas échéant.

Le moyen le plus simple d'autoriser les utilisateurs à résilier volontairement est d'utiliser un lien profond vers le sur le Play Store, sur lequel ils peuvent consulter et gérer leur abonnement.

Vous devrez peut-être également déclencher des annulations à partir du backend. purchases.subscriptions.cancel vous permet d'annuler un abonnement. Par exemple, vous pouvez utiliser cette méthode pour désactiver un ancien service. L'annulation d'un abonnement n'entraîne pas de remboursement et l'utilisateur continue de jusqu'à la fin de la période de facturation en cours. Annulation d'un l'abonnement avec cette méthode empêche l'utilisateur de le restaurer sur le Play Store, mais les utilisateurs pourront toujours se réinscrire via l'application s'ils nécessaire.

Cette action déclenche un SUBSCRIPTION_CANCELED pour les développeurs en temps réel. . Gérez ces résiliations comme décrit dans Résiliations.

Reporter la facturation

Utiliser subscriptions.defer pour prolonger la période d'accès d'un abonnement. Pendant la période de report, l'utilisateur reste abonné à votre contenu, mais le supplément n'est pas facturé. en temps réel. Lorsque vous reportez la facturation d'un abonnement, les informations d'état sont sont mis à jour en conséquence et apparaissent dans le champ expiryTime de la section informations sur l'état de l'achat:

  • Pour les abonnements récurrents actifs, la facturation différée s'étend date de renouvellement.
  • Pour les forfaits prépayés, la facturation différée prolonge la date d'expiration.

Voici quelques exemples d'utilisation de la facturation différée:

  • Proposer aux utilisateurs un accès sans frais sous la forme d'une offre spéciale, par exemple en leur offrant une semaine sans frais à vos abonnés existants pour qu'ils répondent à une enquête de satisfaction.
  • Proposez aux clients un accès sans frais en tant qu'action du service client, par exemple après une interruption prolongée qui a pu affecter leur capacité à utiliser votre service.

La facturation peut être différée pour une période allant d'un jour à un an par appel d'API. Pour différer davantage la fin du droit d'accès, appelez à nouveau l'API. avant la nouvelle date d'expiration.

Cette action déclenche un SUBSCRIPTION_DEFERRED pour les développeurs en temps réel. . Pour savoir comment gérer ces événements, consultez Différer la facturation d'un abonné dans À propos des abonnements.

Exemple :

  1. Le service de streaming FitnessGoals souhaite proposer une promotion à encouragez-le à faire de l'exercice régulièrement en février.

  2. Elle décide d'offrir un mois de service supplémentaire à tout abonné qui fait de l'exercice avec FitnessGoals au moins 10 fois au cours du mois de février.

  3. Ils suivent les résultats du défi et, le 1er mars, ils appellent la méthode API subscriptions.defer pour chaque achat d'abonnement actif appartenant à qui ont relevé le défi en février.

  4. Ces utilisateurs bénéficient d'un mois complet d'exercice régulier supplémentaire des vidéos sans frais, et les utilisateurs indiquent à tous leurs amis comment FitnessGoals les aide à rester en bonne santé !

Effectuer des remboursements et des révocations

Dans de nombreux cas, il peut être utile d'effectuer un remboursement ou de révoquer un abonnement ou un achat unique.

Rembourser intégralement une commande par ID de commande

Avec le orders.refund API, vous pouvez effectuer le remboursement intégral de toute commande dans les trois ans suivant l'achat. La méthode orders.refund reçoit un paramètre de révocation indiquant si oui ou non l'accès doit être révoqué en plus de fournir le remboursement.

Si vous émettez une révocation avec l'appel de remboursement d'un abonnement, le est immédiatement résilié et déclenche une SUBSCRIPTION_REVOKED Notification en temps réel pour les développeurs Lire la gestion du cycle de vie des abonnements guide Section sur les révocations pour apprendre à gérer ces événements.

Exemple :

  1. Pour fêter le début de la nouvelle Coupe du monde, l'appli d'e-sport L'équipe Football-Not-Soccer décide de tirer des maillots virtuels sans frais pour tous ses joueurs. qui achètent de nouveaux kits d'équipe dans les premières 24 heures.

  2. Football-Not-Soccer utilise orders.refund API sans transmettre de paramètre de révocation pour rembourser les achats de maillots gagnants.

Révoquer et rembourser un abonnement par jeton d'achat

Pour certains cas d'utilisation, vous devrez peut-être révoquer l'accès à l'abonnement d'un utilisateur et procéder à un remboursement. Play Billing propose des méthodes de révocation, y compris et les remboursements au prorata via la subscriptionsv2.revoke API. Avec ce point de terminaison, vous pouvez spécifier revocationContext pour déterminer le mode de calcul du remboursement.

Cette action déclenche un SUBSCRIPTION_REVOKED en temps réel pour les développeurs. Notification. Votre application doit gérer ces résiliations comme décrit dans Révocations.

Exemple :

  • Achat avec le jeton d'achat 1a2b3c4d5e6f7g8h9i0j
  • Application avec le nom de package com.your.app
  • Intention d'émettre un remboursement au prorata

Requête HTTP POST:

https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.your.app/purchases/subscriptionsv2/tokens/1a2b3c4d5e6f7g8h9i0j:revoke

Corps de la requête:

{
  "revocationContext": {
    "proratedRefund": {}
  }
}

Remboursements totaux

Si vous devez résilier un abonnement et rembourser le montant total période de facturation en cours, émettez un remboursement total. Utilisez les purchases.subscriptionsv2.revoke et définissez "fullRefund": {} comme type de remboursement.

Exemple :

  1. Marie dispose d'un abonnement de 30 jours à renouvellement automatique pour le streaming SuperMovies mensuel. Maria a rencontré des problèmes techniques qui l'empêchent de qui accède au contenu. Elle contacte le service client le troisième jour de la facturation. annonçant qu'elle n'a jamais eu accès à l'abonnement.

  2. Le service client trouve les détails de l'achat de l'abonnement de Marie dans son système et déclenche un appel à purchases.subscriptionsv2.revoke demandant un remboursement intégral.

  3. Le service client indique à Marie qu'elle doit obtenir 100 % le prix de l'abonnement a été remboursé et elle n'est plus abonnée à l'abonnement.

Remboursements calculés au prorata

Si vous devez résilier un abonnement et rembourser partiellement le montant restant durée des droits d'accès, émettez un remboursement au prorata. Utilisez les purchases.subscriptionsv2.revoke et définissez "proratedRefund": {} comme type de remboursement.

Exemple :

  1. Marie dispose d'un abonnement de 30 jours à renouvellement automatique pour le streaming SuperMovies mensuel. Elle utilise le service avec plaisir depuis un certain temps. Maria contacte le service client le 15e jour de son cycle de facturation, en indiquant qu'elle qui déménage à l'étranger et ne pourra plus utiliser le service le lendemain.

  2. Le service client trouve les détails de l'achat de l'abonnement de Marie dans son système et déclenche un appel à purchases.subscriptionsv2.revoke demandant un remboursement au prorata.

  3. Le service client indique à Marie qu'elle devrait recevoir environ 50 % de l'abonnement remboursé et que l'accès au service a pris fin immédiatement.