我在尝试将PayPal IPN集成到我的PHP代码中时遇到了困难。在网上寻找一些教程之后,我发现了一些并且去了这个:http://www.evoluted.net/thinktank/web-development/paypal-php-integration。它让我开始,但是当进行真正的编码时,事情并非如此简单。即Payments.php功能给我带来了麻烦。
我在代码中遇到了一些问题:
// Check if paypal request or response
if (!isset($_POST["txn_id"]) && !isset($_POST["txn_type"])) {
......
} else {
//Database Connection
$link = mysql_connect($host, $user, $pass);
mysql_select_db($db_name);
......
$fp = fsockopen ('ssl://www.sandbox.paypal.com', 443, $errno, $errstr, 30);
if (!$fp) {
// HTTP ERROR
} else {
fputs($fp, $header . $req);
$totalRes = "";
while (!feof($fp)) {
$res = fgets ($fp, 1024);
$totalRes .= $res;
if (strcmp($res, "VERIFIED") == 0) {
......
} else if (strcmp ($res, "INVALID") == 0) {
......
}
......
}
mail('myMail@abc.com','Report: PayPay-PHP-IPN', "Total RESPONSE: $totalRes");
}
fclose ($fp);
}
我已将$ totalRes变量添加到原始代码中,以便了解正在发生的事情。
当我运行上面的代码时,我在邮件中收到以下内容:
Total RESPONSE:HTTP / 1.1 400错误请求 日期:星期六,2016年10月22日02:31:55 GMT 服务器:Apache 内容长度:226 X-Cnection:关闭 内容类型:text / html;字符集= ISO-8859-1
400错误请求
您的浏览器发送了此服务器无法理解的请求
我的数据库没有更新。
显然事情并没有发生。理想情况下,我应该告诉我我的产品已经购买并且在数据库中有跟踪。
这是什么问题?我该如何解决?
提前感谢任何相关提示。