angularjs - 带 Angular 的 Paypal API | 400(错误请求)

标签 angularjs paypal

我正在使用 paypal API 并使用此文档 make your firest call .

我收到状态代码 400(错误请求)和一条错误消息:

对象{error: "invalid_request", error_description: "grant_type is a required parameter"

'Authorization': "Basic RU9KMlMtWjZPb05fbGVfS1MxZDc1d3NaNnkwU0ZkVnNZOTE4M0l2eEZ5WnA6RUNsdXNNRVVrOGU5aWhJN1pkVkxGNWNaNnkwU0ZkVnNZOTE4M0l2eEZ5WnA=",

在本例中,我使用了示例提供的 Client-Id 和 Secret,并将它们编码为 base 64。

$http({
            url: 'https://api.sandbox.paypal.com/v1/oauth2/token',
            method: 'POST',
            headers: {'Content-Type': 'application/x-www-form-urlencoded', 
                      'Authorization': "Basic RU9KMlMtWjZPb05fbGVfS1MxZDc1d3NaNnkwU0ZkVnNZOTE4M0l2eEZ5WnA6RUNsdXNNRVVrOGU5aWhJN1pkVkxGNWNaNnkwU0ZkVnNZOTE4M0l2eEZ5WnA=",
                      'Accept-Language': 'en_US'
                      },
            data: { grant_type: 'client_credentials' }
    }).success(function (data, status, headers, config) {
                console.log(data)
    }).error(function (data, status, headers, config) {
                console.log(data)
    });

最佳答案

根本原因是您的数据被编码为 JSON 而不是 application/x-www-form-urlencoded,因此您需要做的是对数据进行 URL 编码,例如:

$http({
    method: 'POST',
    url: url,
    data: $.param({grant_type: 'client_credentials'}),
    headers: {'Content-Type': 'application/x-www-form-urlencoded'}
})

关于angularjs - 带 Angular 的 Paypal API | 400(错误请求),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28384174/

相关文章:

javascript - 连接 promise ,或者一个 promise 触发另一个 promise

javascript - $ionicLoading 中的可点击内容

php - 广泛的沙盒测试后未调用 PayPal notify_url

javascript - 警报用户字段必须为空

javascript - Angularjs ui路由器手动导航

path - Paypal 直接支付路径错误

使用自定义返回 URL 时,PayPal PDT 不会在 QueryString 中返回 tx 值

paypal - 新账户可以使用数字商品支付吗

javascript - Angular 旋转木马在旋转木马末端添加了额外的空幻灯片

php - 如何从每笔 Paypal 交易中提取一笔交易?