PayPal payment_status根本没有发送

时间:2014-04-18 11:35:29

标签: php paypal paypal-ipn

我正在尝试检查PayPal的IPN付款状态,并且存在问题。我正在使用this

我对欺诈行为进行了一些检查:

if ( $_POST['payment_status'] != 'Completed' ) {
        // simply ignore any IPN that is not completed
        $errmsg .= "Payment not completed! But ".$_POST['payment_status']."\n";
}

问题是 payment_status 未发送,我的代码中未处理付款。 我也发现了与 mc_amount3 mc_gross 相同的问题。 PayPal有一次发送 mc_amount3 ,一次 mc_gross 。我无法在网络或搜索或PayPal中找到信息。

我真的很困惑。

1 个答案:

答案 0 :(得分:0)

来自IPN Variables reference

mc_amount3:正常订阅期间的付款金额,不论货币。 mc_gross:扣除交易费用之前的全部客户付款。相当于美元付款的payment_gross。如果此金额为负数,则表示退款或撤销,这些付款状态中的任何一种都可以是原始交易的全部或部分金额。

就未包含payment_status而言,这是一个应该传递的变量。 payment_status可能会以'待定'或者'已处理'相反,导致脚本失败。尝试写出错误日志中的payment_status是什么。