aisplice

API-Referenz

Google-Play-Abo-Prüfung

POST/v1/google-play/verify

Prüft ein Google-Play-Kauftoken mit dem Dienstkonto, das für diesen API-Schlüssel hinterlegt ist (Konsole → API-Schlüssel → Bearbeiten → Google-Play-Abo-Prüfung). Die Antwort kommt direkt von Google; das Gateway berechnet nichts, und Ihre App entscheidet, was freigeschaltet wird. Antworten werden pro Token eine Minute lang zwischengespeichert.

#Anfrageparameter

  • purchase_tokenstringerforderlich

    Das Kauftoken aus Play Billing. In Flutter in_app_purchase ist es purchaseDetails.verificationData.serverVerificationData.

subscribed ist true für jedes echte Abo dieser App, auch abgelaufene; active ist nur true, solange es genutzt werden darf. Gekündigte Abos bleiben bis expiry_time aktiv, weil nur die automatische Verlängerung abgeschaltet wurde. in_trial ist true, solange der aktuelle Zeitraum ein kostenloser Testzeitraum ist; expiry_time ist dann das Ende des Tests. Unbekannte Tokens liefern subscribed false und state NOT_FOUND mit Status 200.

Die Einrichtung bei Google, der Aufruf aus einer Flutter-App und die Entscheidung, was freigeschaltet wird, sind im Leitfaden Schritt für Schritt erklärt. Google-Play-Abos in Ihrer App →

Jeder Aufruf, auch zwischengespeicherte Antworten und Fehlschläge, erscheint unter Konsole → Anfrageprotokoll als kostenlose Zeile „Google-Play-Prüfung“ beim aufrufenden Schlüssel, mit Ergebnis, Bestell-ID und den letzten Zeichen des Tokens. Suchen Sie dort nach dem vollständigen Kauftoken, seinen letzten Zeichen oder der Bestell-ID. Diese Zeilen werden nicht in die Anfragezahlen eingerechnet.

#Zugehörige Fehler

  • 400 invalid_requestDer Body ist kein JSON oder purchase_token fehlt.
  • 400 google_play_not_configuredFür diesen API-Schlüssel sind noch kein Paketname und kein Dienstkonto hinterlegt.
  • 401Ungültiges oder fehlendes Bearer-Token.
  • 429Limit pro Schlüssel für Prüfaufrufe: standardmäßig 120 pro Minute, der Support kann es für einen Schlüssel anheben. Die Google-Play-Einstellungen des Schlüssels zeigen sein Limit. Warten Sie Retry-After ab und behalten Sie die letzte Antwort.
  • 502 google_play_api_disabledDie Google Play Android Developer API ist im Google-Cloud-Projekt des Dienstkontos nicht aktiviert. Aktivieren Sie sie und versuchen Sie es nach einigen Minuten erneut.
  • 502 google_play_permission_deniedGoogle hat den Zugriff verweigert: Laden Sie das Dienstkonto in der Play Console mit der Berechtigung ein, Finanzdaten anzusehen sowie Bestellungen und Abos zu verwalten. Neue Berechtigungen können bis zu einem Tag dauern.
  • 502 google_play_credentials_invalidGoogle hat den gespeicherten Dienstkonto-Schlüssel abgelehnt. Laden Sie beim API-Schlüssel einen neuen hoch.
  • 503 google_play_unavailableGoogle hat nicht rechtzeitig geantwortet. Versuchen Sie es in einigen Sekunden erneut.

Vollständige Fehlercode-Tabelle →

#Beispielanfrage

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"}'

#Antwort

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
}

Immer noch nicht gelöst?

Senden Sie uns die Anfrage-ID oder die Fehlermeldung, und wir sehen uns das an.