Les remboursements des forfaits prépayés Google Play obéissent à d'autres règles que les abonnements, et une seule recharge non confirmée peut révoquer tout le forfait
Les forfaits prépayés ne se renouvellent jamais automatiquement, donc les clients ne peuvent pas les résilier, ils les rechargent. Voici comment sont décidés les remboursements des forfaits prépayés Google Play, ce que vous coûte une recharge non confirmée et quel appel d'API rembourse quoi.

Points clés
- Les forfaits prépayés Google Play donnent accès pendant une période de facturation fixe et ne se renouvellent jamais d'eux-mêmes. Les clients les prolongent en achetant une recharge, et Google précise que les forfaits prépayés ne peuvent pas être résiliés puisqu'ils courent simplement jusqu'à leur date d'expiration.
- Chaque recharge prépayée Google Play est un nouvel achat avec un nouveau jeton d'achat, et le jeton précédent arrive dans le champ linkedPurchaseToken. Google envoie une notification SUBSCRIPTION_PURCHASED pour chaque recharge.
- Google Play exige que les développeurs confirment chaque achat et chaque recharge prépayés. Les forfaits d'une semaine ou plus disposent de 3 jours, et ceux de moins d'une semaine de la moitié de leur durée, donc un forfait de trois jours dispose de 1,5 jour.
- Si un développeur laisse passer le délai de confirmation d'une recharge prépayée Google Play, Google révoque la recharge, révoque et résilie le reste de l'abonnement, puis rembourse l'utilisateur.
- Le centre d'aide de Google Play indique aux clients qu'un forfait prépayé inutilisé peut être remboursé, et que les demandes de remboursement faites plus de 48 heures après l'achat sont transmises au développeur.
- Google décrit l'option fullRefund de purchases.subscriptionsv2.revoke comme le remboursement du dernier débit de chaque article. Sur un forfait prépayé rechargé, elle vise donc le débit le plus récent, et non toutes les recharges que le client a pu acheter.
- Pour les commandes Google Play passées après le 3 août 2026, un rejet de débit perdu coûte au développeur le prix d'achat moins les frais de service de Play, plus les frais de rejet de débit de la banque, et cela s'applique aux recharges prépayées comme à toute autre commande.
Oubliez de confirmer une seule recharge Google Play, et Google ne se contente pas de rembourser cette recharge. Il révoque la recharge, révoque et résilie le reste du forfait prépayé du client, puis émet un remboursement. C'est le point le plus délicat des remboursements de forfaits prépayés Google Play, et il dépend entièrement de vous. Pour le reste, les remboursements des forfaits prépayés ressemblent beaucoup à ceux des abonnements classiques, à quelques différences près qui changent votre façon de développer et ce que vous perdez.
En quoi les forfaits prépayés Google Play diffèrent des abonnements à renouvellement automatique
Un forfait prépayé est un forfait de base qui vend un accès pour une période de facturation donnée, puis s'arrête. L'aide de la Play Console explique que les utilisateurs l'achètent pour bénéficier d'un droit d'accès sur cette période, puis le rechargent pour repousser la date de fin s'ils veulent continuer. Une recharge peut être n'importe quel forfait de base prépayé du même abonnement, y compris d'une autre durée. L'exemple de Google prolonge un forfait d'un an avec une recharge de $59.99.
Comme rien ne se renouvelle, rien ne peut être résilié. La documentation de facturation de Google indique que les forfaits prépayés ne peuvent pas être résiliés et qu'un utilisateur qui veut arrêter laisse simplement le forfait arriver à sa date d'expiration. Pour un forfait prépayé, l'état de l'abonnement n'est jamais que ACTIVE, PENDING ou CANCELED, et expiryTime est toujours présent.
Les forfaits prépayés comptent surtout là où la facturation récurrente est restreinte. Le guide de RevenueCat cite l'Inde, où Google a suspendu l'inscription de nouveaux clients aux forfaits à renouvellement automatique en raison des règles de la Reserve Bank of India, et présente les forfaits prépayés comme la solution évidente pour ce type de marché.
| Forfait de base à renouvellement automatique | Forfait de base prépayé | |
|---|---|---|
| Se renouvelle seul | Oui | Non, l'utilisateur achète une recharge |
| L'utilisateur peut résilier | Oui | Non, il court jusqu'à expiryTime |
| Essais gratuits et offres | Oui | Non, les offres sont réservées aux forfaits de base à renouvellement automatique |
| Nouveau jeton d'achat | Lors d'une montée en gamme, d'une rétrogradation ou d'un réabonnement | À chaque recharge |
| Confirmation | Dans les 3 jours suivant chaque nouvel achat | 3 jours pour les forfaits d'une semaine ou plus, la moitié de la durée pour les forfaits plus courts |
| Peut être suspendu | Oui | Non |
Chaque recharge est un achat distinct
Google émet un nouveau jeton d'achat pour chaque recharge et place le jeton précédent dans linkedPurchaseToken sur le nouvel achat. Google envoie aussi une notification en temps réel pour les développeurs SUBSCRIPTION_PURCHASED pour chacune. Les recharges se cumulent. Si l'utilisateur recharge en avance, la nouvelle durée s'ajoute à l'ancienne date d'expiration, et non à la date du jour. Un utilisateur ne peut détenir qu'une seule recharge non consommée à la fois, et prepaidPlan.allowExtendAfterTime vous indique quand la suivante devient disponible.
Les remboursements prépayés commencent au délai de confirmation
Vous devez confirmer chaque achat prépayé, y compris chaque recharge, car l'utilisateur passe par le parcours d'achat à chaque fois. Google accorde 3 jours aux forfaits d'une semaine ou plus. Les forfaits de moins d'une semaine disposent de la moitié de leur durée, donc un forfait de trois jours doit être confirmé sous 1,5 jour et un forfait d'un jour sous 12 heures.
C'est pourquoi les forfaits prépayés courts sont plus risqués qu'ils n'en ont l'air. Un forfait hebdomadaire ou mensuel à renouvellement automatique vous laisse les mêmes 3 jours à chaque fois. Un pass prépayé d'un jour vous laisse 12 heures, et une panne du backend plus longue que cela transforme des clients payants en remboursements automatiques. Le guide de RevenueCat fait la même remarque et prévient que la deuxième commande doit être confirmée rapidement quand le forfait de base ne dure que 1 ou 3 jours.
Qui décide du remboursement d'un forfait prépayé
La plupart des remboursements de forfaits prépayés Google Play sont décidés sans vous. La politique de remboursement de Google indique qu'un utilisateur peut obtenir un remboursement dans les 48 heures suivant un achat intégré, abonnement compris, selon les circonstances. Après 48 heures, l'utilisateur est invité à contacter le développeur, qui peut traiter les remboursements selon sa propre politique et la législation applicable. La page d'aide de Google sur les abonnements ajoute une précision propre aux forfaits prépayés : si le forfait n'a pas été utilisé, l'utilisateur peut en demander le remboursement.
| Voie de remboursement | Qui décide | Pouvez-vous répondre | Délai |
|---|---|---|---|
| Demande dans les 48 heures suivant l'achat ou la recharge | Non | Aucun | |
| Demande après 48 heures | Vous, selon votre politique et le droit local | Sans objet | Aucun fixé par Google |
| Achat ou recharge non confirmé | Automatique | Non | 3 jours, ou la moitié du forfait s'il dure moins d'une semaine |
| Rejet de débit signalé pour examen par le développeur | Google, puis la banque | Oui, via orders.reviewrefund | 24 heures |
| Rejet de débit sans examen par le développeur | La banque | Non | Aucun |
Les forfaits prépayés ne changent pas les règles des rejets de débit. Quand Google vous demande votre version d'un litige, vous avez 24 heures pour répondre via orders.reviewrefund, et une fois que la banque a tranché, la décision est définitive.
Quel appel d'API rembourse quoi sur un forfait prépayé
Quand la demande arrive chez vous, vous disposez de deux outils côté serveur, et ils ne remboursent pas la même chose.
orders.refund agit commande par commande
orders.refund rembourse un abonnement ou une commande intégrée à partir de son ID de commande. Passez revoke à true et l'accès prend fin immédiatement. Google ne rembourse pas les commandes de plus de 3 ans. Comme chaque recharge est un achat à part entière, rembourser la commande d'une recharge est le moyen précis de rembourser uniquement cette recharge.
purchases.subscriptionsv2.revoke agit sur l'abonnement
purchases.subscriptionsv2.revoke met fin à l'abonnement et accepte un revocationContext. Google décrit fullRefund comme le remboursement du montant total du dernier débit de chaque article, et proratedRefund comme le remboursement d'un montant calculé au prorata du temps restant. Sur un forfait rechargé deux fois, le dernier débit correspond à la dernière recharge. Tenez-en compte avant de promettre à un client de lui rendre tout son solde.
Ne retirez pas un accès qui est encore dû au client
La documentation de facturation de Google avertit que retirer l'accès à un abonnement alors que l'utilisateur y a encore droit enfreint le règlement de Google Play sur les abonnements. Sur un forfait prépayé, le temps payé constitue le droit d'accès. Si vous ne remboursez que la dernière recharge, laissez courir le temps payé auparavant, sauf si vous le révoquez et le remboursez aussi.

