gpt4 book ai didi

php - 尝试执行 PayPal 付款请求时出现 HTTP 400 错误。 (文件获取内容)

转载 作者:太空宇宙 更新时间:2023-11-03 16:21:24 26 4
gpt4 key购买 nike

尝试进行无 cURL 的 Paypal 支付请求测试,但出现错误。我正在使用来自 Paypal 支付 API 文档的示例请求。

$data = array (
0 =>
array (
'op' => 'replace',
'path' => '/transactions/0/amount',
'value' =>
array (
'total' => '18.37',
'currency' => 'EUR',
'details' =>
array (
'subtotal' => '13.37',
'shipping' => '5.00',
),
),
),
1 =>
array (
'op' => 'add',
'path' => '/transactions/0/item_list/shipping_address',
'value' =>
array (
'recipient_name' => 'Anna Gruneberg',
'line1' => 'Kathwarinenhof 1',
'city' => 'Flensburg',
'postal_code' => '24939',
'country_code' => 'DE',
),
),
);

$url = 'https://api.sandbox.paypal.com/v1/payments/payment';
$options = array(
'http' => array(
'header' => array(
"Content-type: application/json",
"Authorization: Bearer $access_token"
),
'method' => 'POST',
'content' => http_build_query($data)
)
);
print_r($options);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);

var_dump($result);

返回:警告:file_get_contents(https://api.sandbox.paypal.com/v1/payments/payment):无法打开流:HTTP 请求失败!/storage/ssd5/910/7954910/public_html/paypal.php 第 48 行中的 HTTP/1.0 400 错误请求 bool (假)

最佳答案

添加

'protocol_version' => '1.1'

到 'http' => array()。

例如换行

'method'  => 'POST',

'protocol_version'  => '1.1',
'method' => 'POST',

这将 file_get_contents() 使用的 HTTP 协议(protocol)从 HTTP/1.0 更改为 HTTP/1.1,PayPal REST API 服务器需要 HTTP/1.1。

关于php - 尝试执行 PayPal 付款请求时出现 HTTP 400 错误。 (文件获取内容),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54270730/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com