ios内购二次认证服务器代码

来源:互联网 发布:ubuntu默认字体是什么 编辑:程序博客网 时间:2024/05/19 08:05
<?php// 获取认证结果的状态值function get_status($arr) {while(list($key, $value) = each($arr)) {if ($key == "status") {return $value;}}return 10000;}// 认证function verify($check_data, $is_sandbox = 0) {$url = "https://buy.itunes.apple.com/verifyReceipt";// sanbox购买if ($is_sandbox != 0) {$url = "https://sandbox.itunes.apple.com/verifyReceipt";}$curl = curl_init();curl_setopt($curl, CURLOPT_POST, 1);curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1);curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($curl, CURLOPT_HEADER, "Content-type : application/json");curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLOPT_POSTFIELDS, $check_data);curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 300);curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);$handle = curl_exec($curl);curl_close($curl);// 如果从商店验证失败,则尝试使用Sandbox认证if(get_status(json_decode($handle, true)) != 0 && $is_sandbox == 0) {verify($check_data, 1);} else {echo $handle;}}$receiptData = json_encode(array("receipt-data" => file_get_contents("php://input")));verify($receiptData); ?>