为了确认付款,我需要一个access_token,它每8小时到期一次,因此在尝试验证付款之前,我需要使用云代码获取新的访问令牌。
我正在尝试使用httpRequest:
function requestAccessToken(response){
Parse.Cloud.httpRequest({
method: 'POST',
url: 'https://api.paypal.com/v1/oauth2/token',
headers: {
'Content-Type': 'application/json',
'Accept-Language' : 'en_US'
},
body: 'grant_type=client_credentials',
success: function(httpResponse) {
var res = JSON.parse(httpResponse.text);
response.success(res.access_token);
},
error: function(httpResponse) {
response.error('requestAccessToken failed with response code ' + httpResponse.status);
}
});
}
执行以下curl(from docs):
curl -v https://api.sandbox.paypal.com/v1/oauth2/token \
-H "Accept: application/json" \
-H "Accept-Language: en_US" \
-u "{client-ID}:{secret}" \
-d "grant_type=client_credentials"
问题是我找不到将“{client-ID}:{secret}”添加到httpRequest的方法。
使用url: 'https://'+clientId+':'+secret+'@api.paypal.com/v1/oauth2/token'
会产生500服务器响应。
任何想法如何获取访问令牌以验证付款?
答案 0 :(得分:0)
您需要添加授权标题
Authorization: Basic < {client-ID}:{secret}" encoded base64> (e.g. QWxhZGRpbjpvcGVuIHNlc2FtZQ==)