您的位置:首页 > 移动开发 > IOS开发

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

2013-09-03 15:35 351 查看
<?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);

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: