在我的项目中集成PayPal的难度

时间:2015-07-10 17:13:56

标签: angularjs node.js express paypal paypal-rest-sdk

我正在按照本教程将PayPal-node-SDK集成到我的项目Pay with PayPal选项中。 http://devblog.paypal.com/building-a-web-app-with-node-js-the-paypal-sdk-part-3/

我收到了以下错误:

XMLHttpRequest cannot load https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=someToken. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:9000' is therefore not allowed access.

有人可以帮我解决这个问题吗?我在项目中使用MEAN堆栈。

由于

编辑:更新了用于创建PayPal付款的代码。

paypal.payment.create(payment, function (error, payment) {
  if (error) {
    console.log(error);
  } else {
    if(payment.payer.payment_method === 'paypal') {
      //req.session.paymentId = payment.id;
      var redirectUrl;
      for(var i=0; i < payment.links.length; i++) {
        var link = payment.links[i];
        if (link.method === 'REDIRECT') {
          redirectUrl = link.href;
          console.log(redirectUrl);
        }
      }
      res.redirect(redirectUrl);
    }
  }
});

1 个答案:

答案 0 :(得分:0)

CORS问题。您无法使用JavaScript(在浏览器中)从git remote set-url --push origin git://github.com/larsks/py-st7565.git域中查询sandbox.paypal.com。您必须通过后端处理请求,或者您必须调查如何获取PayPal以允许您的域在其服务器上设置为localhost(可能在您注册域时使用它们获取API密钥)。