play框架接收paypal IPN请求

Posted

技术标签:

【中文标题】play框架接收paypal IPN请求【英文标题】:play framework receive paypal IPN request 【发布时间】:2015-11-01 03:10:31 【问题描述】:

我尝试将 IPN(来自模拟器)发送到我的 play framework url!

网址如下所示:http://host/checkout/sub

服务器在 80 端口上运行。问题是 ipn 请求甚至没有调用链接方法。 (所以我刚刚在路由中定义的方法永远不会被调用,如果我请求一个 ipn),但仍然有一个传入的请求!

如果我尝试通过浏览器调用 URL,我没有遇到任何问题,并且该方法被正确调用。

那么还有其他人遇到过这个问题吗? 我应该尝试其他方式吗?

非常感谢您的帮助!

亲切的问候, 保罗

编辑:大约 5 分钟后我得到了那个异常

[error] p.n​​ettyException - 在 Netty 中捕获的异常 java.lang.IllegalArgumentException:org.jboss.netty.handler.codec.http.HttpVersion.(HttpVersion.java:97) 处的空文本~[netty-3.9.8.Final.jar:na]

【问题讨论】:

host 可以公开访问吗?这意味着可以从网络上的其他服务器访问它。 好吧,我想应该是吧?因为我可以用浏览器访问它?我是否必须进行一些配置才能使其从其他服务器显式访问?!亲切的问候 可能有一个本地站点,可以用浏览器查看,但 PayPal 无法访问。 嗨! PayPal 正在到达服务器!我启动了服务器并向它发送了一个 ipn……然后它编译了等等……仍然没有调用该方法,我得到“我们很抱歉,但是有一个 HTTP 错误。请再试一次。”跨度> 非常感谢您的帮助! 【参考方案1】:

终于……

1) 我必须在我的服务提供商处修复一些设置(打开 Internet -> 是)

2) 我不得不将端口更改为 80(在 9000 上进行测试)

3) play 和 paypal 的异常并没有真正说明什么...wireshark 再次做得很好:在我的路由文件中,我将 rout 定义为 GET 但他们当然是通过 POST 发送数据(愚蠢错误:P)

亲切的问候

【讨论】:

以上是关于play框架接收paypal IPN请求的主要内容,如果未能解决你的问题,请参考以下文章

使用 Spring 控制器处理 Paypal IPN 请求?

如何找出这个 IPN 请求发送到哪个文件?

django-paypal:IPN 请求总是无效的

PayPal IPN 模拟器错误请求

Laravel Paypal IPN 与 localtunnel 随机 400 错误请求

PayPal ipn 通知请求未发送