PayPal 客户端验证失败

PayPal Client Authentication Failed

自从我从沙盒模式切换到真实交易后,我收到客户端身份验证失败错误。

配置:

{
  "port": 5000,
  "api": {
    "host": "api.paypal.com/v1/",
    "port": "",
    "client_id": "-",
    "client_secret": "-"
  }
}

我仔细检查了我的客户端 ID 和密码,它们已启用并且不适用于沙盒模式。

代码:

   paypalService.getPaypalMethodOption(req.body.paymentMethodOptionId).then(function (paymentMethodOption) {
    var invoiceId = uuid.v4();
    var payment = {
        "intent": "sale",
        "payer": {
            "payment_method": "paypal"
        },
        "transactions": [{
                "amount": {
                    "currency": 'USD',
                    "total": paymentMethodOption.Price
                },
                "description": paymentMethodOption.Description,
                "invoice_number": invoiceId
            }]
    };

    payment.payer.payment_method = 'paypal';
    payment.redirect_urls = {
        "return_url": "http://localhost:3000/paypal/execute",
        "cancel_url": "http://localhost:3000/donate/cancelled"
    };
    paypal.payment.create(payment, function (error, payment) {
        // error
    });
}); 

可能是什么问题?

搜索了几个小时后,我发现我需要另一个 属性。 显然,您需要添加值为 "live" 的 属性 模式。这部分的文档不是很清楚,节点 sdk github 存储库中也没有任何实时示例代码。

我的配置现在如下所示:

{
    "port": 5000,
    "api": {
        "mode": "live",
        "host": "api.paypal.com",
        "port": "",
        "client_id": "-",
        "client_secret": "-"
    }
}