只是想知道是否有人可以帮助我解决我在 PayPal IPN 方面遇到的令人沮丧的问题。我的代码是:
<?php
error_reporting(E_ALL);
// tell PHP to log errors to ipn_errors.log in this directory
ini_set('log_errors', true);
ini_set('error_log', dirname(__FILE__).'/ipn_errors.log');
// intantiate the IPN listener
include('ipnlistener.php');
$listener = new IpnListener();
// tell the IPN listener to use the PayPal test sandbox
$listener->use_sandbox = false;
// try to process the IPN POST
try {
$listener->requirePostMethod();
$verified = $listener->processIpn();
} catch (Exception $e) {
error_log($e->getMessage());
exit(0);
}
// TODO: Handle IPN Response here
// ...
if ($verified) {
echo 'hello';
// TODO: Implement additional fraud checks and MySQL storage
mail('my email here', 'Valid IPN', $listener->getTextReport());
} else {
// manually investigate the invalid IPN
mail('my email here', 'Invalid IPN', $listener->getTextReport());
}
?>
我的 ipnlistener.php 是这里给出的:https ://github.com/Quixotix/PHP-PayPal-IPN
当有人提交付款时,我确实收到了 Valid IPN 电子邮件,正如我在代码中应该看到的那样,但没有其他任何回显(即 hello 没有回显),并且我的页面的页脚不存在。这就像拒绝回应任何东西,但确实遵循其余的命令。在我的错误日志中,我总是得到“无效的 HTTP 请求方法”。
任何人都可以帮忙吗?
谢谢。
编辑:以防万一它有助于知道,之前的任何回应
try {
$listener->requirePostMethod();
$verified = $listener->processIpn();
} catch (Exception $e) {
error_log($e->getMessage());
exit(0);
}
很好,但是之后的任何回声都不起作用。