Paypal错误:" rp_lookup_failed","无法读取RP元数据"

时间:2015-10-26 12:28:08

标签: api token

我正在开发一个AngularJS应用程序,我正在尝试测试PayPal交易。我创建和APP并获得ClientID和Secret,然后我想获得访问令牌。我试着用这个

storeApp.controller('payPalController', ['$scope', '$http', function($scope, $http)
{
    $scope.paypal = function()
    {
              $http({
                  method: 'POST',
                  url: 'https://api.sandbox.paypal.com/v1/oauth2/token',
                  headers: {
                  'Accept': 'application/json',
                  'Content-Type': 'application/x-www-form-urlencoded',
                  'Authorization': 'Basic AeHZj_qxaxXkqKQWIjt4vLN1kL7dfpmn-aTiE3u0eLVGZBQut1DXA8qgMq8N22GCjTLrZUOSg4BC6hvH:EAsK3JWlOW1rPNRelHWuy3qmNWMwg74t2K_CizaBQGaT10OyMyEY7pVVBJJC2RZCZXthaNL7iBfGULzN',
                  },
                  data: 'grant_type=client_credentials'
              })
              .success(function()
              {
                  console.log("It works!");
                  //console.log(data);
              })
              .error(function()
              {
                  console.log("It fails!");
                  //console.log(data)
              });
    }
}]);

但是当我从浏览器执行它时,我得到了这个:

  

{"错误":" rp_lookup_failed"," error_description":"无法读取RP   元数据:请求失败,异常:   com.paypal.foundation.exception.DataAccessRuntimeException \ n错误:\ n \ tPIMP_RC_INTERNAL_ERROR   客户端异常,同时调用UserRead.read_identity_partner_app   2.0:\ n"}

另一方面,与此同时,我收到了这个警告。

  

此站点使用SHA -1证书;建议使用   使用比SHA-1哈希更强的认证签名算法   功能

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

我有同样的问题,原因是 - 你需要Base64编码授权标题。 (client_id和secret)。

所以,替换这一行:

'Authorization': 'Basic AeHZj_qxaxXkqKQWIjt4vLN1kL7dfpmn-aTiE3u0eLVGZBQut1DXA8qgMq8N22GCjTLrZUOSg4BC6hvH:EAsK3JWlOW1rPNRelHWuy3qmNWMwg74t2K_CizaBQGaT10OyMyEY7pVVBJJC2RZCZXthaNL7iBfGULzN'

这一行:

'Authorization': 'Basic QVVBZ3dEdzNrUUEwa0NBblFRZWdVR1M4R19zb3pBdkV5NFY1RUppdm5JTVdSQVJESnNQR2VGWHZBWEo1NjlfOGhGelgzdkxWS21jU0JyTnQ6RUVkbUdHNFptaGRCSlJwQjZMek9VLWJWQmU3NEZIWm8xam9TTGM0V0tiTzg2cS15TWk1ZTA5NUxXUHlhVHIxa2YxWjBDdHB3YU40WGxmMmw='