GooglePlayの定期購入に対し、サーバー側から期限の延期をおこなおうと思い、PHPにて以下のように実装してみましたところ、Google_Service_Exceptionが発生し、{ "error": { "code": 500, "message": null }}といった結果が返るのみで、希望の期限延期ができない状態です。
PHP
1$client = new Google_Client(); 2$client->setApplicationName("AppName"); 3putenv('GOOGLE_APPLICATION_CREDENTIALS=GooglePlayAndroidDeveloper-xxxxxxxxxxxx.json'); 4$client->useApplicationDefaultCredentials(); 5$client->addScope('https://www.googleapis.com/auth/androidpublisher'); 6 7$service = new Google_Service_AndroidPublisher($client); 8 9//現在の有効期限を取得 10//($purchase_tokenはDBに保存したトークンをセット) 11$data = $service->purchases_subscriptions->get('com.package.name','SKU_ID001', $purchase_token); 12$currentExpiryTimeMillis = $data->expiryTimeMillis; 13 14//4日延長 15$addMillis = 60 * 60 * 24 * 4 * 1000; 16$desiredExpiryTimeMillis = $currentExpiryTimeMillis + $addMillis; 17 18//リクエスト用のPostDataを用意 19$defer_data = new Google_Service_AndroidPublisher_SubscriptionDeferralInfo(); 20$defer_data->setExpectedExpiryTimeMillis($currentExpiryTimeMillis); 21$defer_data->setDesiredExpiryTimeMillis($desiredExpiryTimeMillis); 22$defer_request = new Google_Service_AndroidPublisher_SubscriptionPurchasesDeferRequest(); 23$defer_request->setDeferralInfo($defer_data); 24 25//リクエスト発行 26$service->purchases_subscriptions->defer('com.package.name','SKU_ID001', $purchase_token,$defer_request);// <=Exceptionが発生 27
アルファ版としてGooglePlayDeveloperにアップロードしたAppにて定期購入を行っております。
GET、CANCEL、REVOKEは期待通りに動作したのですが、DEFERに関しては、テスト購入(0円/日)、実費購入(xxx円/月)のどちらに対してもエラーとなりましたが、原因がわからず行き詰っております。
あなたの回答
tips
プレビュー