// 正式环境验证地址
$ios_verify_url = 'https://buy.itunes.apple.com/verifyReceipt';
// 测试环境验证地址
$ios_sandbox_verify_url = 'https://sandbox.itunes.apple.com/verifyReceipt';
$defaults = array(
CURLOPT_POST => 1,
CURLOPT_HEADER => 0,
CURLOPT_URL => $ios_sandbox_verify_url,
CURLOPT_FRESH_CONNECT => 1,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_FORBID_REUSE => 1,
CURLOPT_TIMEOUT => 60,
CURLOPT_SSL_VERIFYPEER => FALSE,
CURLOPT_POSTFIELDS => $receipt // 苹果购买后返回的票据信息
);
$ch = curl_init();
curl_setopt_array($ch, $defaults);
$result = curl_exec($ch);
$errno = curl_errno($ch);
$errmsg = curl_error($ch);
curl_close($ch);
// 判断时候出错,抛出异常
if ($errno != 0) {
throw new Exception($errmsg, $errno);
}
$object = json_decode($result);
// 判断返回的数据是否是对象
if (!is_object($object) || !isset($object->status)) {
throw new Exception('Invalid response data');
}
if($object->status === 0) {
// 认证成功
$return = array(
'status' => 1,
'receipt' => null,
'expires_date_ms' => null,
'remote_server_code' => $object->status
);
if (isset($object->latest_receipt) && !empty($object->latest_receipt)) {
// 如果是订阅购买,需要将票据保存到数据库中
// 如果苹果返回了这个值,那么需要同步将这个值更新到数据库中
}
if (isset($object->latest_receipt_info) && !empty($object->latest_receipt_info)) {
// 获取过期时间
$last_receipt_info = end($object->latest_receipt_info);
$expires_date_ms = $last_receipt_info->expires_date_ms / 1000;
}
// 其他操作
} else {
return array(
'status' => 0,
'receipt' => null,
'expires_date_ms' => null,
'remote_server_code' => $object->status
);
}
或者
$receipt = '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';
validate_receipt($receipt, false);
function validate_receipt($receipt_data, $sandbox_receipt = FALSE) {
if ($sandbox_receipt) {
$url = "https://sandbox.itunes.apple.com/verifyReceipt";
}
else {
$url = "https://buy.itunes.apple.com/verifyReceipt";
}
$ch = curl_init($url);
$data_string = json_encode(array(
'receipt-data' => $receipt_data,
'password' => '501692890fec42cab66dfc10d3b7xxxx',//订阅购买需要认证密码
));
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string))
);
$output = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if (200 != $httpCode) {
die("Error validating App Store transaction receipt. Response HTTP code $httpCode");
}
$decoded = json_decode($output, TRUE);
var_dump($decoded);exit;
}