2015-11-19 166 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": "-" 
    } 
}