Purchase History.json de Google Play expliqué
Purchase History.json est le cœur d'un export Takeout Google Play : la liste lisible par machine de ce que vous avez acquis, et quand. Cette page explique son rôle et sa structure générale — avec une mise en garde importante sur les garanties.
D'abord, la mise en garde : aucun schéma publié
Google ne publie pas de schéma formel et versionné pour les fichiers Takeout de Play. Tout ce qui suit décrit la structure telle qu'observée dans des exports réels — les nôtres et ceux documentés par la communauté. Les champs peuvent différer selon les comptes, les types de contenu et les périodes, et Google peut les modifier sans préavis. Toute affirmation ici est « généralement présent », jamais « contractuellement garanti ».
À quoi sert le fichier
Dans le dossier Google Play Store de votre export, Purchase History.json consigne les acquisitions : applis et jeux obtenus, achats intégrés effectués, abonnements souscrits. Voyez-le comme le quoi et quand. Le combien se trouve généralement dans le fichier voisin, Order History.json, qui tient le registre des transactions — montants, devise, champs liés au paiement et aux remboursements.
Structure générale
Le fichier est un tableau JSON d'enregistrements. Chaque enregistrement décrit une acquisition et porte généralement :
- Une description du document — le titre de l'article, et souvent un type distinguant une appli Android d'un autre contenu.
- Un horodatage d'achat — quand l'acquisition a eu lieu.
- Un type d'achat — distinguant par exemple un achat d'appli d'un achat intégré ou d'un abonnement.
Le prix et les détails de paiement ne se trouvent en général pas dans ce fichier — c'est le rôle d'Order History. Croiser les deux est la façon d'obtenir « nom + date + prix » pour un achat.
Un exemple fictif
L'extrait ci-dessous est inventé pour l'illustration — ce ne sont pas des données réelles, et c'est un croquis simplifié, pas une promesse sur les noms de champs. Un export réel peut imbriquer ou nommer les choses différemment :
[
{
"purchase": {
"document": {
"type": "Android App",
"title": "Example Launcher (fictional)"
},
"purchaseTime": "2019-04-12T14:23:00Z",
"purchaseType": "App"
}
},
{
"purchase": {
"document": {
"type": "In-app item",
"title": "Example Game - Coin Pack (fictional)"
},
"purchaseTime": "2021-11-02T09:05:00Z",
"purchaseType": "In-app purchase"
}
}
]
Applis, achats intégrés, abonnements
Dans les exports observés, l'information de type d'achat est ce qui permet de séparer les trois grandes catégories qui intéressent les utilisateurs :
| Catégorie | Ce qu'un enregistrement représente | Point de vigilance |
|---|---|---|
| Applis & jeux | Acquisition unique d'une appli ou d'un jeu (payant ou gratuit) | Les applis gratuites peuvent apparaître aussi — acquisition ≠ paiement |
| Achats intégrés | Contenus achetés à l'intérieur d'une appli | L'enregistrement nomme l'article ; l'appli parente peut devoir être déduite du titre |
| Abonnements | Événements liés aux abonnements | Renouvellements et souscription initiale peuvent être consignés différemment ; voyez Order History pour les montants |
Les champs qu'un lecteur devrait ignorer
Order History.json peut contenir des champs liés au moyen de paiement. Un lecteur ou un analyseur bien conçu devrait les écarter pendant l'analyse — ne jamais les afficher, ne jamais les stocker. L'historique utile, c'est « quoi, quand, combien ». Les données de carte n'ajoutent rien à cela, et tout au risque.
La même discipline s'applique au partage : un historique d'achats est une donnée personnelle. Gardez vos exports en local, et considérez avec méfiance tout outil qui veut les envoyer en ligne.
Zappez le JSON.
App Purchase Vault est en pré-lancement : choisissez le ZIP, obtenez une archive interrogeable. Uniquement sur l'appareil.