alipayrsaPublicKey = $cfg->alipayrsaPublicKey; # 支付宝公钥 $flag = $aop->rsaCheckV1($_POST, NULL, "RSA2"); if ($flag) { # 身份校验通过,确认为Alipay发送的通知 $order = loyalsoft\pay\OrderNotice::Parse_alipayOrder($params); if ($order != null) { if ($order->Check()) { # 订单校验, 1代表支付成功 if ($order->status == 1) { # 订单状态是成功 $order->UpdateOrderStatus(); # 更新订单状态,->已付款 // if (PLAT == 'tap') { loyalsoft\TapDBUtil::PushPayEvent($order, 'alipay'); # 向tapdb推送充值记录 // } CLog::pay("[notify.zfb] [发货] " . $order->cpOrderId . " >>> " . $order->amount); } else if ($order->status == 2) { # status为2(failed)的情况 $order->UpdateOrderStatus(); # 直接更新订单状态,->支付失败 CLog::pay("[notify.zfb] [不发货] " . $order->cpOrderId); } else { echo 'FAILURE'; CLog::pay("[notify.zfb][处理结果]: FAILURE (未知的支付状态)"); # 日志 return; } echo 'success'; # 返回给sdk server的响应内容 CLog::pay("[notify.zfb][处理结果]: SUCCESS"); # 日志 return; } } CLog::pay("[notify.zfb] [处理结果]: FAILURE (提取参数失败)"); # 日志 echo 'faild!'; // 返回给sdk server的响应内容 ,对于重复多次通知失败的订单,请参考文档中通知机制。 } else { echo 'faild!'; CLog::pay("[notify.zfb] 签名验证失败!"); }