如题,不考虑curl的方法,POST给接口数据,可是接口获取不到或者一直返回参数有问题。
贴一下代码:
$POSTFIELDS = array("receipt-data" => $receipt_data); //
$POSTFIELDS = json_encode($POSTFIELDS); // 注释了也没用
$url = "https://sandbox.itunes.apple.com/verifyReceipt";
$context = stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => "Content-type: application/x-www-form-urlencoded",
'content' => http_build_query($POSTFIELDS),
'timeout' => 20,
)
));
return file_get_contents($url, false, $context);
$receipt_data数据格式是正确的,因为用curl测试可以返回正确信息。
但是file的话,无论如何总是返回参数不对,不知道哪里的问题。
楼上说的是没错,针对这个问题,其实是跟苹果支付接口交互,传输数据的时候出错了。
http_build_query不需要
先看看服务端获取到的是什么。。。你这个传的是json?然后又是表单格式的POST。。。没有key=>value,后端能取到的也只能是json格式的字符串
HTTPS 需要开启SSL
获取这个可以帮到你
http://www.jb51.net/article/4...