Created
October 8, 2014 12:49
-
-
Save anonymous/4bfd6ca8eac459ba268e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//服务器二次验证代码 | |
function getReceiptData($receipt, $isSandbox = false) | |
{ | |
if ($isSandbox) { | |
$endpoint = 'https://sandbox.itunes.apple.com/verifyReceipt'; | |
} | |
else { | |
$endpoint = 'https://buy.itunes.apple.com/verifyReceipt'; | |
} | |
$postData = json_encode( | |
array('receipt-data' => $receipt) | |
); | |
$ch = curl_init($endpoint); | |
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); | |
curl_setopt($ch, CURLOPT_POST, true); | |
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); | |
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); //这两行一定要加,不加会报SSL 错误 | |
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); //这两行一定要加,不加会报SSL 错误 | |
$response = curl_exec($ch); | |
$errno = curl_errno($ch); | |
$errmsg = curl_error($ch); | |
curl_close($ch); | |
//判断时候出错,抛出异常 | |
if ($errno != 0) { | |
throw new Exception($errmsg, $errno); | |
} | |
$data = json_decode($response); | |
//判断返回的数据是否是对象 | |
if (!is_object($data)) { | |
throw new Exception('Invalid response data'); | |
} | |
//判断购买时候成功 | |
if (!isset($data->status) || $data->status != 0) { | |
throw new Exception('Invalid receipt'); | |
} | |
//返回产品的信息 | |
return array( | |
'quantity' => $data->receipt->quantity, | |
'product_id' => $data->receipt->product_id, | |
'transaction_id' => $data->receipt->transaction_id, | |
'purchase_date' => $data->receipt->purchase_date, | |
// 'app_item_id' => $data->receipt->app_item_id, | |
'bid' => $data->receipt->bid, | |
'bvrs' => $data->receipt->bvrs | |
); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment