Référence API

Vérification Google Play

POST/v1/google-play/verify

Vérifie un jeton d'achat Google Play avec le compte de service configuré sur cette clé API (console → Clés API → Modifier → Vérification des abonnements Google Play). La réponse provient directement de Google ; la passerelle ne facture rien et c'est votre application qui décide quoi débloquer. Les réponses sont mises en cache une minute par jeton.

#Paramètres de la requête

  • purchase_tokenstringobligatoire

    Le jeton d'achat issu de Play Billing. Avec in_app_purchase de Flutter, il s'agit de purchaseDetails.verificationData.serverVerificationData.

subscribed vaut true pour tout abonnement réel à cette application, y compris expiré ; active vaut true uniquement tant qu'il peut être utilisé. Les abonnements annulés restent actifs jusqu'à expiry_time, car seul le renouvellement automatique a été désactivé. in_trial vaut true pendant une période d'essai gratuit ; expiry_time correspond alors à la fin de l'essai. Les jetons inconnus renvoient subscribed false et state NOT_FOUND avec le statut 200.

La configuration côté Google, l'appel depuis une application Flutter et le choix de ce qu'il faut débloquer sont détaillés dans le guide. Abonnements Google Play dans votre application →

Chaque appel, y compris les réponses en cache et les échecs, apparaît dans Console → Journal des requêtes sous forme de ligne gratuite « Vérification Google Play » sur la clé qui l'a effectué, avec le résultat, l'ID de commande et les derniers caractères du jeton. Vous pouvez y rechercher par jeton d'achat complet, par ses derniers caractères ou par ID de commande. Ces lignes ne sont pas comptées dans le nombre de requêtes.

#Erreurs associées

  • 400 invalid_requestLe corps n'est pas du JSON ou purchase_token est manquant.
  • 400 google_play_not_configuredCette clé API n'a pas encore de nom de package ni de compte de service.
  • 401Jeton bearer invalide ou manquant.
  • 429Limite par clé sur les appels de vérification : 120 par minute par défaut, augmentable pour une clé par le support. Les paramètres Google Play de la clé indiquent sa limite. Attendez Retry-After et conservez la dernière réponse.
  • 502 google_play_api_disabledLa Google Play Android Developer API n'est pas activée dans le projet Google Cloud du compte de service. Activez-la et réessayez dans quelques minutes.
  • 502 google_play_permission_deniedGoogle a refusé l'accès : invitez le compte de service dans Play Console avec l'autorisation de consulter les données financières et de gérer les commandes et les abonnements. Les nouvelles autorisations peuvent mettre jusqu'à un jour à s'appliquer.
  • 502 google_play_credentials_invalidGoogle a rejeté la clé de compte de service enregistrée. Importez-en une nouvelle sur la clé.
  • 503 google_play_unavailableGoogle n'a pas répondu à temps. Réessayez dans quelques secondes.

Table complète des codes d'erreur →

#Exemple de requête

curl https://www.aisplice.store/v1/google-play/verify \
  -H "Authorization: Bearer sk-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"purchase_token": "PURCHASE_TOKEN_FROM_PLAY_BILLING"}'

#Réponse

response.json
{
  "package_name": "com.example.app",
  "subscribed": true,
  "active": true,
  "in_trial": false,
  "state": "SUBSCRIPTION_STATE_ACTIVE",
  "product_id": "vip_monthly",
  "expiry_time": 1793000000,
  "auto_renewing": true,
  "acknowledged": true,
  "test_purchase": false,
  "order_id": "GPA.3300-1111-2222-44444..2",
  "checked_at": 1790400000
}

Toujours bloqué ?

Envoyez-nous l'ID de requête ou le message d'erreur, et nous examinerons le problème.