PHPでGoogle Play Developer APIを使ってAndroidのレシートを検証したい(超簡易メモ版)

GoogleAPIを操作するためのPHP向けライブラリとしてgoogle-api-php-clientがありますが、Androidのレシート検証に際して使い方がイマイチわからなかったので、メモとして残します。 github.com

前提として、Google Play Consoleを使って、OAuthトークンやリフレッシュトークンなどをすでに取得しているものとします。
今回はOAuth認証の場合のライブラリ操作だけを残します。

まずは、ライブラリをインストールします。

composer require google/apiclient

アクセストークンの発行はライブラリが良しなにやってくれるので、以下のようにパブリッシャーを用意します。

$client = new \Google_Client();
$client->setAuthConfig([認証用JSONを設置したパス]);
$client->setRedirectUri('http://localhost');
$client->setAccessType('offline');
$client->setApprovalPrompt('force');
$client->addScope(\Google_Service_AndroidPublisher::ANDROIDPUBLISHER);
$client->refreshToken([リフレッシュトークン]);
 
$publisher = new \Google_Service_AndroidPublisher($client);

あとは、定期購読と都度課金のどちらの課金なのかに応じて呼び分けるだけです。

// 定期購読の場合
$result = $publisher->purchases_subscriptions->get([packageName], [productId], [purchaseToken]);
// 都度課金の場合
$result = $publisher->purchases_products->get([packageName], [productId], [purchaseToken]);