Ce que vous coûte le remboursement d'un forfait prépayé
Un client prépayé a payé d'avance une durée fixe, et vous avez commencé à dépenser pour lui dès qu'il a obtenu l'accès. Un remboursement lui rend son argent et laisse ces dépenses en place.
- Calcul : chaque session, synchronisation ou tâche côté serveur lancée par le client pendant la période payée correspond à une capacité que vous avez déjà payée.
- Appels d'API : la reconnaissance vocale, la traduction, la cartographie, l'inférence de modèles ou tout service tiers facturé à la requête reste facturé.
- Stockage : les fichiers et l'historique créés par le client restent sur votre facture de stockage jusqu'à ce que vous les supprimiez.
- Reversements : les partages de revenus, les paiements aux créateurs et les commissions de parrainage liés à l'achat ont déjà quitté votre compte.
Le cas de la confirmation oubliée est le plus coûteux. Une confirmation tardive sur une recharge annuelle de $59.99 ne se limite pas à annuler $59.99. Google révoque aussi le reste du forfait : le client perd un accès qu'il avait déjà payé et reçoit un remboursement, tandis que tous les coûts engagés pour le servir restent dépensés.
Check-list de développement pour les forfaits prépayés
- Confirmez chaque recharge depuis votre serveur, pas seulement le premier achat, et déclenchez une alerte pour tout achat encore non confirmé après quelques heures.
- Donnez aux forfaits courts leur propre alarme. Un forfait d'un jour dispose de 12 heures et un forfait de trois jours de 1,5 jour.
- Enregistrez chaque ID de commande et chaque jeton d'achat, et suivez linkedPurchaseToken pour voir toute la chaîne de recharges d'un même client.
- Exploitez les jetons d'achat sans attendre. Google indique qu'un jeton reste valide seulement jusqu'à 60 jours après l'expiration, après quoi la Developer API ne l'accepte plus.
- Remboursez une recharge précise avec orders.refund sur la commande de cette recharge, et ne partez pas du principe qu'un fullRefund couvre les recharges précédentes.
- Journalisez l'utilisation par achat, pour qu'un examen de rejet de débit reçoive une vraie réponse dans sa fenêtre de 24 heures.
- Révoquez l'accès dès réception de SUBSCRIPTION_REVOKED, car l'état du forfait passe alors à expiré.
Questions fréquentes
- Un client peut-il résilier un forfait prépayé Google Play ?
- Non. Google indique que les forfaits prépayés ne peuvent pas être résiliés puisqu'ils ne se renouvellent pas automatiquement. Le forfait court jusqu'à sa date d'expiration, et le client garde l'accès jusque-là. Pour arrêter de payer, il lui suffit de ne pas acheter de nouvelle recharge.
- Un client peut-il se faire rembourser un forfait prépayé Google Play ?
- Oui. Le centre d'aide de Google indique qu'un forfait prépayé inutilisé peut être remboursé, et Google peut rembourser tout achat intégré, abonnements compris, si la demande arrive dans les 48 heures. Au-delà de 48 heures, Google renvoie le client vers le développeur, qui rembourse selon sa propre politique et le droit local.
- Que se passe-t-il si je ne confirme pas une recharge prépayée ?
- Google révoque la recharge, révoque et résilie le reste de l'abonnement, puis rembourse l'utilisateur. Les forfaits d'une semaine ou plus doivent être confirmés sous 3 jours, et les forfaits plus courts sous la moitié de leur durée, donc un forfait de trois jours dispose de 1,5 jour.
- Un fullRefund sur un forfait prépayé rembourse-t-il toutes les recharges ?
- Non, d'après la description de Google. L'option fullRefund de purchases.subscriptionsv2.revoke rembourse le montant total du dernier débit de chaque article. Chaque recharge est un achat distinct avec sa propre commande, utilisez donc orders.refund sur une commande précise pour rembourser une recharge précise.
- Les forfaits prépayés proposent-ils des essais gratuits ?
- Non. L'aide de la Play Console indique que les offres, qui incluent les essais gratuits et les prix de lancement, ne peuvent être créées que pour les forfaits de base à renouvellement automatique. Un forfait prépayé est payé intégralement à l'achat et à chaque recharge.
Sources et lectures complémentaires
- Google Play Billing: Subscription lifecycle (prepaid plans, top-ups, acknowledgement)
- Play Console Help: Understanding subscriptions
- Google Play Help: Cancel, pause, or change a subscription on Google Play
- Google Play Help: Apps, games, and in-app purchases refund policies
- Google Play Developer API: orders.refund
- Google Play Developer API: purchases.subscriptionsv2.revoke
- Google Play Developer API: orders.reviewrefund
- Play Console Help: Updates to refund protection and chargeback cost responsibility
- RevenueCat: Google prepaid plans
RefundHalt
Le pilote automatique des remboursements pour l'App Store et Google Play
Poursuivre la lecture
Des demandes de remboursement excessives peuvent vous coûter plus cher que les remboursements eux-mêmes, car les deux stores y voient un signal de qualité
La règle 5.6.4 d'Apple cite les demandes de remboursement excessives comme le signe qu'une app ne respecte pas les normes de qualité, et le contrat de distribution de Google l'autorise à retirer les apps des nouveaux développeurs en fonction de leur taux de remboursement. Voici ce que dit chaque store, ce que coûte un retrait et comment l'éviter.
Vérifiez les notifications serveur de l'App Store avant d'agir sur un remboursement, car n'importe qui peut envoyer des requêtes à votre URL de webhook
Une notification de remboursement n'est qu'une requête HTTPS tant que vous n'avez pas vérifié sa signature. Voici comment vérifier les notifications serveur de l'App Store et les messages RTDN de Google Play, ce que signe chaque store et ce que vous coûte un remboursement falsifié ou rejeté à tort.