在Paypal上获得无效

时间:2015-06-09 19:47:09

标签: php paypal paypal-ipn

我使用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'总是包含:'未经过验证'

任何想法?

1 个答案:

答案 0 :(得分:0)

问题可能是图书馆很长时间没有更新。它有很多分叉,已经更新。

我也有它的一个分支,已修复,而我和其他人已在生产中使用它:WadeShuler/PHP-PayPal-IPN

切换到它,看看是否对您有帮助。请阅读自述文件并查看示例。