使用 php curl 在 paypal api 上没有响应
No response on paypal api with php curl
我正在尝试从 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 请求(参见 CURLOPT_POST 设置为 1)。所以你不是在做同样类型的请求。首先这样做,然后我们可以根据需要进一步排除故障。最终,这可能是导致您出现问题的唯一原因。
我正在尝试从 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 请求(参见 CURLOPT_POST 设置为 1)。所以你不是在做同样类型的请求。首先这样做,然后我们可以根据需要进一步排除故障。最终,这可能是导致您出现问题的唯一原因。