Paypal Express Checkout红宝石在铁轨上

时间:2015-09-09 02:25:05

标签: ruby-on-rails-4 paypal-sandbox

我正在尝试使用rubmer on rails 4.2.3上的activemerchant 1.53实现Paypal express checkout。按照此处http://railscasts.com/episodes/146-paypal-express-checkout给出的railscasts视频后,我设法让基本订单流程正常运行,没有任何明显错误。但是我还剩下两个问题 -

  • response.success?在order.rb中的购买方法中始终返回false。即使我在我的数据库中为特定订单获取了express_payer_id和express_token的值,也会返回false。
  • 我没有在商家帐户中看到信用卡或在个人买家帐户中看到借记卡。这两个帐户都是在paypal沙盒环境中创建的。另外,我没有看到任何交易的记录。
  • 如何从令牌中提取送货地址和电子邮件,我能够提取railscast中给出的名字和姓氏。

我理解问题有点模糊,但请让我知道我需要提供哪些信息来帮助调试问题,因为我在日志中看不到任何错误。用户从开发环境中的网站路由到Paypal,输入Paypal沙盒帐户的详细信息,完成交易,重定向到我的网站,完成订单。一切都没有错误,直到他遇到一个失败的消息作为response.success?返回false。

任何有助于我调试问题的指针都将受到赞赏。是否有任何Paypal日志我可以看看他们结束时发生了什么?或者我可以从rails中生成任何日志,并为您提供帮助调试?现在改变了Paypal API或activemerchant方法,因为railscast很老了。?

先谢谢你。

1 个答案:

答案 0 :(得分:1)

rails调试选项帮助我调试我的问题。我在我的控制器和模型中添加了以下行来分析Paypal API提供的响应。 事实证明,我在购买函数中将ip地址和总金额作为nil传递,导致失败响应。

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

希望这有助于遇到类似问题的其他人!