これに関するドキュメンテーションは、実際には重要なドキュメンテーションをほとんどリンクせず、見つけるのが非常に難しいまま、ほとんど重要ではないもので混乱し、奇妙に冗長です。これは、Java、Python、.Net、NodeJSなどのgoogle apiクライアントライブラリを実行できる最も人気のあるサーバープラットフォームでうまく機能するはずです。注:以下のように、Python APIクライアントのみをテストしました。
必要な手順:
Google Play ConsoleのAPIアクセスリンクからAPIプロジェクトを作成します
新しいサービスアカウントを作成し、生成されたJSON秘密鍵を保存します。このファイルをサーバーに取り込む必要があります。
Play Consoleのサービスアカウントセクションで[完了]を押して更新し、サービスアカウントへのアクセスを許可します
https://developers.google.com/api-client-libraryから、サーバープラットフォーム用のGoogle APIクライアントライブラリを入手してください
特定のプラットフォームのクライアントライブラリを使用してサービスインターフェイスを構築し、購入確認の結果を直接読み取ります。
承認スコープを気にする必要はありません。カスタムリクエストの呼び出し、アクセストークンの更新などを行います。APIクライアントライブラリがすべてを処理します。次に、サブスクリプションを確認するためのpythonライブラリの使用例を示します。
まず、次のようにあなたのpipenvにgoogle apiクライアントをインストールします:
$ pipenv install google-api-python-client
次に、サービスアカウントを認証するための秘密鍵jsonファイルを使用して、APIクライアントの認証情報を設定できます。
credentials = service_account.Credentials.from_service_account_file("service_account.json")
これで、ライブラリを使用して、サブスクリプション購入または製品購入を直接確認できます。
#Build the "service" interface to the API you want
service = googleapiclient.discovery.build("androidpublisher", "v3", credentials=credentials)
#Use the token your API got from the app to verify the purchase
result = service.purchases().subscriptions().get(packageName="your.app.package.id", subscriptionId="sku.name", token="token-from-app").execute()
#result is a python object that looks like this ->
# {'kind': 'androidpublisher#subscriptionPurchase', 'startTimeMillis': '1534326259450', 'expiryTimeMillis': '1534328356187', 'autoRenewing': False, 'priceCurrencyCode': 'INR', 'priceAmountMicros': '70000000', 'countryCode': 'IN', 'developerPayload': '', 'cancelReason': 1, 'orderId': 'GPA.1234-4567-1234-1234..5', 'purchaseType': 0}
Play開発者APIのプラットフォームサービスインターフェースのドキュメントは、簡単に見つけられるようにリンクされていません。ここに私が見つけた人気のあるプラットフォームへのリンクがあります:
Python | Java | .NET | PHP | NodeJS(Github TS) | Go(Github JSON)