我想做什么: 使用Cakephp的httpsocket类并检索交易的付款细节。
我尝试过:
$HttpSocket = new HttpSocket();
$request = array(
'header' => array(
'Authorization' => 'Basic QVh5TEhoRERjUVZQb1JicV93UXlJb21ublo4N3p2RWozMWXXXX1tS2pDNmdtSlVwOWZ5TG5yZ0s4Y2F5Og=='
)
);
$results = $HttpSocket->post('https://api.sandbox.paypal.com/v1/oauth2/token', 'grant_type=client_credentials', $request);
$results_array = json_decode($results, TRUE);
$request2 = array(
'header' => array(
'Accept' => 'application/json',
'Authorization' => 'Bearer '.$results_array['access_token']
)
);
$results2 = $HttpSocket->get('https://api.sandbox.paypal.com/v1/payments/payment/PAY-XXXXXXXXXX93349KRAPLNI', array(), $request2);
echo $results2;
我得到了什么:
在我发出的第一个Post请求中,我得到了json格式的正确结果,该格式具有范围,access_token,expires_in等
$results = $HttpSocket->post('https://api.sandbox.paypal.com/v1/oauth2/token', 'grant_type=client_credentials', $request);
但是当我将访问令牌传递给第二个请求时,即GET,我得到了未经授权的访问错误
$results2 = $HttpSocket->get('https://api.sandbox.paypal.com/v1/payments/payment/PAY-XXXXXXXXXX93349KRAPLNI', array(), $request2);
我不知道我做错了什么。也许没有正确设置标题..我不确定。
任何形式的帮助将不胜感激。如果我错过任何细节/代码,请随时提出,我会在评论中发布。