[英]php script for in-app purchase
我正在做一个使用应用程序内购买功能的iPhone / iPad应用程序。 在服务器端,我加载了用于收据验证的php脚本。 这是脚本的内容:
<?php
$receipt = json_encode(array("receipt-data" => $_GET["receipt"]));
// NOTE: use "buy" vs "sandbox" in production.
$url = "https://sandbox.itunes.apple.com/verifyReceipt";
$curl_handle=curl_init();
curl_setopt($curl_handle, CURLOPT_URL, $url);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_handle, CURLOPT_HEADER, 0);
curl_setopt($curl_handle, CURLOPT_POST, true);
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $receipt);
$response_json = curl_exec($curl_handle);
$response = json_decode($response_json);
curl_close($curl_handle);
print $response->{'status'};
?>
我的问题是,响应变量始终为空,我无法收到任何响应。 另外response_json
为空,我不明白这是问题所在。 我认为这是服务器端的东西,但我不是php专家,并且服务器不在我的直接控制之下。 谁能建议我解决问题或测试哪种方法的方法?
谢谢
如果curl_exec()
失败,它将返回一个布尔值FALSE。 您盲目地将响应输入json_decode,并假设您会得到一些结果。 解码布尔值false会给您一个空的var。 相反,请尝试以下操作:
...
$response_json = curl_exec($curl_handle);
if ($response_json === FALSE) {
die(curl_error($curl_handle));
}
$response = json_decode($response_json);
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.