簡體   English   中英

應用內購買的php腳本

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM