2016-04-25 2 views
0

Ich habe versucht, die Express Checkout Paypal API von $ http.get (AngularJS) aufzurufen und erhalte den Fehler 81002 (die angegebene Methode wird nicht unterstützt). Nachdem ich versucht habe, die Express Checkout Paypal API über die Suchleiste von Google Chrome aufzurufen, erhalte ich den Token, damit der Anruf erfolgreich ist. Ich habe auch versucht, die Express Checkout Paypal API per Formular aufzurufen, und der Anruf ist erfolgreich. Ich verstehe nicht warum.HTTP-Anfrage an Paypal

Ich habe versucht, Paypal API auf diese Weise zu nennen:

$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); 
    }); 

Und wenn ich die Antwort sehen, bekomme ich das Token, aber in der Konsole bekomme ich diesen Fehler: Uncaught SyntaxError: Unexpected identifier und ich bin nicht in der Lage Erhalte die Rückgabedaten.

Antwort

1

Ein Ajax-Aufruf über Domänen erfordert die Verwendung von JSONP, um die Antwort zu analysieren. Hier ist ein AngularJS JSONP Beispiel: 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

ich gerade aktualisiert die Frage @circusdei – Lorenzo

+0

braucht einen „Rückruf = JSON_CALLBACK?“ Für Angular die korrekte Funktion bei der Rückkehr zu feuern. – circusdei

+0

Anmeldeinformationen ausgeben? DoubleCheck-Sandbox-vs-live-API (Anmeldeinformationen sind jeweils spezifisch). https://support.bigcommerce.com/articles/Public/What-does-Security-Header-is-Not-Valid-10002-for-PayPal-mean – circusdei