我已经浏览了这里的其他主题,但尚未找到解决我遇到的问题的方法。我在 paypal 沙箱网站上使用“IPN 模拟器”,我将 url 放入我的 ipn 处理脚本,它会向我发送一封电子邮件,通知我发生了什么。 IPN 发送的每个请求都有空的 POST 数据,知道我在这里做错了什么吗?
以下代码是我用来获取 POST 数据的代码,非常感谢任何帮助!
$req = 'cmd=_notify-validate';
foreach ($_POST as $key => $value) {
$value = urlencode(stripslashes($value));
$req .= "&$key=$value";
}
最佳答案
您也可以尝试使用测试沙盒卖家和买家帐户对此进行测试。在您的测试沙盒卖家帐户上设置 IPN,然后进行测试购买。完成此操作后,您可以登录卖家帐户并转到您的 IPN 历史记录,并实际查看已发送的 IPN 字符串。这将帮助您验证是否至少发送了一个 IPN POST。它还应该向您显示它是否成功、失败或处于重试状态。如果失败,它将向您显示服务器返回的状态代码(如果您的服务器正在响应某些内容)。您也可以尝试使用位于 https://www.x.com/developers/PayPal/documentation-tools/code-sample/216623 的 IPN 示例脚本我已经测试了 PHP 版本,它对我有用。
关于PHP 与 PayPal IPN 集成返回空 POST 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14828630/