【问题标题】:paypal IPN successfully sentpaypal IPN成功发送
【发布时间】:2026-02-07 21:10:02
【问题描述】:

我已经使用代码https://github.com/Quixotix/PHP-PayPal-IPN 设置了一个简单的IPN

但是当我运行以下命令时

<?php
    include('ipnlistener.php');

    $listener = new IpnListener();
    $listener->use_sandbox = true;

    try {
        $verified = $listener->processIpn();
    } catch (Exception $e) {
        // fatal error trying to process IPN.
        exit(0);
    }

if ($verified) {

    if ($verified) {


     mail('myemail@gmail.com', 'Verified IPN', $listener->getTextReport()); 
    }
    else {
    /*
    An Invalid IPN *may* be caused by a fraudulent transaction attempt. It's
    a good idea to have a developer or sys admin manually investigate any 
    invalid IPN.
    */
    mail('myemail@gmail.com', 'Invalid IPN', $listener->getTextReport());
    }
}
?>

我没有从我的服务器收到任何邮件说它从 Paypal 获得了 IPN

【问题讨论】:

  • 为什么你有两次if ($verified)?根据您在代码中的逻辑,内部 else 块永远不会发生,因此当 IPN 无法验证时,您永远不会收到电子邮件。

标签: php paypal paypal-ipn


【解决方案1】:

您需要详细调试,一种方法是将每一行之后的日志写入文件,然后检查导致问题的步骤,也可以直接浏览IPN URL并检查无效IPN的电子邮件是否正常.邮件服务器配置可能存在问题。

【讨论】:

  • 我有其他邮件脚本正常,如何记录服务器接收的内容?
  • @RussellHarrower 你将通过 HTTP POST 方法接收所有数据,你可以记录 POST 数组。