GoogleはGoogle Play Developer APIを通じて領収書の有効性を確認していますが、API内で最も興味のある2つのエンドポイントはPurchases.products: getとPurchases.subscriptions: getです。
Purchases.products: get
は、オートアップデート以外の製品購入を確認するために使用できます。Purchases.subscriptions: get
は、自動更新製品の購読を確認して再確認するためのものです。
いずれかのエンドポイントを使用するには、packageName
,productId
、purchaseToken
が必要です。これらはすべて、購入時に受け取ったペイロードにあります。また、Google APIサービスアカウントを作成して取得できるaccess_token
が必要です。最初のサービスアカウントを始めるために
デベロッパーコンソールAPI access settings pageをGoogle Playにアクセスし、新規プロジェクトの作成]ボタンをクリックします。
あなたは今、新しいリンクされたプロジェクトといくつかの新しいセクションが表示されます[サービスアカウント]セクションで、[サービスアカウントの作成]ボタンをクリックします。
あなたは、あなたのサービスアカウントを作成する手順と情報ボックスが表示されます。 Google Developers Consoleへのリンクをクリックすると、新しいタブが生成されます。今
、新しいクライアントIDを作成]をクリックしますオプションからサービスアカウントを選択して、クライアントIDを作成]をクリックします。 JSONファイルがダウンロードされます
、これはあなたがaccess_token
のためにそれを安全に保つために交換するために使用するあなたのJSONウェブトークンです。
次に、タブをGoogle Playデベロッパーコンソールに戻し、情報ボックスで[完了]をクリックします。新しいサービスアカウントがリストに表示されます。サービスアカウントのメールの横にある[アクセスを許可する]をクリックします。
次に、このユーザの役割を選択して財政を選択し、[ユーザーの追加]をクリックします下。
今、あなたのサービスアカウントを設定していると、それは領収書の検証を実行するために必要なすべてのアクセス権を持っています。次に、あなたのJWTをaccess_tokenのために交換しています。
これらのライブラリの使用方法については多くのドキュメントがありますが、をOAuth2スコープ、client_email
をissuer
、公開鍵private_key
から入手できます。パスフレーズnotasecret
は、signing_key
に使用されます。
あなたが持ってたらaccess_token
あなたは(少なくともあなたは上記の段落に同じプロセス、次の新しいものを要求することになるでしょう、その時点で次の時間のために)行ってもいいです。消耗品(非自動更新)購入のステータスをチェックするには
がします。http get
要求を行います。あなたは200 HTTPレスポンスコードを取得する場合https://www.googleapis.com/androidpublisher/v2/applications/com.example.app/purchases/products/exampleSku/tokens/rojeslcdyyiapnqcynkjyyjh?access_token=your_access_token
、かんななどすべてが行って、あなたの購入が有効でした。 404はあなたのトークンが無効であることを意味するため、購入はおそらく不正行為の可能性が高いです。 401はアクセストークンが無効であることを意味し、403はサービスアカウントのアクセスが不十分であることを意味します。FinanceがGoogle Playデベロッパーコンソールのアクセスアカウントに対して有効になっていることを確認してください。
200からの応答は次のようになります。
{
"kind": "androidpublisher#productPurchase",
"purchaseTimeMillis": long,
"purchaseState": integer,
"consumptionState": integer,
"developerPayload": string
}
各プロパティの説明についてはhttps://developers.google.com/android-publisher/api-ref/purchases/productsを参照してください。
https://www.googleapis.com/androidpublisher/v2/applications/packageName/purchases/subscriptions/subscriptionId/tokens/token?access_token=you_access_token
そして、応答がこれらのプロパティを含める必要があります:
{
"kind": "androidpublisher#subscriptionPurchase",
"startTimeMillis": long,
"expiryTimeMillis": long,
"autoRenewing": boolean
}
は、プロパティの説明のためのhttps://developers.google.com/android-publisher/api-ref/purchases/subscriptionsを参照し、そのstartTimeMillis
とexpiryTimeMillis
に注意し
サブスクリプションは、しかし、エンドポイントは次のようになります似ていますサブスクリプション期間に応じて変更されることがあります。
妥当性を確認してください!
こんにちはBinil:
次のコードは、製品の購入照会:
をあなたは同様にサブスクリプションを照会することができます。ここ
は
Publisher
シングルトンどのようにセットアップですあなたはサブスクリプションの購入のためにそれを完了しましたか? –その管理製品@Anshul Tyag –
@BinilSurendran ..私の質問はあなたの質問とは異なりますが、私はアプリ内購入に使用された電子メールIDを知る必要があります。あなたは私のアプリでさらに参照するために必要なので、私はどのように私はその電子メールを得ることができます助けてください – Pallavi