2016-04-25 93 views
0

我試圖通過$ http.get(AngularJS)調用Express Checkout Paypal API,並且出現錯誤81002(不支持指定的方法)。在我嘗試使用谷歌瀏覽器的搜索欄調用Express Checkout Paypal API後,我得到令牌,以便通話成功。我也嘗試通過表單呼叫Express Checkout Paypal API,並且通話成功。我不懂爲什麼。對Paypal的HTTP請求

我試着打電話給貝寶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,我不能獲取返回數據。

回答

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; 
}); 
+0

我剛剛更新@circusdei – Lorenzo

+0

需要一個「回調= JSON_CALLBACK?」對角火就返回正確的功能的問題。 – circusdei

+0

憑證問題? Doublecheck Sandbox-vs-live API(憑證對每個都是特定的)。 https://support.bigcommerce.com/articles/Public/What-does-Security-Header-is-Not-Valid-10002-for-PayPal-mean – circusdei