我使用Quixotix-PHP-PayPal-IPN Class,在我的网站上付款。
问题是我总是从paypal获得INVALID,我所做的代码是:
try {
$verified = $listener->processIpn();
} catch (Exception $e) {
file_put_contents('ipn_log.txt', $e);
exit(0);
}
if ($verified) {
file_put_contents('ipn_log.txt', 'success');
if (strcasecmp($_POST['receiver_email'],$paymail) == 0 && $_POST['payment_status'] == 'Completed' && $_POST['mc_currency'] == 'USD') {
$stmt = $db->prepare('SELECT msg FROM prices WHERE price = ?') or die($db->error);
$char = 'd';
$stmt->bind_param($char, $_POST['payment_gross']);
$stmt->execute() or die($db->error);
$stmt->store_result();
if ($stmt->num_rows > 0) {
$stmt->bind_result($msg);
$stmt->fetch();
$stmt->close();
$stmt = $db->prepare('UPDATE users SET pack = (pack + ?), transid = ? WHERE id = ? AND transid != ?') or die($db->error);
$txn_id = $_POST['txn_id'];
$custom = $_POST['custom'];
$stmt->bind_param('isis', $msg , $txn_id , $custom, $txn_id);
$stmt->execute() or die($stmt->error);
}
}
}
else file_put_contents('ipn_log.txt', 'not verifed');
所以我付了检查费,但文件'ipn_log.txt'总是包含:'未经过验证'
任何想法?
答案 0 :(得分:0)
问题可能是图书馆很长时间没有更新。它有很多分叉,已经更新。
我也有它的一个分支,已修复,而我和其他人已在生产中使用它:WadeShuler/PHP-PayPal-IPN
切换到它,看看是否对您有帮助。请阅读自述文件并查看示例。