google play 内购回调 php,google play支付如何用php验证订单完成的合法性
时间: 2023-09-07 14:11:37 浏览: 333
谷歌支付内购回调需要使用Google Play Developer API来验证订单的合法性。以下是验证订单的步骤:
1. 获取谷歌开发者控制台的服务帐户JSON文件,该文件包含了您的API密钥。
2. 使用PHP编写代码,通过cURL发送POST请求,将订单ID作为参数发送至Google Play Developer API。
3. Google Play Developer API将返回订单的详细信息,包括订单状态、购买时间、购买者信息等。
4. 您可以通过验证订单状态、购买时间和购买者信息来确保订单的合法性。
以下是一个简单的PHP代码示例,用于验证Google Play支付内购回调:
```php
<?php
//获取POST请求中的订单ID
$orderID = $_POST['orderId'];
//设置API密钥
$apiKey = 'YOUR_API_KEY';
//设置请求URL
$url = 'https://www.googleapis.com/androidpublisher/v3/applications/your_package_name/purchases/subscriptions/'. $orderID . '/tokens/token_string';
//发送POST请求
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer ' . $apiKey));
$response = curl_exec($ch);
curl_close($ch);
//解析API返回的JSON数据
$json = json_decode($response);
$purchaseState = $json->purchaseState;
$purchaseTimeMillis = $json->purchaseTimeMillis;
$purchaserEmail = $json->purchaserEmail;
//验证订单状态和购买者信息
if ($purchaseState == 0 && $purchaserEmail == 'example@mail.com') {
//订单合法
} else {
//订单非法
}
?>
```
上述代码中,`YOUR_API_KEY`需要替换为您的API密钥,`your_package_name`需要替换为您的应用程序包名称,`token_string`需要替换为您的订阅令牌。
请注意,您需要先在Google Play Console中启用Google Play Developer API,并生成API密钥。此外,您需要将API密钥存储在安全的位置,并确保只有授权的用户可以访问它。
阅读全文