2016-04-24 2 views
0

私はpaypalの支払いを学ぼうとしています。私はPaypal-Express-Checkoutを使用する簡単なAngularJSアプリケーションを作成しました。ドキュメント上で述べているように、まずSetExpressCheckoutを呼び出す必要があります。Paypal Access-Control-Allow-Origin

$http.post("https://api-3t.sandbox.paypal.com/nvp", request) 
.success(function(data){ 
    console.log(data); 
}).error(function(error){ 
    console.log(error); 
}); 

オブジェクトrequestにはすべての支払い詳細があります。 しかし、スクリプトを実行すると、http呼び出しの結果はXMLHttpRequest cannot load https://api-3t.sandbox.paypal.com/nvp. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access. です。このエラーを検索しようとしましたが、何も見つかりませんでした。どうすれば解決できますか?

UPDATEは:リクエストフォームから来る場合、私にすべてのエラーを与えるものではありませんが、それはhttp.postから来た場合、それは私に

答えて

1

あなたはバックエンドであなたのPaypalトランザクションを実行する必要がエラーを与える機能、およびあなたが見ているメッセージは、その概念を実施するPaypalです。詳細はthis article on CORSを参照してください。

あなたの角度のHTTPコールは、サーバーに基本的なトランザクション情報を送信する必要があります。サーバーは、PaypalのAPIリクエストを作成し、Paypalからの応答を処理し、クライアント側が消費するためにその情報を伝えます。 [CORSについての詳細情報を追加するように編集]

この[写真](https://www.paypalobjects.com/webstatic/en_US/developer/docs/ec/overview-ec-ecapiflow.gif)で

+0

エクスプレスチェックアウトモードを要約しています。最初の段階で私はSetExpressCheckout APIを呼び出さなければなりません。私はそれがクライアントかサーバーからの呼び出しかどうかは関係ありませんと思います – Lorenzo

+0

@Lorenzo私が言ったところで立っています。このAPI機能のドキュメントは次のとおりです。https://developer.paypal.com/webapps/developer/docs/classic/express-checkout/integration-guide/ECGettingStarted/#id084RN060BPF – DeeDee

+0

なぜ私がフォームIでアドレスを呼び出すと何かエラーはありませんか?分かりません。 @DeeDee – Lorenzo