未调用Rails PayPal IPN notify_url

时间:2012-10-22 09:50:23

标签: ruby-on-rails-3 paypal paypal-ipn

所以,我有一个带有全局IP地址的路由器(是的,我知道它不适用于本地的,如192.168.xx.xx)地址,我已经三次检查它是否可以从外部访问。

我目前正在沙盒环境中工作。

我将所有付款选项放在隐藏的:加密字段(请参阅相应的railscast)中,这些字段将发布到PayPal。在PayPal方面,一切都运行得非常顺利 - 我完成付款等等,但IPN从未被调用过。触发我的动作根本没有记录条目(没有错误/警告或任何错误),但至少应该有一些东西。

我尝试过两种方式传递notify_url:1)在我的购买模型的选项哈希中,然后加密到:加密字段; :notify_url => notify_url 2)notify_url显式为单独的隐藏字段=&gt; <%= hidden_field_tag :notify_url, notify_url %> 3)第1和第2点的组合。

但它没有希望 - 似乎没有任何效果。 :(

我还尝试在我的沙箱业务帐户设置中启用IPN,但这也没有任何帮助。

在这种情况下我该怎么办?

P.S我也尝试过IPN模拟器服务,它似乎正在运行。它有什么问题呢?

2 个答案:

答案 0 :(得分:2)

有了试验错误,我终于找到了解决方案!

永远不要,我再说一遍,如果您想使用,请不要使用“_cart”作为付款的cmd:1)IPN,2)PDT验证。请改用“_xclick”!

这解决了我的问题,现在他们两个都正常工作了!

希望这对某人有用!

答案 1 :(得分:1)

在我的情况下,我也遇到了rails root_path的几个问题,所以我不得不使用:

(:notify_url => MyApp::Application.config.domain_url + Rails.application.routes.url_helpers.my_ipn_path) #

确保notify_url格式正确,将其链接到值hash(如果您使用类似于此railscast http://railscasts.com/episodes/141-paypal-basics的内容)。

我无法在当地的环境中工作,所以我必须直接在我的临时环境中测试它,检查日志:)

希望它有所帮助! :)