Unity/課金/リモートレシート検証/phpサーバ
提供: 初心者エンジニアの簡易メモ
サーバのsslが有効になってるか確認
if (extension_loaded('openssl')) { echo "OpenSSLは有効になっています。\n"; echo "OpenSSL バージョン: " . OPENSSL_VERSION_TEXT . "\n"; } else { echo "OpenSSLは無効になっています。\n"; }
OpenSSLは有効になっています。OpenSSL バージョン:OpenSSL 3.0.7 1 Nov 2022
phpで検証
$receiptJson = '{"orderId":"GPA.xxxx-xxxx-xxxx-xxxxx","productId":"product1",...}'; $signature = base64_decode('[signatureデータ]'); // 下記のURLなどを参考にpem形式に変換 // FYI: http://php.net/manual/ja/ref.openssl.php $publicKey = der2pem(base64_decode('[googleplay収益化セットアップのrsa公開鍵]')); if (openssl_verify($receiptJson, $signature, openssl_get_publickey($publicKey)) === 1) { // 検証ok }