2015-09-09 63 views
1

我想在rails 4.2.3上使用activemerchant 1.53在ruby中實現PayPal快速結帳。在遵循這裏給出的railscasts視頻http://railscasts.com/episodes/146-paypal-express-checkout之後,我設法讓基本訂單流程工作,沒有任何可見的錯誤。不過,我還有兩個問題 -PayPal快速檢查在軌道上的紅寶石

  • response.success?在order.rb中的購買方法總是返回一個false。即使在我的數據庫中爲特定順序獲取express_payer_id和express_token的值時,這也會返回false。
  • 我看不到商業賬戶中的信用或個人買家賬戶中的借方。這兩個帳戶都是在PayPal沙箱環境中創建的。另外,我看不到任何交易的日誌。
  • 如何從令牌中提取送貨地址和電子郵件,我可以提取在railscasts中給出的名字和姓氏。

我明白問題有點模糊,但請讓我知道我需要提供哪些信息來幫助調試問題,因爲我在日誌中看不到任何錯誤。用戶從我的網站在開發環境中路由到PayPal,輸入他們的Paypal沙箱帳戶的詳細信息,完成交易,重定向到我的網站,完成訂單。一切工作沒有錯誤,直到他作爲response.success與故障消息迎接?返回false。

任何可以幫助我調試問題的指針將不勝感激。是否有任何PayPal日誌可以查看最終發生的事情?或者是否有任何日誌可以從我的rails中生成並提供幫助調試?由於railscasts比較陳舊,所以現在已經改變了Paypal API或者activemerchant方法。

先謝謝您。

回答

1

rails調試選項幫助我調試我的問題。我在我的控制器和模型中添加了以下幾行來分析Paypal API提供的響應。 事實證明,我在購買功能中通過了ip地址和總金額爲零,導致失敗響應。

logger.debug "first response: #{response.inspect}" 
logger.debug "total price: #{total_price.inspect}" 
logger.debug "Express_purchase_opt: #{express_purchase_options.inspect}" 

希望這有助於其他人遇到類似的問題!