AppReviewX Se connecter

Tester les paiements échoués et les périodes de grâce

Comment ton app réagit quand un renouvellement échoue. Vérifie le comportement du store dans la documentation actuelle.

Dans ce guide

Un renouvellement peut échouer : carte expirée, solde vide, moyen de paiement retiré. Ce que fait ensuite ton app décide si l'utilisateur corrige le problème ou s'en va en colère. Fait partie de Tester la monétisation.

Les règles des stores peuvent changer : confirme-les sur les pages actuelles et construis ta matrice de test à partir d'elles.

  • Apple : "If you enabled the billing grace period for your apps, there won't be any interruption to days of paid service or to your revenue, if Apple is able to recover the subscription within the billing grace period (either 6 or 16 days, depending on the subscription duration)." (Si tu as activé la période de grâce de facturation pour tes apps, il n'y a aucune interruption des jours de service payant ni de ton chiffre d'affaires, si Apple parvient à récupérer l'abonnement pendant cette période, de 6 ou 16 jours selon la durée de l'abonnement.)
  • Google Play : "This recovery period can consist of a grace period followed by an account hold period. During a grace period, the user should still have access to their subscription entitlement." (Cette période de récupération peut comprendre une période de grâce suivie d'une période de suspension du compte. Pendant une période de grâce, l'utilisateur doit toujours avoir accès à son droit d'abonnement.) et "When a subscription enters account hold, you should block access to the subscription entitlement." (Quand un abonnement passe en suspension du compte, tu dois bloquer l'accès au droit d'abonnement.) La durée de la période de grâce peut être ajustée dans la Play Console ; la durée de suspension du compte est par défaut "60 days minus any grace period duration." (60 jours moins la durée de la période de grâce éventuelle.)

Sources : Apple App Store Connect Help (Offer auto-renewable subscriptions) ; Android Developers (Subscriptions ; Subscription lifecycle) ; toutes consultées le 2026-10-22.

Construire la matrice d'abord

D'après la documentation, liste chaque état d'abonnement que le store peut signaler (par exemple actif, en nouvelle tentative, suspendu, expiré). Pour chaque état, note : quel accès l'utilisateur doit avoir, ce que l'app doit afficher et ce que l'utilisateur peut faire. Teste ensuite chaque ligne.

Vérifications

  1. Chaque état a une règle d'accès définie. Aucun état ne tombe par accident dans « non défini, donc verrouillé ».
  2. L'utilisateur est informé dans l'app que le paiement a échoué. Des mots simples, une seule action (« Mettre à jour le moyen de paiement »), sans reproche.
  3. L'action mène au bon endroit. Le lien ouvre la gestion des paiements du store, pas une impasse. Pour vérifier : touche-le sur un vrai appareil.
  4. Le message disparaît après la correction. Paie à nouveau dans le bac à sable ; la bannière disparaît sans réinstaller l'app.
  5. Pas de harcèlement. Une bannière ou une seule fenêtre, pas un écran bloquant à chaque lancement tant que l'accès est encore valide.
  6. L'accès n'est ni coupé trop tôt ni conservé trop longtemps. Compare ce que l'app autorise avec l'état que tu as noté.
  7. Expiration finale. Quand l'abonnement se termine, l'utilisateur arrive sur un paywall calme qui explique ce qui s'est passé. Voir parcours d'essai gratuit.
  8. Se réabonner après l'expiration. L'achat fonctionne et l'accès revient. Voir restaurer les achats.
  9. Échec de paiement pendant un changement de formule. Voir passage à une formule supérieure ou inférieure.
  10. Le serveur et l'app sont d'accord. Si tu suis l'état sur un serveur, vérifie qu'il gère les mêmes états et les événements arrivant dans le désordre (contrôles côté serveur).
  11. Le temps dans le bac à sable. Les renouvellements du bac à sable suivent des calendriers raccourcis ; compare avec les périodes réelles ci-dessus avant de tirer des conclusions sur des formulations comme « dans 6 jours ».

Formulation

Ne promets pas de dates que tu ne peux pas lire depuis le store. « Nous n'avons pas pu renouveler ton abonnement » est vrai ; « il te reste 7 jours » ne l'est que si tu l'as vérifié.

Liens : interruption d'achat, affichage des prix selon les régions.

Demande à un testeur quel message il attendrait et s'il saurait quoi faire. Commence gratuitement.