Я попытался вызвать API Paypal Express Checkout через $ http.get(AngularJS), и я получаю сообщение об ошибке 81002 (указанный метод не поддерживается). После того, как я попытался вызвать Express PayPal API, используя панель поиска Google Chrome, я получаю токен, чтобы вызов был успешным. Я также попытался вызвать API Express Checkout Paypal по форме, и вызов был успешным. Я не понимаю, почему.
Я попытался вызвать API Paypal таким образом:
$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
и я не могу получить возвращаемые данные.
Для вызова 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;
});