所以,我有一个带有全局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模拟器服务,它似乎正在运行。它有什么问题呢?
答案 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的内容)。
我无法在当地的环境中工作,所以我必须直接在我的临时环境中测试它,检查日志:)
希望它有所帮助! :)