【发布时间】:2015-04-26 19:35:21
【问题描述】:
我已经看到了一些关于此的问题,但没有一个能真正解决我的问题,我得到的回复是 {"status":21002}
我的 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 的值为:
{"receipt_type":"ProductionSandbox","app_item_id":0,"original_purchase_date": ....
我不会包括整个内容,但它包括应用内字段。
我也尝试过base64_encode 或json_decode $receipt,但我得到了相同的回复。除了base64_encode 也让我"exception":"java.lang.IllegalArgumentException"
我确定发布是正确的,但我发送的内容有误吗? $receipt 是否应该与其他数据一起包装?还是我应该只发送这些数据的一个子集?
【问题讨论】:
标签: php ios json api app-store