function pay_chinapnr_callback($in, &$paymentId, &$money, &$message, &$tradeno) { $PgKeyFile = $this->getConf($in["OrdId"], 'key2'); $p_MerId = $in["MerId"]; //商户号 $p_MerDate = $in["MerDate"]; //商户日期 $p_OrdId = $in["OrdId"]; //商户订单 $money = $p_TransAmt = $in["TransAmt"]; //交易金额 $p_TransType = $in["TransType"]; //交易类型 $p_GateId = $in["GateId"]; //网关号 $p_TransStat = $in["TransStat"]; //交易状态 "S"成功 $p_MerPriv = $in["MerPriv"]; //商户私有域 $p_SysDate = $in["SysDate"]; //系统日期 $tradeno = $p_SysSeqId = $in["SysSeqId"]; //系统流水号 $p_ChkValue = $in["ChkValue"]; //签名 $paymentId = $p_OrdId; $pnrObj = new COM("ChinaPnr.SecureLink"); if (strtolower(substr($_ENV["OS"], 0, 7)) == "windows") { $checkout = $pnrObj->VeriSingOrder0($p_MerId, $PgKeyFile, $p_OrdId, $p_TransAmt, $p_MerDate, $p_TransType, $p_TransStat, $p_GateId, $p_MerPriv, $p_SysDate, $p_SysSeqId, $p_ChkValue); } else { $checkout = $pnrObj->VeriSingOrder($p_MerId, $PgKeyFile, $p_OrdId, $p_TransAmt, $p_MerDate, $p_TransType, $p_TransStat, $p_GateId, $p_MerPriv, $p_SysDate, $p_SysSeqId, $p_ChkValue); } if ($checkout == 0) { if ($p_TransStat == "S") { return PAY_SUCCESS; echo "RECV_ORD_ID_" . $p_OrdId; } } }
function callback($in, &$paymentId, &$money, &$message) { $PgKeyFile = $this->getConf($in["OrdId"], 'key2'); $p_MerId = $in["MerId"]; //商户号 $p_MerDate = $in["MerDate"]; //商户日期 $p_OrdId = $in["OrdId"]; //商户订单 $p_TransAmt = $in["TransAmt"]; //交易金额 $p_TransType = $in["TransType"]; //交易类型 $p_GateId = $in["GateId"]; //网关号 $p_TransStat = $in["TransStat"]; //交易状态 "S"成功 $p_MerPriv = $in["MerPriv"]; //商户私有域 $p_SysDate = $in["SysDate"]; //系统日期 $p_SysSeqId = $in["SysSeqId"]; //系统流水号 $p_ChkValue = $in["ChkValue"]; //签名 $paymentId = $p_OrdId; $money = $p_TransAmt; $pnrObj = new COM("ChinaPnr.NetpayClient"); $oldPath = dirname(__FILE__) . "/../../cert/chinapnr/"; $newPath = dirname(__FILE__) . "/../../home/upload/chinapnr/"; $PgKeyFile = file_exists($oldPath . $PgKeyFile) ? $oldPath . $PgKeyFile : $newPath . $PgKeyFile; if (strtolower(substr($_ENV["OS"], 0, 7)) == "windows") { $checkout = $pnrObj->VeriSignOrder0($p_MerId, $PgKeyFile, $p_OrdId, $p_TransAmt, $p_MerDate, $p_TransType, $p_TransStat, $p_GateId, $p_MerPriv, $p_SysDate, $p_SysSeqId, $p_ChkValue); } else { $checkout = $pnrObj->VeriSingOrder($p_MerId, $PgKeyFile, $p_OrdId, $p_TransAmt, $p_MerDate, $p_TransType, $p_TransStat, $p_GateId, $p_MerPriv, $p_SysDate, $p_SysSeqId, $p_ChkValue); } if ($checkout == 0) { if ($p_TransStat == "S") { return PAY_SUCCESS; } else { $message = '支付失败,请立即与商店管理员联系'; return PAY_FAILED; } } else { $message = '签名认证失败,请立即与商店管理员联系'; return PAY_ERROR; } }