Vous pouvez rembourser vous-même une commande Google Play, et le faire avant un rejet de débit vous évite les frais bancaires
Vous pouvez rembourser n'importe quelle commande Google Play de moins de trois ans avec un seul appel d'API, avec ou sans révocation de l'accès. Le faire vous-même avant qu'un litige ne devienne un rejet de débit vous évite les frais bancaires qui pèsent sur les développeurs à partir du 3 août 2026. Voici comment orders.refund fonctionne.

Points clés
- L'endpoint `orders.refund` de la Google Play Developer API permet à un développeur de rembourser directement n'importe quel achat unique ou commande d'abonnement, sans examen, sans motif requis et sans demande du client.
- Un remboursement et une révocation sont deux actions distinctes. `orders.refund` accepte un indicateur optionnel `revoke`. Laissez-le désactivé et l'acheteur conserve l'accès, mettez-le à true et Google met fin à l'accès à l'article immédiatement.
- Les commandes de plus de trois ans ne peuvent pas être remboursées via la Google Play Developer API. Une fois cette fenêtre fermée, la commande est définitivement hors de portée.
- `orders.refund` n'émet que des remboursements complets. Un remboursement partiel et calculé au prorata sur un abonnement nécessite l'endpoint plus récent `purchases.subscriptionsv2.revoke` avec un contexte `proratedRefund`.
- Rembourser une commande d'abonnement avec `revoke` à true déclenche une Real-time Developer Notification `SUBSCRIPTION_REVOKED`, de sorte que votre backend apprend la révocation de la même manière qu'il apprend tout autre événement d'abonnement.
- À partir du 3 août 2026, Google facture au développeur le prix d'achat plus les frais bancaires d'un rejet de débit. Un remboursement que vous émettez vous-même ne rend que le prix d'achat, donc rembourser tôt une commande douteuse peut coûter moins cher que de la laisser devenir un rejet de débit.
- Un remboursement initié par le développeur est le seul flux de remboursement Google Play que vous contrôlez entièrement. Le remboursement en libre-service de 48 heures, les remboursements du support et les achats annulés sont tous décidés sans vous.
Vous n'avez pas à attendre qu'un client ouvre un litige. Si vous voulez rendre l'argent, vous pouvez rembourser vous-même une commande Google Play, directement, avec un seul appel d'API ou deux clics dans Play Console. Google ne vous demandera pas pourquoi, et ne remettra pas votre choix en question. C'est le seul flux de remboursement où vous tenez le bouton, et l'utiliser tôt, avant qu'un litige ne durcisse en un rejet de débit bancaire, est souvent la sortie la moins chère.
Le seul flux de remboursement que vous contrôlez vraiment
La plupart des remboursements sur Google Play vous arrivent, ils ne passent pas par vous. Un acheteur qui demande à Google dans les 48 heures obtient un remboursement en libre-service automatique sans intervention du développeur. Un agent du support peut en accorder un qui est définitif dès qu'il est émis. Un rejet de débit bancaire est décidé entre le titulaire de la carte et sa banque. Dans tous ces cas, vous êtes un spectateur qui l'apprend après coup.
Le remboursement du développeur est l'exception. Ici, c'est vous qui décidez de rendre l'argent, selon votre propre calendrier, pour vos propres raisons. C'est un outil de bonne volonté, un outil de service client et, discrètement, un outil de maîtrise des coûts. Savoir exactement comment il se comporte est ce qui le transforme d'un bouton panique en un choix délibéré.
Ce que fait orders.refund, en un appel
La méthode orders.refund de la Google Play Developer API rembourse une seule commande, que cette commande ait été un achat unique dans l'application ou un paiement d'abonnement. Vous envoyez un POST vide vers le chemin de remboursement de la commande, authentifié avec votre compte de service, et un appel réussi renvoie un corps vide. C'est tout le mécanisme.
L'indicateur revoke décide s'ils conservent l'accès
Le seul choix que l'appel vous offre est l'indicateur de requête revoke. La référence de Google est catégorique sur son effet : s'il est mis à true, l'accès à l'abonnement ou à l'article dans l'application sera résilié immédiatement. Omettez-le et l'argent revient tandis que le client conserve ce qu'il a acheté. Ce seul booléen fait la différence entre un remboursement amical et une résiliation nette.
| Partie de l'appel | Valeur |
|---|---|
| Méthode et chemin | POST /androidpublisher/v3/applications/{packageName}/orders/{orderId}:refund |
packageName | L'id de votre application, par exemple com.acme.app |
orderId | L'id de commande affiché à l'acheteur lors de l'achat |
revoke | Indicateur de requête optionnel. true met fin à l'accès immédiatement, omettez-le pour rembourser et laisser l'accès intact |
| Corps de la requête | Vide |
| Périmètre OAuth | https://www.googleapis.com/auth/androidpublisher |
Remboursement complet par défaut, au prorata uniquement pour les abonnements
orders.refund rend la valeur totale de la commande. Il n'a aucun champ pour un montant partiel. Si vous devez rendre une partie d'un abonnement, utilisez l'endpoint plus récent purchases.subscriptionsv2.revoke, qui accepte un contexte de révocation et peut émettre soit un remboursement complet, soit un remboursement au prorata en fonction du temps restant dans la période. L'ancien purchases.subscriptions.revoke ne faisait que des remboursements complets, ce qui est la principale raison de l'existence de la méthode v2. Pour les commandes uniques, les remboursements partiels sont disponibles via le site Play Console pour les achats effectués après mars 2018, et jamais pour les applications payantes.

