2015-10-13 48 views
0

想知道这里有没有人使用过WadeShulerIPN fork。它对我来说很不清楚,并想知道我们是否可以看到这一点。了解WadeShuler的IPN分支

  1. 我创建了3个文件api_cert_chain.crt,ipnlistener.php和ipn.php并上传到我的domain.com/位置。
  2. 更改ipnlistener.php中的路径& ipn.php。现在他们是:require_once('IpnListener.php');curl_setopt($ch, CURLOPT_CAINFO, dirname(dirname(__FILE__)) . '/api_cert_chain.crt');,因为我在同一位置使用所有文件。
  3. 我在这两个文件中分别有namespace wadeshuler\paypalipn;use wadeshuler\paypalipn\IpnListener;。我需要创建一个文件夹wadeshuler吗?为什么斜杠反转?
  4. 在ipn.php中,完成错误处理和数据库更新是很好的//这是一个功能请求。
  5. 我已经通过实际支付都通过PayPal按钮加载ipn.php和直接,我没有在任何ipn_success.log或ipn_error.log

感谢您的帮助。

回答

1

如果在任何一个日志中都没有任何内容,那么您的ipn.php脚本没有被调用,或者您的ipn.php脚本在完成之前崩溃。

首先检查您提供给PayPal的notify_url,类似notify_url = http:// www。 您的域名 .com/ipn.php。理想情况下,您应该将该URL插入Paypal's IPN Simulator,并查看它是否与您的脚本对话。

如果IPN模拟器在与您的脚本交谈失败并且地址正确的情况下失败,则可能是您引入了错误。查看是否有任何PHP错误正在您的Web服务器上记录 - 默认情况下,我的主机将它们全部引发到脚本运行所在的目录中名为“error_log”的文件中。

没有其他应该能够出错了,韦德的模块非常简单,只要你在任何你需要改变的路径中都没有犯错,就应该工作。

+0

使用Paypal的IPN模拟器,我在ipn_error.log中得到一个空数组。通过PayPal按钮调用此页面,我在成功或错误日志中没有得到任何回报,但我从PayPal获得确认电子邮件,表明付款已经过程。 – Jeremy

+1

一个空的日志是棘手的,出了问题,奇怪的是没有具体记录。我会尝试在脚本的其他位置记录其他信息,以便您可以查看特定数据(例如POST数据)中的内容,甚至只需检查IpnListener类的哪些部分正在执行。还要检查在ipn脚本中沙盒没有设置为true - 这是默认设置,不适用于真实世界的事务。 PayPal电子邮件确认交易发生,IPN是对您的应用的额外通知 - 即使IPN流程失败,交易仍然有效。 –

+0

与此同时,我看到你的其他帖子在你发布你的代码,并帮助我调试。谢谢,现在工作。一个问题,如果我想要下拉选择金额,而不是通过隐藏字段发送金额。任何想法 ? – Jeremy