【问题标题】:HTTP request to Paypal对 Paypal 的 HTTP 请求
【发布时间】:2016-08-19 09:26:00
【问题描述】:

我尝试通过 $http.get(AngularJS) 调用 Express Checkout Paypal API 并收到错误 81002(不支持指定的方法)。在我尝试使用 Google Chrome 的搜索栏调用 Express Checkout Paypal API 并获得令牌后,调用成功。我也尝试通过表单调用Express Checkout Paypal API,调用成功。我不明白为什么。

我尝试用这种方式调用Paypal API:

$http.jsonp("https://api-3t.sandbox.paypal.com/nvp?USER=[user]&PWD=[PWD]&SIGNATURE=[SIGNATURE]&VERSION=109.0&PAYMENTREQUEST_0_PAYMENTACTION=Sale&PAYMENTREQUEST_0_AMT=19.95&RETURNURL=http%3A%2F%2Flocalhost%3A3000%2FexpressCheckout.html&CANCELURL=http%3A%2F%2Flocalhost%3A3000%2FpagamentoAnnullato.html&METHOD=SetExpressCheckout")
    .success(function(data){
      console.log(data);
    }).error(function(error){
        console.log(error);
    });

如果我看到响应,我会得到令牌,但在控制台中我会收到此错误:Uncaught SyntaxError: Unexpected identifier,我无法获取返回数据。

【问题讨论】:

    标签: javascript html angularjs paypal


    【解决方案1】:

    跨域的 ajax 调用需要使用 JSONP 来解析响应。这是一个 AngularJS JSONP 示例:http://jsfiddle.net/saarmstrong/hYACX/8/light/

    $http.jsonp("/echo/jsonp/?callback=JSON_CALLBACK&data=" + params)
    .then(function(json) {
        $scope.response = json.data.data;
    });
    

    【讨论】:

    • 需要一个 "?callback=JSON_CALLBACK" 以便 Angular 在返回时触发正确的函数。
    • 凭证问题? Doublecheck Sandbox-vs-live API(凭证特定于每个)。 support.bigcommerce.com/articles/Public/…
    • 我刚刚在https://api-3t.sandbox.paypal.com/nvp?callback=JSON_CALLBACK&data={"USER":[USER],"PWD":[PWD],"SIGNATURE":[SIGNATURE],"VERSION":"109.0","RETURNURL":"http://localhost:3000/expressCheckout.html","CANCELURL":"http://localhost:3000/pagamentoAnnullato.html","METHOD":"SetExpressCheckout","PAYMENTREQUEST_0_PAYMENTACTION":"Sale","L_PAYMENTREQUEST_0_AMT":"20.00"} 中更新,但在控制台中我收到此错误Invalid left-hand side in assignment。此外,如果我看到响应,我会收到此错误 Method Specified is not Supported @circusdei
    • 我必须仔细检查数据应该如何编码,但正确的编码应该可以工作。
    • 请查看here
    猜你喜欢
    • 2015-10-03
    • 2020-10-11
    • 2020-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-22
    • 2017-10-30
    • 1970-01-01
    相关资源
    最近更新 更多