【问题标题】:Return url doesn't work with PayPal and NodeJS返回 url 不适用于 PayPal 和 NodeJS
【发布时间】:2014-12-05 15:39:45
【问题描述】:

我的返回 URL 不适用于 paypi-rest-sdk 和 NodeJS。

付款后页面:https://space.zeo.net/g/2x2n1

页面应该是:http://www.mywebsite.fr/confirm

      var payment = {
        "intent": "sale",
        "payer": {
          "payment_method": "paypal"
        },
        "redirect_urls": {
          "return_url": paypalConfigs.returnUrl,
          "cancel_url": paypalConfigs.cancelUrl+request.user.id
        },
        "transactions": [{
          "amount": {
            "total": total,
            "currency": "EUR"
          },
          "description": "Commande Printwithlove"
        }]
      };

      paypal.payment.create(payment, function (error, payment) {
        if (error) {
          console.log(error);
        } else {
          if(payment.payer.payment_method === 'paypal') {
            request.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;
              }
            }
            response.redirect(redirectUrl);
          }
        }
      });

【问题讨论】:

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


【解决方案1】:

您好,请尝试使用 developer.paypal.com/webapps/developer/docs/integration/direct/... 创建付款,即仅发送 curl 请求。如果您能够做到这一点并且重定向有效,那么您可以消除这是您的帐户设置或凭据的问题,并且返回 url 的格式正确。然后尝试来自 github.com/paypal/rest-api-sdk-nodejs/samples 的示例,如果示例有效,则问题可能与您的应用有关。

Eshan 的建议也可能是这里的问题。

【讨论】:

  • 我的 API 正在使用 Sandbox,也许这就是问题所在...如何使用 live ?
【解决方案2】:

使用 npm paypal-rest-sdk 包。我曾经有同样的问题。然后在我重定向支付页面之后。您给出了 response.redirect(redirectUrl); 它在读取所有代码异步过程时正在执行,因此重定向不起作用。你在执行if条件的时候给出重定向代码!

【讨论】:

    猜你喜欢
    • 2017-08-13
    • 2020-08-15
    • 2012-02-01
    • 2014-05-04
    • 2021-05-10
    • 2016-01-27
    • 2019-05-16
    • 2016-07-13
    • 1970-01-01
    相关资源
    最近更新 更多