为了账号安全,请及时绑定邮箱和手机立即绑定

与 PayPal 连接:获取状态 4​​00(错误请求)

与 PayPal 连接:获取状态 4​​00(错误请求)

PHP
千万里不及你 2023-05-12 14:22:58
在根据访问代码获取访问令牌期间,我面临来自 PayPal 的 400 个错误请求响应。我通过以下参考链接https://developer.paypal.com/docs/connect-with-paypal/integrate/#1-create-the-app我完美地遵循了 5 个步骤,但在第 1 步中遇到了问题。6. 看下面我的代码:请求部分:$curl = curl_init();$base_token = "{client_id:secret}";$data = array(    CURLOPT_URL => "https://api.sandbox.paypal.com/v1/oauth2/token",    CURLOPT_RETURNTRANSFER => true,    CURLOPT_CUSTOMREQUEST => "POST",    CURLOPT_POSTFIELDS => array(        'grant_type' => 'authorization_code',        'code' => '{authorization_code}'    ),    CURLOPT_HTTPHEADER => array(        "Authorization: Basic ".$base_token,    ),);curl_setopt_array($curl,$data );$response = curl_exec($curl);curl_close($curl);响应部分:stdClass Object (    [name] => Bad Request    [debug_id] => 5837077aa8787    [message] => java.lang.IllegalArgumentException    [details] => Array        (        ))
查看完整描述

2 回答

?
富国沪深

TA贡献1790条经验 获得超9个赞

解决问题见我下面的代码:


$base_token = '{client_id:secret}';


$curl = curl_init();


$data = array(

    CURLOPT_URL => "https://api.sandbox.paypal.com/v1/oauth2/token",

    CURLOPT_RETURNTRANSFER => true,

    CURLOPT_CUSTOMREQUEST => "POST",

    CURLOPT_SSL_VERIFYPEER => false,

    CURLOPT_POSTFIELDS => http_build_query(array(

        'grant_type'=>'authorization_code',

        'code'=> $request->code,

    )),

    CURLOPT_HTTPHEADER => array(

        "Content-Type: application/x-www-form-urlencoded",

    ),

    CURLOPT_USERPWD => $base_token

);


curl_setopt_array($curl, $data);


$response = curl_exec($curl);

curl_close($curl);


查看完整回答
反对 回复 2023-05-12
?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

将数组传递给 CURLOPT_POSTFIELDS 会将内容类型设置为multipart/form-data. 这是错误的。


您需要将查询字符串传递给 CURLOPT_POSTFIELDS。


CURLOPT_POSTFIELDS => http_build_query(array(

        'grant_type' => 'authorization_code',

        'code' => '{authorization_code}'

    )),


查看完整回答
反对 回复 2023-05-12
  • 2 回答
  • 0 关注
  • 211 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信