由于PayPal不允许多个 IPN 通知,因此我使用 IPN 广播脚本将事务信息发送到两个 IPN 侦听器脚本。 我的主要 IPN 侦听器使用数据在数据库中将交易标记为 PAID;辅助 IPN 侦听器使用数据将佣金分配给引用代理。 问题是每个 IPN 侦听器脚本都需要在自定义变量字段中使用单独的日期。
侦听器 1 需要自定义字段:
<input type="hidden" name="custom" value="' . $transaction_id . '>
侦听器 2 所需的自定义字段:
<input type="hidden" name="custom" value="' . $_SERVER['REMOTE_ADDR']. '>
为了通过PayPal发送这两个变量,我修改了自定义变量:
<input type="hidden" name="custom" value="' . $transaction_id . '|' . $_SERVER['REMOTE_ADDR']. '
当从PayPal接收到 IPN 信息时,我正在使用来自 CodeSeekah 的 IPN 广播脚本将响应传递给两个单独的 IPN 侦听器。
当 IPN 侦听器从PayPal接收信息时,它必须使用 PayPal 验证信息,因此这两个变量都需要包含在 IPN 侦听器脚本中。 但我的问题是,如何自定义 IPN 侦听器以从 IPN 事务中"提取"适当的数据并忽略为其他脚本传递的信息?
@EJP的评论,并建议您消除额外的 IPN 侦听器。 根据您在此处解释的内容,没有必要这样做。 您可以在单个侦听器中执行所需的所有更新。
至于您的具体问题,您可以像这样将各个值从 CUSTOM 参数中提取出来。
$custom_split = explode('|',$_POST['custom']);
$transaction_id = $custom_split[0];
$ip_address = $custom_split[1];