GooglePay接入指南
===================================部署环境======================================
1. 生成json私钥文件
1. 在 Firebase 控制台中,打开设置 >服务帐号
2. 点击生成新的私钥,然后点击生成密钥进行确认。
3. 妥善存储包含密钥的 JSON 文件。
例:C:\Users\Administrator\Documents\WeChat Files\wxid_scp66exums3452\FileStorage\File\2022-05\haters-f9398-420a97c821f7.json
{
"type": "service_account",
"project_id": "xxxxxx",
"private_key_id": "xxxxxx",
"private_key": "xxxxxx",
"client_email": "xxxxxx",
"client_id": "xxxxxx",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "xxxxxx"
}
2. 开启api
3. 授予权限
找到tab
API权限
关联项目
haters
给服务帐号授予
google play android developer api权限
4. Google APIs Client Library for PHP
https://github.com/googleapis/google-api-php-client
composer require google/apiclient:^2.12.1
注:可选择只安装部分服务
{
"require": {
"google/apiclient": "^2.12.1"
},
"scripts": {
"pre-autoload-dump": "Google\\Task\\Composer::cleanup"
},
"extra": {
"google/apiclient-services": [
"Drive",
"YouTube"
]
}
}
===================================参考======================================
【php实现谷歌支付校验的两种方法】
https://www.jianshu.com/p/b0fd0586e4ce
【Google Play 支付流程参考】
https://blog.csdn.net/qq_26222859/article/details/123487367
/**
* 谷歌订单查询校验
* @param $package_name
* @param $product_id
* @param $purchase_token
* @return array|false
*/
function google_pay($package_name, $product_id, $purchase_token)
{
try {
$credential_path = ABSPATH.'/wp-content/uploads/credentials/xxxxxx.json';
// 将 JSON 设置 环境变量
putenv('GOOGLE_APPLICATION_CREDENTIALS='.$credential_path);
$google_client = new \Google_Client();
$google_client->useApplicationDefaultCredentials();
$google_client->addScope(\Google_Service_AndroidPublisher::ANDROIDPUBLISHER);
$androidPublishService = new \Google_Service_AndroidPublisher($google_client);
$result = $androidPublishService->purchases_products->get(
$package_name, // 包名
$product_id, // 设置的商品ID
$purchase_token // 客户端传过来的 purchaseToken
);
return (array)$result;
} catch (Throwable $e) {
return false;
}
}

浙公网安备 33010602011771号