使用php-ccurl在贝宝api上没有响应



我正试图从PayPal api获得关于php和cURL订单的响应。这是我的代码,我当然已经替换了令牌,这不是问题所在。使用以下命令,我的终端中一切正常,我不明白为什么它不工作。(如果我做var_dump($response),我得到string(0) ""

代码:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"https://api-m.sandbox.paypal.com/v2/checkout/orders/".$_GET['transacid']);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$headers = [
"Content-Type: application/json",
"Authorization: Bearer my_oauth_token"
];
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response= curl_exec($ch);
curl_close($ch);
var_dump($response);

并且,CLI命令:

curl -v -X GET https://api-m.sandbox.paypal.com/v2/checkout/orders/my_order_id
-H "Content-Type: application/json" 
-H "Authorization: Bearer my_oauth_token"

我想我可以用exec((得到结果,但它确实不干净,尤其是用get变量。

谢谢!

(评论后作为答案发布(

只是一个可能不相关的注释,但在终端中,您正在执行GET请求,而在php端,您正在进行POST请求(参见设置为1的CURLOPT_POST(。因此,您还没有执行相同类型的请求。首先,如果需要,我们可以进行进一步的故障排除。最终,这可能是导致你问题的唯一原因。

最新更新