Взломанные квитанции, возвращающие статус 0
Мы проверяем квитанции НА НАШЕМ СЕРВЕРЕ и получаем взломанные квитанции, которые возвращают статус 0!
Вот наш код сервера:
$postData = json_encode(
array('receipt-data' => $receipt)
);
//return $postData;
// create the cURL request
$ch = curl_init($endpoint);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
// execute the cURL request and fetch response data
$response = curl_exec($ch);
$errno = curl_errno($ch);
$errmsg = curl_error($ch);
curl_close($ch);
// ensure the request succeeded
if ($errno != 0) {
throw new Exception($errmsg, $errno);
}
// parse the response data
$data = json_decode($response);
// ensure response data was a valid JSON string
if (!is_object($data)) {
return 'Invalid response data';
}
// ensure the expected data is present
if (!isset($data->status) || $data->status != 0) {
return "Apple return with error ".$data->status;
}
Я попытался поместить фиктивные данные в квитанцию, и она вернет ошибку 21002 (искаженная квитанция).
Я проверяю, имеет ли статус квитанции 0 и возвращается ли ДА для поддельных квитанций.
Вот свежий
{
"status": 0,
"environment": "Production",
"receipt": {
"receipt_type": "Production",
"adam_id": 813798979,
"bundle_id": "com.site.gamename",
"application_version": "0.7",
"download_id": 81005576413585,
"request_date": "2014-04-23 21:37:23 Etc/GMT",
"request_date_ms": "1398289043287",
"request_date_pst": "2014-04-23 14:37:23 America/Los_Angeles",
"original_purchase_date": "2014-04-21 20:36:09 Etc/GMT",
"original_purchase_date_ms": "1398112569000",
"original_purchase_date_pst": "2014-04-21 13:36:09 America/Los_Angeles",
"original_application_version": "0.7",
"in_app": []
}
}
СТАТУС = 0!!! Как это возможно!?
И вот поддельный идентификатор транзакции он пришел с
84091B08-4706-4810-924F-BC10CC1B
Какого черта я могу сделать?
В чем дело!? Как я получаю статус 0 из этих взломанных квитанций?!