Le mur des trois ans et les autres limites
La limite stricte est l'ancienneté. Google indique clairement que les commandes de plus de trois ans ne peuvent pas être remboursées. Il n'y a ni recours ni dérogation une fois qu'une commande franchit cette ligne, donc un remboursement est une décision assortie d'une date d'expiration. Une poignée d'autres limites façonnent ce que l'appel peut et ne peut pas faire.
| Limite | Ce que cela signifie |
|---|---|
| Plafond d'ancienneté de trois ans | Les commandes de plus de trois ans ne peuvent pas être remboursées via l'API |
| Montant total uniquement | orders.refund rend la valeur totale de la commande, jamais un montant partiel |
| Remboursements partiels | Disponibles pour les abonnements via purchases.subscriptionsv2.revoke, ou via Play Console pour les commandes uniques effectuées après mars 2018, jamais pour les applications payantes |
| Non réversible | Une fois émis, un remboursement ne peut pas être annulé |
Ce que cela vous fait économiser en argent
Chaque remboursement est déjà une perte avant même que vous ne touchiez le bouton, car l'argent que vous avez dépensé pour servir cet achat ne revient pas avec lui. Si l'acheteur a généré des images, exécuté des appels d'API contre vos modèles, consommé du stockage ou déclenché un versement à un tiers, ces coûts sont dépensés et le restent. Le remboursement décide seulement de qui garde le prix de vente en plus de cela.
La raison de recourir vous-même à un remboursement est ce qui se passe si vous ne le faites pas. La documentation de Google est explicite : à partir du 3 août 2026, lorsqu'un client conteste un débit auprès de sa banque, Google répercute le prix d'achat et les frais de rejet de débit de la banque sur le développeur. Un remboursement que vous émettez via orders.refund ne rend que le prix d'achat. Donc, pour une commande que vous vous attendez déjà à perdre, un remboursement émis par vous-même est moins cher que le rejet de débit exactement des frais bancaires, et il clôt le dossier avant qu'il ne puisse s'aggraver.
Où se situe un remboursement volontaire parmi les autres flux de remboursement
Il est utile de voir le remboursement du développeur à côté de tout ce qui peut retirer de l'argent de votre compte. Seuls deux de ces flux demandent jamais votre avis, et un seul d'entre eux vous laisse lancer vous-même le remboursement.
| Flux de remboursement | Qui décide | Votre contrôle |
|---|---|---|
Remboursement du développeur (orders.refund) | Vous | Total. Vous choisissez si et quand |
| Remboursement en libre-service de 48 heures | Aucun. Google rembourse automatiquement | |
| Remboursement par un agent du support | Support Google ou Apple | Aucun. Définitif une fois accordé |
Examen du rejet de débit (orders.reviewrefund) | Google, à partir de vos preuves | Une fenêtre d'intervention de 24 heures seulement |
| Voided Purchases API | Personne, elle est en lecture seule | Aucun. Vous ne lisez que ce qui s'est déjà produit |
Comment rembourser une commande Google Play, de bout en bout
Depuis Play Console
- Ouvrez Play Console et sélectionnez Gestion des commandes dans le menu de gauche.
- Trouvez la commande par son id de commande ou par l'adresse e-mail complète de l'acheteur.
- Sous le prix, choisissez Rembourser et sélectionnez un motif de remboursement. Utilisez le site web, pas l'application mobile, si vous avez besoin d'un remboursement partiel.
Depuis l'API
- Authentifiez un compte de service qui détient le périmètre
androidpublisheret les autorisations financières dans Play Console. - Envoyez un POST vide vers le chemin de remboursement de la commande, en ajoutant
revoke=trueseulement si vous voulez aussi couper l'accès. - Traitez la réponse de succès vide et, si vous avez révoqué un abonnement, attendez qu'une notification
SUBSCRIPTION_REVOKEDparvienne à votre backend.
Un remboursement du développeur est un instrument petit et précis. Il vous donne un moyen net de dédommager un client, et une sortie moins chère qu'un rejet de débit sur une commande que vous alliez perdre de toute façon. La seule règle est de l'utiliser à dessein, avec l'indicateur revoke réglé exactement comme vous l'entendez vraiment.
Questions fréquentes
- Puis-je rembourser une commande Google Play sans annuler l'accès du client ?
- Oui. Appelez `orders.refund` et laissez l'indicateur `revoke` désactivé. L'acheteur récupère son argent et conserve l'accès à l'article. Mettez `revoke` à true uniquement lorsque vous voulez aussi mettre fin à l'accès à l'achat immédiatement.
- Jusqu'à quand puis-je rembourser une commande sur Google Play ?
- Jusqu'à trois ans à compter de la date d'achat. La Google Play Developer API indique que les commandes de plus de trois ans ne peuvent pas être remboursées, et il n'y a aucune dérogation une fois cette fenêtre fermée.
- orders.refund prend-il en charge les remboursements partiels ?
- Non. `orders.refund` n'émet que le montant total de la commande. Pour un remboursement partiel ou au prorata sur un abonnement, utilisez `purchases.subscriptionsv2.revoke` avec un contexte `proratedRefund`, ou émettez un remboursement partiel via Play Console pour les commandes uniques éligibles.
- Mon backend sera-t-il informé lorsque je révoque un abonnement avec un remboursement ?
- Oui. Rembourser une commande d'abonnement avec `revoke` à true déclenche une Real-time Developer Notification `SUBSCRIPTION_REVOKED`, de sorte que votre serveur peut mettre à jour le droit d'accès de la même manière qu'il gère tout autre événement d'abonnement.
- Vaut-il mieux rembourser une commande moi-même que de la laisser devenir un rejet de débit ?
- Souvent, en pur coût. À partir du 3 août 2026, un rejet de débit coûte au développeur le prix d'achat plus les frais bancaires, tandis qu'un remboursement que vous émettez ne rend que le prix d'achat. Si une commande se dirige clairement vers un litige, la rembourser tôt évite les frais bancaires supplémentaires.
Sources et lectures complémentaires
- Google Play Developer API: Method orders.refund
- Android Developers: Manage subscriptions and one-time purchases
- Play Console Help: Manage your app's orders and issue refunds
- Google Play Developer API: Method purchases.subscriptionsv2.revoke
- Google Play Console Help: refund protection and chargeback cost responsibility
- Google Play Help: Learn about Google Play refund policies
RefundHalt
Le pilote automatique des remboursements pour l'App Store et Google Play
Poursuivre la lecture
L'envoi des informations de consommation d'Apple demande maintenant cinq champs, pas douze, et voici chacun d'eux
Quand un client demande un remboursement à Apple, la charge Send Consumption Information est votre réponse. Apple l'a réduite de douze champs à cinq, trois obligatoires et deux facultatifs. Voici chaque champ, les valeurs que chacun accepte et la fenêtre de 12 heures dans laquelle vous l'envoyez.
Il existe un endpoint qui renvoie tout l'historique des remboursements App Store d'un client, et voici ce qu'il retourne
L'endpoint Get Refund History d'Apple renvoie l'historique complet des remboursements App Store d'un client sous forme de transactions signées. Voici chaque champ, comment le jeton revision pagine, pourquoi il fonctionne par client et non par app, et ce que vous coûte un remboursement que vous manquez.