Я видел несколько вопросов, но никто на самом деле не исправить мой вопрос, где я получаю ответ { «статус»: 21002}Как отправить запрос проверки чека на яблоко через JSON POST?
Мой код PHP:
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://sandbox.itunes.apple.com/verifyReceipt');
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLINFO_HEADER_OUT, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode(array('receipt-data' => $receipt)));
print curl_exec($curl);
print curl_getinfo($curl, CURLINFO_HEADER_OUT);
вот мое сырье HTTP заголовки идущих к яблоку:
POST /verifyReceipt HTTP/1.1
Host: sandbox.itunes.apple.com
Accept: */*
Content-Type: application/json
Content-Length: 3382
Expect: 100-continue
значение $ расписки:
{"receipt_type":"ProductionSandbox","app_item_id":0,"original_purchase_date": ....
Я не буду включать все это, но он включает в себя приложение в поле.
Я также пытался получить base64_encode
или json_decode
$ квитанция, но я получаю тот же ответ. За исключением того, что base64_encode
также получает меня "exception":"java.lang.IllegalArgumentException"
Я уверен, что публикация верна, но я отправляю неправильное содержимое? является ли квитанция $, которая должна быть обернута другими данными? или я должен просто отправить подмножество этих данных?