Paypal Access-Control-Allow-Origin

时间:2016-04-24 20:06:02

标签: javascript angularjs http paypal

我正在努力学习PayPal付款。我做了一个使用Paypal-Express-Checkout的简单AngularJS应用程序。正如文档中所述,首先我必须调用SetExpressCheckout。

$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. 我试图搜索这个错误,但我一无所获。我怎么解决?

更新:如果请求来自表单不会给我任何错误,但如果它来自http.post函数它会给我一个错误

1 个答案:

答案 0 :(得分:1)

您必须在后端执行Paypal交易,而您看到的消息是Paypal强制执行该概念。有关详细信息,请参阅this article on CORS

您的角度http呼叫应该将基本交易信息发送到您的服务器,然后服务器将构建Paypal的API请求,处理来自Paypal的响应,然后传达该信息供客户端使用。

[编辑以添加有关CORS的更多信息]