2015-11-19 80 views
1

由于我从沙箱模式切换到真正的交易,我得到一个客户端身份验证失败的错误。PayPal客户端验证失败

enter image description here

配置:

{ 
    "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 
    }); 
}); 

可以采取什么问题吗?

回答

3

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

我的配置现在看起来如下:

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