我正在尝试在我的网站上实施paypal支付系统。 我有点坚持接收IPN。 该网站是用PHP开发的,在ZendFramework和Doctrine 1.2.3
上我使用位于paypal网站上的示例脚本来接收IPN,但它不起作用。 出于调试目的,我留在IPN页面代码上,它只是在我的mysql数据库的表中插入一个新条目,所以每次加载页面时,都会在数据库中插入一个新条目。
我再次尝试使用PayPal的即时付款通知(IPN)模拟器并尝试向该页面发送新的IPN,但是数据库中没有插入任何内容,所以我最好的猜测是某种程度上,paypal无法到达我的页面,即使它说IPN已成功发送。
ipn url类似于:http://mydomain.com/shop/paypal/ipn
答案 0 :(得分:0)
我终于明白了。 看起来,paypal不会将IPN数据发送到以下网址:domain.com/shop/ipn。 我创建了一个单独的php文件,与我使用的框架无关,所以ipn url看起来像:domain.com/ipn.php。现在一切正常。
答案 1 :(得分:0)
我正在回答一个正确的答案。 它不起作用的原因不是任何paypal ipn url-form restriction.i使用Zend_Translate进行多语言支持并使用默认语言访问者浏览器发送给我的东西。问题是当paypal发送给我IPN它没有提供任何默认语言,在我的代码中生成异常并且应用程序崩溃,因此没有收到IPN。
此外,如果任何人需要在Zend中拥有自定义URL,他们可以使用Zend_Controller_Router_Route_Regex,更多信息请点击此处: