2012-10-22 42 views
2

所以,我有一个全球IP地址的路由器(是的,我知道它不会与本地的,如192.168.xx.xx)地址,我已经三倍检查它可从外部访问。Rails PayPal IPN notify_url不叫

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

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

我试着通过notify_url 2种方式:1)在我的购买模式的选项哈希中,在加密之前:加密字段; :notify_url => notify_url 2)notify_url作为一个单独的隐藏字段显式=><%= hidden_field_tag :notify_url, notify_url %> 3)组合1和2.

但它是无望的 - 似乎没有任何工作。 :(

我也试图使IPN在我的沙箱业务帐户设置,但没有做任何帮助的。

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

PS我有?还尝试了IPN模拟器服务,它似乎是工作有什么不对的地方,然后

+0

任何人都可以帮助我这个吗? – Dmitri

回答

2

随着trial-n-error,我终于找到了解决方案!

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

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

希望这对别人有用!

1

在我来说,我有几个问题与导轨root_path太多,所以我只好用:

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

以确保notify_url格式正确,并将其链接到值散列(如果您使用类似于此播报的http://railscasts.com/episodes/141-paypal-basics)。

我不能使它在当地的环境工作,所以我必须要直接测试它在我的升级环境,检查日志:)

希望它能帮助! :)

+0

谢谢你的回答。我检查了notify_url数次。我甚至测试了与IPN模拟器的链接,它的功能就像一个魅力,但真正的付款它根本不工作:(我开始怀疑在沙箱环境中IPN被禁用。:( 不知道它是否属实,尽管......但有0个理由不适合我的案例 – Dmitri

+0

该死的看起来,PDT在沙盒中也不起作用(验证部分:_notify-synch)。如果我的应用程序工作正常或不正常,我会如何开发一些东西,当我不知道该怎么做时,该死的你,PayPal! – Dmitri